본문 바로가기
개발/Web

[Web] Received fatal alert: handshake_failure 에러

by zuzuu 2022. 3. 8.
반응형

 

이 에러는 서버와 클라이언트간의 TLS 버전이 달라서 발생하는 에러이다.

Received fatal alert: handshake_failure

 

서버는 JDK 1.6이라 TLSv1만 지원을 하고 있다. 따라서 https.protocols을 TLSv1로 지정해야 한다.

jdk 버전 Default Other Support
1.6 TLS 1.0 TLS 1.1(111이후 버전), SSL v3.0
1.7 TLS 1.0 TLS 1.1, TLS 1.2, SSL v3.0
1.8 TLS 1.2 TLS 1.0, TLS 1.1, SSL v3.0

※ JDK 1.6.0_111 이후 TLS1.1 지원, 1.6.0_121 이후 TLS 1.2 지원(단, jsse.enableSNIExtension 등의 옵션 설정은 불가능)

 

해결 방법 1

Run>Run Configurations에서 Tomcat 선택 후 Arguments 탭의 VM arguments에 아래 내용 추가 혹은 apache-tomcat/bin/catalina.sh에 아래 내용 추가하기

-Dhttps.protocols=TLSv1

 

해결 방법 2

System.setProperty() 를 사용하여 https.protocols 속성 지정하기

System.setProperty( "https.protocols", "TLSv1" );

 

그리고 -Djavax.net.debug=all을 추가해주면  SSL/TLS 디버깅이 가능하다.

 

 

728x90
반응형

댓글