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
問題を解決するには、次の手順に従います。
-
アプリケーションで使用されるJava トラストストアを特定します。デフォルトでは、これは通常、Java インストールのセキュリティディレクトリにある
cacertsファイルです。 -
次のコマンドを使用して、トラストストア内のDigiCert証明書を一覧表示します。
<path-to-truststore>をトラストストストアパスに置き換えます。- 実行:
keytool -list -keystore <path-to-truststore> | grep -i "DigiCert" - プロンプトが表示されたら、トラストストアのパスワードを入力します。
-
トラストストアに、Adobe Experience Manager as a Cloud Service エンドポイントに必要なDigiCert ルート証明書と中間証明書が含まれていることを確認します。
DigiCert Global Root G2またはその他のDigiCert ルート/中間証明書などのエントリを探します。 -
特定のDigiCert証明書エイリアスの詳細を表示するには、次を実行します。
keytool -list -v -keystore -alias -
Java アプリケーションが想定されるトラストストアとJava バージョンを使用していることを確認します。
- 実行:
java -version - デフォルトのトラストストアを上書きするカスタム JVM SSL/トラストストア設定(
javax.net.ssl.trustStoreやjavax.net.ssl.trustStoreTypeなど)がないことを確認します。
- 実行:
-
OpenSSLで証明書チェーンが検証されますが、Javaでは検証されない場合、Java トラストストア設定またはDigiCert証明書が欠落している可能性があります。
注:特に指示がない限り、DigiCert証明書を追加または重複してインポートしないでください。
-
必要なDigiCert証明書が存在し、正しいトラストストアが使用されていることを確認したら、アプリケーションを再起動し、SSL ハンドシェイクエラーが解決されていることを確認します。