컴퓨터/기타

JAVA+MSSQL [드라이버가 SSL(Secure Sockets Layer) 암호화를 사용하여 SQL Sever로 보안 연결을 설정할 수 없습니다] - 오류 해결 방법

k1asd1 2024. 4. 19. 14:08
728x90
반응형

작년부터 넥사크로를 이용해서 신규 개발을 진행 중입니다. 우연한 기회에 넥사크로를 접하게 되었는데 독학하려니 정말 어렵습니다.... 그래도 다른 거 배운다는 생각에 열심히 해봅니다.


 

이번에는 넥사크로에서 JSP를 호출하고 JSP에서 MSSQL에 연결하여 어떠한 작업을 하고 그 결과를 받으려고 하는데 JSP와 MSSQL 연결부터 되지 않습니다.

 

간단한 연결 확인 페이지를 만들어서 접속하니 연결 실패라고 나옵니다.

MSSQL 연결 실패

 

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

톰캣 로그

 

검색해 보니 TLS의 보안 관련 문제로 인해 비활성화되어 있으나 연결하려는 SQL 서버에서 해당 TLS 버전을 사용해서 그렇다고 나옵니다.


* 현재 테스트 환경은 JDK 17.0.2, MSSQL 2008 R2 입니다.

 

- 해당 PC에 설치된 jdk의 '\lib\security\' 경로에서 'java.security' 파일을 열어줍니다.(대부분 해당)

- '\lib\security\' 경로에 파일이 없는 경우 '\conf\security\' 경로에서  'java.security' 파일을 열어줍니다.

 

- 아래의 내용 중 ' TLSv1, TLSv1.1'을 삭제합니다.

#jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \
    DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL

 

- 수정

jdk.tls.disabledAlgorithms=SSLv3, RC4, DES, MD5withRSA, \
    DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL

 

- 서버 재시작 후 연결 상태를 확인합니다.

MSSQL 연결 성공


 

이상입니다.

728x90
반응형