[SQLServer] The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12, TLS11]

2023. 3. 10. 10:05Dev.Program/SpringBoot

728x90
드라이버가 SSL(Secure Sockets Layer) 암호화를 사용하여 SQL Sever로 보안 연결을 설정할 수 없습니다.

좔좔 뜨는 오류^_^

 

개발환경

jdk 1.8버전 / mssql 사용

 

오류내용

드라이버가 SSL(Secure Sockets Layer) 암호화를 사용하여 SQL Sever로 보안 연결을 설정할 수 없습니다.
The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12, TLS11]

 

오류원인

보안 강화 업데이트가 되면서 암호화 알고리즘 중에 보안에 취약한 오래된 버전을 더이상 지원하지 않기 때문에 발생(TLSv1 등등)

 

해결방안

java.security 파일 수정 필요

jdk가 깔려있는 폴더로 들어가면 jre > lib > security 안에 java.security 파일이 있다.

vi 에디터로 수정하면 간단하지만... 난 Notepad를 사용하기 때문에 Notepad++로 해당 파일을 열어줌

jdk.certpath.disabledAlgorithms
jdk.tls.disabledAlgorithms​

>>> 수정이 필요한 곳

TLSv1, TLSv1.1, MD2, MD5, SHA1 등등 뭐가 많이 적혀있을텐데 그 중 TLSv1, TLSv1.1 를 제거

파일 변경 후 서버 재시작하면 에러 로그가 싹 사라지고 정상구동된다!

 

 

728x90