我有一个支持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
}
答案 0 :(得分:0)
您需要将SSLServerSocket
配置为需要或希望客户端身份验证,具体取决于哪些适用。然后,您可以从SSLSocket's SSLSession
获取对等证书(如果已发送)。