如何使用 java 安全地验证服务器套接字?
How can I securely authenticate to a server socket with java?
我写了一个 java 程序,客户端通过套接字(不是 SSLSocket!)连接到服务器。
首先,客户端创建一个 RSA 密钥对,然后将 public 密钥发送到服务器。然后服务器响应 public 密钥,客户端使用该密钥创建 RSA 编码的登录密码以进行身份验证。
这种方式安全吗?如果不安全,我该如何确保密码的安全?
除非您是密码学专家,否则您几乎永远不会自己实现握手协议。
相反,由于我可以假定您使用的是 TCP、UDP 或 HTTP 等协议,因此您可以使用 Netty 等库或仅使用内置的 TLS/SSL 支持。
SSLSocket(我知道你说过你没有使用它)class 没有第 3 方使用。
我写了一个 java 程序,客户端通过套接字(不是 SSLSocket!)连接到服务器。 首先,客户端创建一个 RSA 密钥对,然后将 public 密钥发送到服务器。然后服务器响应 public 密钥,客户端使用该密钥创建 RSA 编码的登录密码以进行身份验证。
这种方式安全吗?如果不安全,我该如何确保密码的安全?
除非您是密码学专家,否则您几乎永远不会自己实现握手协议。
相反,由于我可以假定您使用的是 TCP、UDP 或 HTTP 等协议,因此您可以使用 Netty 等库或仅使用内置的 TLS/SSL 支持。
SSLSocket(我知道你说过你没有使用它)class 没有第 3 方使用。