我有一个带有一台服务器和一个客户端的客户端/服务器进程。
连接设置如下所示:
System.setProperty("javax.net.ssl.trustStore", "path/to/store");
System.setProperty("javax.net.ssl.trustStorePassword", "passwd");
SSLSocketFactory sslsocketfactory = (SSLSocketFactory) SSLSocketFactory.getDefault();
sslsocket = (SSLSocket) sslsocketfactory.createSocket(InetAddress.getLocalHost(), port);
1:1,这很好用。现在我正在扩展它,以便服务器正在侦听多个客户端的多个端口。每个连接到服务器的客户端都应该在具有特定信任库的特定端口上执行此操作。
如果我在服务器端注册了两个信任库,当我尝试建立客户端连接时,我会收到错误消息:
javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_unknown Received fatal alert: certificate_unknown
我一直在以堆栈溢出为例,但一切似乎都过于复杂。有没有一种简单的方法来管理这个?或者一个进程不应该使用多个密钥存储的令人信服的理由?