요약
알파메일(alphamail.co.kr) 서비스 기능 중 네이버 메일을 IMAPS 프로토콜로 받아오는 연동 기능이 있다.로컬에서 메일이 정상적으로 받아와지는지 확인 중에 아래와 같은 오류가 발생했다.
javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
SSL 핸드쉐이크 과정에서 지원하지 않는 프로토콜을 사용했다는 오류이다.
jdk 11 버전부터는 TLS 1.0 ~ 1.1를 더 이상 지원하지 않는 것으로 보여 강제로 TLS 1.2를 사용하도록 설정해서 해결했다.
해결
네이버 메일 서비스와 세션을 연결하기 위해서는 시스템의 속성(props) 객체를 매개변수로 전달해야 한다.
전달하기 전에 아래와 같이 속성을 TLSv1.2 이상 사용하도록 셋팅한 후 전달하면 된다.
IMAPS 뿐만 아니라, SMTPS 등 TLS 연결을 사용하는 프로토콜에서는 아래와 같은 설정으로 웬만하면 해결할 수 있을 것이다.
props.setProperty("mail.imaps.ssl.protocols", "TLSv1.2");