服务器如何将数字证书传递给客户端/浏览器

时间:2014-10-24 08:34:48

标签: java ssl encryption

我一直在使用 Java 编写服务器来接收客户端请求。它工作正常,但我不知道如何为身份验证模块实现SSL / https。

我已经研究了这些机制,但是当我尝试使用ajax请求在https协议下请求我的服务器时,请求标头和表单数据都是自动加密 ....我认为客户端(在这种情况下是浏览器)应该要求服务器提供加密的公钥。现在,服务器只收到了大量加密字符,并且不知道发生了什么。

所以我的问题是如何以正确的方式实现SSL身份验证,至少我的服务器如何将公钥传递给客户端进行加密。

1 个答案:

答案 0 :(得分:0)

  

我认为客户端(在这种情况下是浏览器)应该要求服务器提供加密的公钥。

没有。 SSL不使用公钥加密。

  

现在服务器刚收到大量加密字符,不知道发生了什么。

您正在接收TLS。

  

我认为客户端(在这种情况下是浏览器)应该要求服务器提供加密的公钥。

没有。见上文。

  

所以我的问题是如何以正确的方式实现SSL身份验证,至少我的服务器如何将公钥传递给客户端进行加密。

您的服务器不必将公钥传递给客户端进行加密,无论如何加密和身份验证是两回事。你是误解的受害者。只需设置密钥对和证书,然后按照JSSE参考指南中的说明使用javax.net.ssl.SSLSocket,