반응형
이 에러는 서버와 클라이언트간의 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
반응형
'개발 > Web' 카테고리의 다른 글
[Web] 동기 방식과 비동기 방식의 차이점 (3) | 2022.05.04 |
---|---|
[Spring Framework] CORS 적용하기 - @CrossOrigin, <mvc:cors>, Filter (0) | 2022.03.11 |
[Web] Restful API란? (1) | 2022.02.21 |
[Spring] Bean 등록 방법 : @Bean vs @Component 차이 (0) | 2022.02.03 |
[Maven] 메이븐 repository에 없는 라이브러리 추가하기 (0) | 2022.02.03 |
댓글