2017-10-04 12 views
0

나는 자바 8 아파치 HttpClient를 (4.5.2)를 사용하여 그리고 난이 오류를 얻을 :자바 SNI 알 수없는 이름

javax.net.ssl.SSLProtocolException: handshake alert: unrecognized_name

내가 사용하는 것을 주위에 얻을 수 있다는 것을 알고

System.setProperty("jsse.enableSNIExtension", "false");

하지만 다른 https 사이트는 더 이상 연결할 수 없습니다. 이 두 사이트에서

나는 단지 내가 SNI 여부 사용 가능 여부에 따라 하나에 연결할 수 있지만 나를 모두 성공적으로 연결할 수있는 설정을 발견하지 않았습니다 :

누구나 재생산하거나 해결할 수 있습니까?

답변

0

이 예외는 서버가 요청한 FQDN과 일치하지 않는 인증서를 반환하기 때문에 발생합니다. 클라이언트 측에서 SNI를 사용하지 않는 것이 적절한 해결책이 아니므로 HttpClient doc

SSLContext sslContext = SSLContexts.createSystemDefault(); 
SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(
    sslContext, 
    NoopHostnameVerifier.INSTANCE); 
설명 된대로 호스트 이름 확인을 사용 중지해야합니다.