티스토리 뷰

반응형

다른 서버와 API 통신을 하려고 하니 아래와 같은 에러를 받게 되었습니다.

javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure

 

구글에 검색을 해보니, API 통신을 하는 서버와 클라이언트가 서로 사용하는 SSL/TLS 버전이 맞지 않아서 나타난 에러 였습니다.

 

 protocols and algorithms supported in each JDK 

이미지 출처 : 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

 

SSL/TLS의 이해와 TLS 1.3으로 업그레이드해야 하는 이유

웹 초창기부터, SSL(Secure Sockets Layer) 프로토콜과 그 후예인 TLS(Transport Layer Security)는 암호화와 보안을 제공해 인터넷 상거래를 가능하게 만들었다. SSL, TLS와 같은 프로토콜은 점점 더 정교해져 가는 사이버 공격 양상에 발맞춰 10년이 넘는 기간에 걸쳐 지속적으로 업데이트되어 왔다.  ⓒ Getty Images Bank 이제 곧 TLS의 차세대 메이저 버전인 T

www.itworld.co.kr

 

https://opentutorials.org/course/228/4894

 

HTTPS와 SSL 인증서 - 생활코딩

HTTPS VS HTTP HTTP는 Hypertext Transfer Protocol의 약자다. 즉 Hypertext 인 HTML을 전송하기 위한 통신규약을 의미한다. HTTPS에서 마지막의 S는 Over Secure Socket Layer의 약자로 Secure라는 말을 통해서 알 수 있듯이 보안이 강화된 HTTP라는 것을 짐작할 수 있다. HTTP는 암호화되지 않은 방법으로 데이터를 전송하기 때문에 서버와 클라이언트가 주고 받는 메시지를 감청하는 것이

opentutorials.org

 

반응형

'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
링크
«   2024/04   »
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
글 보관함