ADOBE EXPERIENCE MANAGER AS A CLOUD SERVICEでSSLHandshakeException PKIX パスの構築に失敗しました

Adobe Experience Manager as a Cloud Serviceでは、Java ベースのアプリケーションサーバーがAEMaaCS エンドポイントへの接続に失敗し、PKIX パス構築に失敗したメッセージを含むSSL ハンドシェイクエラーが表示されます。 これは、Javaがエンドポイントの信頼できる証明書チェーンを確立できない場合に発生します。 この問題を修正するには、Java トラストストアの設定を確認し、必要なDigiCert証明書が存在し、信頼されていることを確認します。

説明 description

環境

  • Adobe Experience Manager as a Cloud Service(すべてのバージョン)
  • Java ベースの内部アプリケーションサーバー

問題/症状

  • PKIX パスの構築に失敗し、Java アプリケーションがAEMaaCS エンドポイントに接続できない / SSLHandshakeException エラー。
  • 同じサーバーからのOpenSSL検証が成功します。

原因

アプリケーションで使用されるJava ランタイムは、AEMaaCS エンドポイントに必要なDigiCert ルートまたは中間証明書を信頼せず、証明書チェーンの検証に失敗します。

解決策 resolution

問題を解決するには、次の手順に従います。

  1. アプリケーションで使用されるJava トラストストアを特定します。デフォルトでは、これは通常、Java インストールのセキュリティディレクトリにあるcacerts ファイルです。

  2. 次のコマンドを使用して、トラストストア内のDigiCert証明書を一覧表示します。

    1. <path-to-truststore>をトラストストストアパスに置き換えます。
    2. 実行:keytool -list -keystore <path-to-truststore> | grep -i "DigiCert"
    3. プロンプトが表示されたら、トラストストアのパスワードを入力します。
  3. トラストストアに、Adobe Experience Manager as a Cloud Service エンドポイントに必要なDigiCert ルート証明書と中間証明書が含まれていることを確認します。DigiCert Global Root G2またはその他のDigiCert ルート/中間証明書などのエントリを探します。

  4. 特定のDigiCert証明書エイリアスの詳細を表示するには、次を実行します。

    keytool -list -v -keystore -alias

  5. Java アプリケーションが想定されるトラストストアとJava バージョンを使用していることを確認します。

    1. 実行:java -version
    2. デフォルトのトラストストアを上書きするカスタム JVM SSL/トラストストア設定(javax.net.ssl.trustStoreやjavax.net.ssl.trustStoreTypeなど)がないことを確認します。
  6. OpenSSLで証明書チェーンが検証されますが、Javaでは検証されない場合、Java トラストストア設定またはDigiCert証明書が欠落している可能性があります。

    注:特に指示がない限り、DigiCert証明書を追加または重複してインポートしないでください。

  7. 必要なDigiCert証明書が存在し、正しいトラストストアが使用されていることを確認したら、アプリケーションを再起動し、SSL ハンドシェイクエラーが解決されていることを確認します。

recommendation-more-help
experience-cloud-kcs-help-kbarticles