2016-12-28 15 views
1

複数のrsyslogクライアントを受信できるSSL対応のtcpサーバーがあります。各クライアントには、サーバーのトラストストアに追加された独自の証明書があります。この設定はうまくいきます。問題は、ソケットが接続を受け入れた後にCN、ロケーションなどのクライアント証明書情報を取得する方法があるかどうかです。JAVA SSL:クライアント証明書情報を取得する方法

以下は、単純なtcpサーバーのコード例です。

SSLServerSocketFactory sf = (SSLServerSocketFactory) SSLServerSocketFactory.getDefault(); 
ServerSocket ss = sf.createServerSocket(514); 
while(true){ 
    SSLSocket s = (SSL)ss.accept();   
    // here I need to get client certificate information 

} 

答えて

0

は、あなたはそれらが適用されるのかに応じて、クライアント認証を必要とするか、またはたいSSLServerSocketを設定する必要があります。次に、送信された場合、ピア証明書をSSLSocket's SSLSessionから取得できます。

関連する問題