我一直在使用 Java 编写服务器来接收客户端请求。它工作正常,但我不知道如何为身份验证模块实现SSL / https。
我已经研究了这些机制,但是当我尝试使用ajax请求在https协议下请求我的服务器时,请求标头和表单数据都是自动加密 ....我认为客户端(在这种情况下是浏览器)应该要求服务器提供加密的公钥。现在,服务器只收到了大量加密字符,并且不知道发生了什么。
所以我的问题是如何以正确的方式实现SSL身份验证,至少我的服务器如何将公钥传递给客户端进行加密。
答案 0 :(得分:0)
我认为客户端(在这种情况下是浏览器)应该要求服务器提供加密的公钥。
没有。 SSL不使用公钥加密。
现在服务器刚收到大量加密字符,不知道发生了什么。
您正在接收TLS。
我认为客户端(在这种情况下是浏览器)应该要求服务器提供加密的公钥。
没有。见上文。
所以我的问题是如何以正确的方式实现SSL身份验证,至少我的服务器如何将公钥传递给客户端进行加密。
您的服务器不必将公钥传递给客户端进行加密,无论如何加密和身份验证是两回事。你是误解的受害者。只需设置密钥对和证书,然后按照JSSE参考指南中的说明使用javax.net.ssl.SSLSocket,
。