2016-12-28 88 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中获得对等证书。