MID サーバーを使用した LDAPS が「PKIX path building failed: java.security.cert.CertPathBuilderException」というエラーで失敗するDescriptionLDAPS と MID サーバーの接続をテストしようとすると、次の例外が表示されます。 "sun.security.validator.ValidatorException: PKIX path building failed: java.security.cert.CertPathBuilderException: No issuer certificate for certificate in certification path found." または " sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: TrustAnchor found but certificate validation failed."Causeすべての証明書チェーンが MID サーバーにインストールされていないResolutionインスタンスで以下の 3 つのステップが完了していることを確認してください。 1) LDAP サーバーフォームを開き、LDAP サーバーの URL で URL を LDAP から LDAPS に、ポートを 389 から 636 (デフォルトポート) に変更します。 2) 新しい LDAP サーバーを作成する場合、MID サーバーを選択するたびに、SSL フラグ (フォーム内) はデフォルトで false に設定されます。この動作は無視してください。 3) インスタンスに PEM 証明書をアップロードします ([sys_certificate] テーブルに移動して新しい証明書を作成します)。 接続 URL の変更はすでに行っているため、通信は LDAPS を介してのみ行われます。 MID サーバーからバンドル JRE を使用して証明書をインポートするには、以下の手順に従います。 以下の手順を確認して、バンドルされた JRE を検証します。 注意:このソリューションを実装する前に、外部 JRE が MID サーバーの他の既存の通信に使用されていないことを確認してください。使用する場合は、ServiceNow サポートに連絡して、LDAPS 証明書のインポートに関する問題をさらに調べてください。 常にこれを Sub Prod でテストし、 MID サーバーとの既存のすべての通信が良好であることを確認してください。 この特定の問題に対して、MID サーバーにインストールされている外部 JRE ではなく、MID サーバーパッケージに含まれているバンドル JRE を MID サーバーで使用するには、次のガイドラインを実行する必要があります。 MID サーバーへログオンしますMID サーバーの mid install conf フォルダーの下にある wrapper-override.conf ファイルに移動し、以下の行のチェックを外すかコメント解除して、MID サーバーがバンドルされた JRE を使用するようにします。wrapper.java.command= <外部 JRE のインストールパス> //バンドルされている JRE のパスファイルを保存します 以下の手順に従って、証明書をインポートします。 1.証明書を取得し、ローカルドライブにコピーします (LDAP 管理者から証明書を取得)。 2.keytool を使用して証明書を MID サーバーに書き込みます。keytool では、MID サーバーからの JAVA パスを使用します。 次の記事に従って、MID サーバー用の SSL 証明書を追加します。MID サーバー用の SSL 証明書を追加する 3.MID サーバーを再起動します。 (または) 証明書がない場合は、OpenSSL コマンドを使用して証明書を取得し、証明書をインポートします。 1.LDAP サーバーから証明書を取得します。openssl s_client -connect <Server_name>:636 -showcerts2.証明書の Pem ファイルを保存します。3.keytool を使用して証明書を MID サーバーに書き込みます。keytool では、MID サーバーからの JAVA パスを使用します。 次の記事に従って、MID サーバー用の SSL 証明書を追加します。MID サーバー用の SSL 証明書を追加する 4.MID サーバーを再起動します。 ==== サンプル keytool コマンド: keytool -import -alias MyCA -file "certificatepath " -keystore "<MIDServerPath>\agent\jre\lib\security\cacerts **** 次のコマンドを使用して、証明書リストを確認します。 keytool -list -v -keystore <path>\cacerts * インスタンスの LDAP フォームで [SSL] チェックボックスがオンになっている場合はチェックを外します。 * LDAP サーバーフォームを開き、LDAP サーバーの URL をクロスチェックし、URL は LDAP から LDAPS、ポートは 389 から 636 (デフォルトポート) に変更します。 インスタンスから LDAPS 接続をテストすると、成功するはずです。 Additional InformationLDAP チャネルバインディングと LDAP 署名を有効にするための Microsoft ガイダンスMicrosoft セキュリティアドバイザリー ADV190023