>Java >java지도 시간 >Java 1.7로 업그레이드한 후 'Unrecognized_Name' SSL 핸드셰이크 경고가 나타나는 이유는 무엇입니까?

Java 1.7로 업그레이드한 후 'Unrecognized_Name' SSL 핸드셰이크 경고가 나타나는 이유는 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-23 10:00:25118검색

Why Do I Get an

Java 1.7.0으로 업그레이드한 후 SSL 핸드셰이크 경고: "Unrecognized_Name" 오류

Java 1.7로 업그레이드하면 사용자에게 다음과 같은 문제가 발생합니다. HTTPS 연결을 설정할 때 "unrecognized_name" 오류가 발생했습니다. 이 문제는 기본적으로 활성화된 Java 7의 SNI(서버 이름 표시) 지원으로 인해 발생합니다.

원인

잘못 구성된 특정 서버에서는 "인식할 수 없는 이름"이 발생합니다. SSL 핸드셰이크 중 경고. 안타깝게도 Java는 이 경고를 무시하지 못하는 몇 안 되는 클라이언트 중 하나입니다.

해결 방법

이 문제를 해결하려면 사용자는 다음을 사용하여 SNI 지원을 비활성화할 수 있습니다.

java -Djsse.enableSNIExtension=false yourClass

또는 Java에서 속성을 설정할 수도 있습니다. 코드:

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

참고: SSL 작업을 수행하기 전에 이 속성을 설정해야 합니다. 나중에 변경해도 SNI 상태에 영향을 주지 않습니다.

SNI를 위한 하이브리드 솔루션 보존

SNI를 완전히 비활성화하는 것이 불가능할 경우 다음 하이브리드 접근 방식을 고려하세요.

  1. 원하는 호스트 이름으로 SSLSocket을 생성하고 핸드셰이크를 시도하세요.
  2. "unrecognized_name" 예외가 발생하면 비활성화할 호스트 이름을 지정하지 않고 다시 시도하세요. SNI.
  3. 이 접근 방식을 사용하면 잘못 구성된 서버에 대한 폴백과 함께 SNI를 사용할 수 있습니다.

위 내용은 Java 1.7로 업그레이드한 후 'Unrecognized_Name' SSL 핸드셰이크 경고가 나타나는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.