我正在用java构建一个网络认证系统。我想用 SSL 加密我的连接,所以我使用 SSLServerSocket。我用 keytool 生成了一个密钥库:(在 ssl 目录中)
keytool -genkey -keystore myKeystore -keyalg RSA
然后在我的服务器类中:
System.setProperty("javax.net.ssl.keyStore", "ssl/myKeystore");
System.setProperty("javax.net.ssl.keyStorePassword", "123456");
然后在我的客户中:
System.setProperty("javax.net.ssl.trustStore", "ssl/myKeystore");
System.setProperty("javax.net.ssl.trustStorePassword", "123456");
这行得通,但我不能依赖客户端来制作密钥库。
我的目标是一个类似 SSH 的模型:客户端有一个私钥,它将发送到服务器,服务器使用公钥验证它。
我不能使用简单的 RSA 密钥文件而不是密钥库吗?