JAVA SSL:如何获取客户端证书信息

时间:2016-12-28 16:07:02

标签: java ssl jsse

我有一个支持SSL的tcp服务器,可以侦听多个rsyslog客户端。每个客户端都有自己的证书,该证书将添加到服务器的信任库中。此设置工作正常。问题是在套接字接受连接后是否有办法获取CN,位置等客户端证书信息?

以下是简单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

}

1 个答案:

答案 0 :(得分:0)

您需要将SSLServerSocket配置为需要或希望客户端身份验证,具体取决于哪些适用。然后,您可以从SSLSocket's SSLSession获取对等证书(如果已发送)。