티스토리 뷰
javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
055055 2019. 7. 23. 10:12다른 서버와 API 통신을 하려고 하니 아래와 같은 에러를 받게 되었습니다.
javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
구글에 검색을 해보니, API 통신을 하는 서버와 클라이언트가 서로 사용하는 SSL/TLS 버전이 맞지 않아서 나타난 에러 였습니다.
이미지 출처 : https://blogs.oracle.com/java-platform-group/diagnosing-tls,-ssl,-and-https
제가 운영하는 서버는 JDK 8을 사용하여 TLSv1.2 버전의 TLS Protocols를 사용하고 있습니다.
운영팀에 요청을 해서 client(통신 서버)에서 TLSv1.0으로 요청을 보내는 것을 확인하였고, 저희 서버에서 버전을 낮출 수 없기에, TLSv1.2버전을 호환할 수 있도록 설정해달라고 요청하여 정상 동작 확인하였습니다.
JDK7을 사용하는 분들은 톰캣 설정 또는 System.property 설정을 통해 TLSv1.2와 통신이 가능하도록 설정해 줄 수 있습
니다.
openssl s_client -connect hostname:port 로 client의 TLS버전을 알 수 있다고 하는데.. 저는 아래 사진과 같이 버전이 TLSv1.2로 나오지만 사실은 1.0이었습니다. 이부분은 잘 모르겠습니다. ㅜ
SSL? : 보안소켓계층(Secure Socker Layer)으로 넷스케이프사에서 개발한 인터넷 보안 프로토콜이다.
출처: https://ko.wikipedia.org/wiki/SSL
TLS : 인터넷에서의 정보를 암호화해서 송수신하는 프로토콜. 넷스케이프 커뮤니케이션스사가 개발한 SSL(Secure Sockets Layer)에 기반한 기술로, 국제 인터넷 표준화 기구에서 표준으로 인정받은 프로토콜이다. 표준에 명시된 정식 명칭은 TLS지만 아직도 SSL이라는 용어가 많이 사용되고 있다.
출처 : https://namu.wiki/w/TLS#s-1.3.4
이러한 SSL/TLS 인증서를 사용하면 웹사이트에서의 정보전송이 암호화 프로토콜을 통해 안전하게 전송됩니다.
이를 통해 스니핑, 데이터변조, 피싱 등을 방지할 수 있습니다.
SSL/TLS 관련해서는 아래 사이트를 참고하여 공부하시면 좋을 것 같습니다.
http://www.itworld.co.kr/news/113007
https://opentutorials.org/course/228/4894
'jvm언어관련 > java' 카테고리의 다른 글
JVM 이해하기 (0) | 2019.09.18 |
---|---|
java.lang.UnsupportedClassVersionError (0) | 2019.09.17 |
@NotEmpty @NotNull @NotBlank (0) | 2019.06.12 |
Catch Timeout Exception (0) | 2019.05.16 |
이것이 자바다 -chapter05 : 참조 타입 (0) | 2019.04.21 |
- Total
- Today
- Yesterday
- 뱅셀 유전자
- 슬랙
- update query multi row
- springboot https
- update query set multiple
- 슬랙봇
- 몽고DB 완벽가이드
- MSSQL
- update query
- 슬랙 /
- effectivejava
- update set multi
- spring-boot-starter-data-redis
- 뱅크샐러드
- 뱅크샐러드 유전자
- 업데이트 쿼리
- visual studio code
- gradle
- update set multiple
- 이것이 자바다
- update query mutiple row
- 그레이들
- multiple row update
- vue.js
- java
- 이펙티브자바
- 다중 업데이트
- SpringBoot
- Slack
- 싱글턴
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |