Loading
Salesforce から送信されるメールは、承認済ドメインからのみとなります続きを読む

データベースコネクタの「encrypt」プロパティを「true」、「trustServerCertificate」プロパティを「false」に設定しているが、ドライバーが Secure Sockets Layer (SSL) 暗号化を使用して SQL Server への安全な接続を確立できない

公開日: Jul 29, 2025
解決策

問題

Mule 4 のデータベースコネクタを使用して Microsoft SQL Server に接続するときに、次のエラーが発生します。

java.sql.SQLException:Cannot get connection for URL jdbc:sqlserver://host:1433;databaseName=testDB: "encrypt" property is set to "true" and "trustServerCertificate" property is set to "false" but the driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption:Error:PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target (java.sql.SQLException:URL jdbc:sqlserver://host:1433;databaseName=testDB に接続できません: 「encrypt」プロパティは「true」、「trustServerCertificate」プロパティは「false」に設定されているものの、ドライバーが Secure Sockets Layer (SSL) 暗号化を使用して SQL Server への安全な接続を確立できません: エラー: PKIX パスの構築に失敗しました: sun.security.provider.certpath.SunCertPathBuilderException: 要求されたターゲットへの有効な証明書パスが見つかりません)

原因

SQL Server インスタンスの TLS 証明書は、JVM のデフォルトのトラストストアまたは trustStore 接続プロパティで設定されたトラストストアで信頼されません。

ソリューション

この問題に対しては次の 2 つのソリューションがあります。

  1. SQL Server インスタンスに自己署名証明書のみ含まれる場合は、trustServerCertificate プロパティを true に設定して、SQL Server の Microsoft JDBC ドライバーが SQL Server TLS 証明書を検証しないようにします。この設定はテスト環境で接続を許可する場合によく使用されます。

    ユーザーが追加した画像

  2. 上のスクリーンショットの赤い長方形でハイライトされている trustServerCertificate プロパティを false に変更し、次の接続プロパティも追加します。この設定は本番環境で推奨されます。
    - trustStore: クライアントが信頼する証明書のリストが含まれる certificate trustStore ファイルへのパス (ファイル名を含む) を指定します。
    - trustStorePassword: TrustStore データの整合性の確認に使用されるトラストストアのパスワードを指定します。

    詳細は、次のリンクを参照してください。
    https://learn.microsoft.com/en-us/sql/connect/jdbc/connecting-with-ssl-encryption?view=sql-server-ver16
ナレッジ記事番号

001117544

 
読み込み中
Salesforce Help | Article