Loading

데이터베이스 커넥터 | "encrypt" 속성이 "true"로 설정되고 "trustServerCertificate" 속성이 "false"로 설정되지만 드라이버가 SSL(Secure Sockets Layer) 암호화를 사용하여 SQL Server에 안전하게 연결할 수 없습니다.

게시 일자: Jul 29, 2025
솔루션

증상

Mule 4용 데이터베이스 커넥터를 사용하여 Microsoft SQL 서버에 연결하면 다음 오류가 발생합니다.

java.sql.SQLException: URL jdbc:sqlserver://host:1433;databaseName=testDB에 연결할 수 없음: "encrypt" 속성이 "true"로 설정되고 "trustServerCertificate" 속성이 "false"로 설정되지만 드라이버가 SSL(Secure Sockets Layer) 암호화를 사용하여 SQL Server에 안전하게 연결할 수 없습니다. 오류: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: 요청 대상에 유효한 인증서 경로를 찾을 수 없습니다.

원인

SQL Server 인스턴스의 TLS 인증서는 JVM의 신뢰할 수 있는 기본 매장 또는 trustStore 연결 속성에 구성된 신뢰할 수 있는 매장에서 신뢰할 수 없습니다.

솔루션

이 문제를 해결할 잠재적인 해결 방법은 두 가지입니다.

  1. SQL Server 인스턴스에 자체 서명 인증서만 있을 경우, SQL Server용 Microsoft JDBC 드라이버가 SQL Server TLS 인증서를 검증하지 않도록 trustServerCertificate 속성을 true로 설정합니다. 이 설정은 테스트 환경에서 연결을 허용하는 데 일반적입니다.

    User-added image

  2. 스크린샷 위에 강조 표시된 빨간색 사각형의 trustServerCertificate 속성을 false로 변경하고 다음 연결 속성도 추가합니다. 이 설정은 프로덕션 환경에 권장됩니다.
    - trustStore: 클라이언트가 신뢰하는 인증서 목록을 포함하는 인증서 trustStore 파일에 대한 경로를 지정합니다(파일 이름 포함).
    - trustStorePassword: trustStore 데이터의 무결성 확인에 사용되는 신뢰할 수 있는 매장의 암호를 지정합니다.

    자세한 내용은 다음 링크를 참조하십시오.
    https://learn.microsoft.com/en-us/sql/connect/jdbc/connecting-with-ssl-encryption?view=sql-server-ver16
Knowledge 기사 번호

001117544

 
로드 중
Salesforce Help | Article