1つのサーバーと1つのクライアントを持つクライアント/サーバープロセスがあります。
接続設定は次のようになります。
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、これは正常に機能します。現在、サーバーが複数のクライアントの複数のポートでリッスンするように拡張しています。サーバーに接続する各クライアントは、特定のトラストストアを備えた特定のポートで接続する必要があります。
サーバー側で2つのトラストストアを登録すると、クライアント接続を確立しようとすると、次のエラーが発生します。
javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_unknown Received fatal alert: certificate_unknown
例としてスタックオーバーフローを調べてきましたが、すべてが非常に複雑に見えます。これを管理する簡単な方法はありますか?または、1つのプロセスで複数のキーストアを使用すべきではないという説得力のある理由はありますか?