Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.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 SSL如何保护数据免受嗅探?_Java_Security_Ssl_Encryption - Fatal编程技术网

Java SSL如何保护数据免受嗅探?

Java SSL如何保护数据免受嗅探?,java,security,ssl,encryption,Java,Security,Ssl,Encryption,我有一个小网站,它的安全性对我很重要。我没有钱买SSL证书,所以我想自己制作一个(理论上是用java,尽管我仍然不知道如何在服务器端解密它)。用户不会像信任SSL那样信任它,但它会提供我所寻找的安全性 我读了几篇关于SSL的文章,我想我了解了它背后的数学原理,但我不明白它是如何防止嗅探的。如果SSL对客户端计算机上的密码/信息/任何内容进行加密,然后将其发送到服务器进行解密,那么嗅探器嗅探编码的密码并将其发送到服务器会有什么问题 我没有钱买SSL证书 你不能不这样做。你已经浪费了比证书花费更多的

我有一个小网站,它的安全性对我很重要。我没有钱买SSL证书,所以我想自己制作一个(理论上是用java,尽管我仍然不知道如何在服务器端解密它)。用户不会像信任SSL那样信任它,但它会提供我所寻找的安全性

我读了几篇关于SSL的文章,我想我了解了它背后的数学原理,但我不明白它是如何防止嗅探的。如果SSL对客户端计算机上的密码/信息/任何内容进行加密,然后将其发送到服务器进行解密,那么嗅探器嗅探编码的密码并将其发送到服务器会有什么问题

我没有钱买SSL证书

你不能不这样做。你已经浪费了比证书花费更多的时间

所以我想自己做一个(理论上是用java)

不仅仅是JavaJRE

用户不会像信任SSL那样信任它,但它会提供我所寻找的安全性

如果用户不信任它,它就不会

如果SSL对客户端计算机上的密码/信息/任何内容进行加密,然后将其发送到服务器进行解密,那么嗅探器嗅探编码的密码并将其发送到服务器会有什么问题


它比这要复杂得多。客户端通过PKI和服务器的证书验证服务器的身份。然后客户端和服务器使用您提到的数学协商对称会话密钥。密钥本身永远不会传输。数据使用此密钥加密,并与显示消息是否完整。由于加密,数据是私有的;并且由于密钥协商的方式,SSL还提供了重放攻击的抗毁性。

您不“购买SSL”。您购买SSL证书。自签名证书可以避免在与服务器交谈时嗅探。但是,没有客户端确定它们是安全的与您的服务器交谈,而不是与拥有自签名证书的其他人交谈,会劫持流量。要解释SSL有点过火,请参阅。关键是双方都有一部分秘密。现在一些SSL证书是免费的。例如:“不仅仅是Java JRE。”为什么不呢?因为JRE中没有任何公共文件可以生成新的证书。这不会改变问题。为什么不呢?我可以通过url与服务器“对话”,没有?JRE中仍然没有任何公共文件可以生成证书。