SSL 핸드셰이크 경고: Java 1.7 업그레이드 후 인식할 수 없는_이름 오류
문제 설명:
이후 Java 1.7로 업그레이드하면 사용자에게 다음과 같은 문제가 발생할 수 있습니다. 웹 서버에 SSL 연결을 설정할 때 "SSLProtocolException: 핸드셰이크 경고: unrecognized_name" 오류가 발생했습니다. 이 문제는 일반적으로 자체 서명되었거나 잘못 구성된 서버 인증서에 액세스하려고 할 때 발생합니다.
원인:
Java 1.7에서는 기본적으로 SNI(서버 이름 표시)에 대한 지원을 도입합니다. 대부분의 웹 서버는 SNI를 효과적으로 관리하지만 잘못 구성된 특정 서버는 SSL 핸드셰이크에서 "인식할 수 없는 이름" 경고를 반환할 수 있으며, 이는 Java를 제외한 대부분의 클라이언트에서 무시됩니다.
해결 방법:
이 문제를 해결하려면 다음 중 하나를 사용하세요. 해결 방법:
명령줄을 통해 SNI를 비활성화합니다.
다음 명령줄 옵션을 사용하여 애플리케이션을 실행합니다.
java -Djsse.enableSNIExtension=false yourClass
이렇게 하면 전역적으로 비활성화됩니다. 전체 애플리케이션에 대한 SNI
Java에서 SNI 비활성화 코드:
또는 SSL 작업 전에 "jsse.enableSNIExtension" 속성을 설정하여 프로그래밍 방식으로 SNI를 비활성화할 수 있습니다.
System.setProperty("jsse.enableSNIExtension", "false");
인식되지 않는_이름 경고 처리:
잘못 구성된 서버를 지원하고 싶다면 SNI를 계속 활용하는 동안:
중요 사항:
SNI를 비활성화하면 보안 모범 사례가 손상될 수 있습니다. 가능하다면 이 문제를 방지하려면 SNI를 올바르게 지원하도록 서버를 구성하세요.
위 내용은 Java 1.7로 업그레이드한 후 'SSLProtocolException: handshake warning: unrecognized_name' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!