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

javassl:如何获取客户端证书信息,java,ssl,jsse,Java,Ssl,Jsse,我有一个启用SSL的tcp服务器,可以侦听多个rsyslog客户端。每个客户端都有自己的证书,该证书添加到服务器的信任库中。此设置工作正常。t问题是在套接字接受连接后,是否有方法获取客户端证书信息,如CN、位置等 下面是简单tcp服务器的代码示例 SSLServerSocketFactory sf = (SSLServerSocketFactory) SSLServerSocketFactory.getDefault(); ServerSocket ss = sf.createServerSoc

我有一个启用SSL的tcp服务器,可以侦听多个rsyslog客户端。每个客户端都有自己的证书,该证书添加到服务器的信任库中。此设置工作正常。t问题是在套接字接受连接后,是否有方法获取客户端证书信息,如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

}

您需要将
SSLServerSocket
配置为需要或想要客户端身份验证,具体取决于哪个应用程序。然后,您可以从
SSLSocket的SSLSession
中获取对等证书(如果已发送)