2016-12-28 1 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에서 피어 인증서를 가져올 수 있습니다.

관련 문제