IT/DB
DBeaver DB Driver 불가(Windows trust store)
xego
2025. 3. 12. 10:57
HeidiSQL은 정상 접속이 되는데 DBeaver는 접속이 안되는 증상이 있다.
DBeaver에서 데이터베이스 연결 시도 시 다음과 같은 오류 메시지가 표시가 되는데
Network error
Reason:
Network unavailable due to certificate issue.
Try changing the setting Use Windows trust store in Preferences->Connections and restart DBeaver.
It might help if you haven't overridden trust store.
javax.net.ssl.SSLHandshakeException:PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException:
unable to find valid certification path to requested target
SSL 핸드셰이크 과정에서 인증서 검증 실패로 인해 발생한다.
DBeaver가 기본적으로 Windows 신뢰 저장소(Windows Trust Store)를 사용하여 SSL 인증서를 검증 |
데이터베이스 서버의 SSL 인증서가 Windows 신뢰 저장소에 등록되어 있지 않거나 자체 서명된 인증서를 사용하는 경우 인증서 경로 검증에 실패 |
sun.security.provider.certpath.SunCertPathBuilderException 오류는 Java의 인증서 경로 검증 메커니즘이 유효한 인증서 경로를 찾지 못함 |
그렇다면 DBeaver에서 어떻게 해야할까
윈도우->설정
기본적으로 security 부분의 Use Windows Trust Store 가 체크되어있다.
체크해제 후 프로그램을 재실행한다.
데이터베이스->드라이버관리자->edit 접속하여
Libraries에서 Download/update를 진행해주도록 하자.
정상적으로 받아올 것이다.
DBeaver는 Java 기반 애플리케이션으로, Java의 SSL 인증서 검증 메커니즘을 사용하는데.
이 메커니즘은 다음과 같이 작동한다.
SSL 핸드셰이크 과정에서 서버는 자신의 인증서를 클라이언트(DBeaver)에게 전송 |
DBeaver는 이 인증서가 신뢰할 수 있는 인증 기관(CA)에 의해 서명되었는지 확인 |
기본적으로 DBeaver는 Windows 신뢰 저장소를 사용하여 이 검증을 수행 |
인증서가 신뢰할 수 있는 CA에 의해 서명되지 않았거나, 자체 서명된 인증서인 경우 검증에 실패 |
검증 실패 시 PKIX path building failed 오류가 발생하며, 이는 인증서 검증 경로를 구축할 수 없음을 의미 |
> Use Windows Trust Store 옵션을 비활성화하면 DBeaver는 Java의 기본 신뢰 저장소를 사용하게 되며, 이는 Windows 신뢰 저장소와는 다른 인증서 세트를 포함할 수 있다
■ 차이점
HeidiSQL | DBeaver |
데이터베이스 네이티브 클라이언트 라이브러리 (MySQL/MariaDB의 경우 libmysql.dll 같은)를 통해 연결 |
JDBC 드라이버를 사용하는 Java 기반으로 구축 |
네이티브 라이브러리는 기본적으로 인증서 검증이 더 유연한 경우가 많음. | SSL 연결을 위해 Java 보안 소켓 확장(JSSE)을 사용 |