Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在桌面应用程序和远程服务器之间创建安全连接?_Java_Python_Security_Ssl_Encryption - Fatal编程技术网

Java 在桌面应用程序和远程服务器之间创建安全连接?

Java 在桌面应用程序和远程服务器之间创建安全连接?,java,python,security,ssl,encryption,Java,Python,Security,Ssl,Encryption,我有一个桌面应用程序,需要与远程服务器安全通信 所有数据都必须加密。 这也意味着第三方不能更改数据 任何人都不能两次重新发送相同的数据(重播攻击) 列表项 服务器是使用restful API设置的,因此桌面客户端将进行https(get、post、push和delete)调用 我知道SSL证书是不够的。有这样的工具将退出证书并向攻击者显示纯文本 我的问题不是关于一般的加密技术。我想知道在现实世界中,提供完美的前向保密最常用的做法是什么 如果服务器是用python编写的,而客户端是用java编

我有一个桌面应用程序,需要与远程服务器安全通信

  • 所有数据都必须加密。
    • 这也意味着第三方不能更改数据
  • 任何人都不能两次重新发送相同的数据(重播攻击)
  • 列表项
  • 服务器是使用restful API设置的,因此桌面客户端将进行https(get、post、push和delete)调用

    我知道SSL证书是不够的。有这样的工具将退出证书并向攻击者显示纯文本

    我的问题不是关于一般的加密技术。我想知道在现实世界中,提供完美的前向保密最常用的做法是什么

    如果服务器是用python编写的,而客户端是用java编写的,那么我可以看一些教程或库吗?

    SSL听起来正是这个场景的解决方案。您关于中间人攻击的声明忽略了一个关键点—您提到的工具要求其连接被拦截的客户端之前已设置为信任该工具的CA证书(它使用该证书作为被拦截的服务器进行身份验证)。如果您正确地验证了服务器(以及可选的客户端)证书,那么中间人攻击应该没有问题。SSL同样可以防止第三方的重播攻击

    完美的前向保密是一个独立的主题,但SSL中也有可用的PFS机制(例如,使用Diffie-Hellman临时密钥交换)


    正如其他人所提到的,StackOverflow的主题与教程/库的建议无关。

    我希望您找到您想要的内容,但请记住,
    要求我们推荐或查找工具、库或喜爱的非现场资源的问题与Stack Overflow的主题无关。