サーバー証明書を検証できない: トラブルシューティングと解決策
問題の説明:
試行時Java を使用してサーバーとの安全な接続を確立すると、次のエラー メッセージが表示される場合があります。要求されたターゲットへの有効な証明書パスを見つけます。"
考えられる原因と解決策:
サーバーの自己署名証明書を cacerts トラスト ストアにインポートした後、エラーが継続します。これは、Glassfish サーバーが正しい cacerts ファイルにアクセスしていない可能性があることを示唆しています。
トラブルシューティングの手順:
-
デバッグ プロパティの設定: 以下を実行しますコマンド:
java -Djavax.net.debug=all -Djavax.net.ssl.trustStore=trustStore ...
ログイン後にコピー
「trustStore」を、サーバーの証明書を含むトラスト ストアの実際のファイルパスに置き換えます。
-
デバッグ出力の確認:デバッグ出力で、どのトラスト ストアが使用されているかに関する手がかりが得られます。検索するキーワードには、「TrustStore:」および「証明書チェーン」などがあります。
-
信頼チェーンの検証: サーバーの証明書に、信頼されたルート証明書にまで及ぶ有効な信頼チェーンがあることを確認します。 cacerts トラストストア。
-
サーバーの再起動: に変更を加えた後、Glassfish サーバーを再起動します。 cacerts ファイルまたはデバッグ プロパティ。
-
代替トラスト ストアの場所: サーバーの JVM 起動引数または構成設定を確認して、Glassfish サーバーが予期された cacerts ファイルの場所を使用していることを確認することを検討してください。
追加注:
- キーストアには、サーバーが ID を検証するために使用する秘密キーと証明書が含まれています。
- トラスト ストアには、クライアントが使用する信頼された機関の証明書が含まれています。サーバーの証明書を確認してください。
- ファイルが変更されていた場合、またはサーバーが再インストールされていた場合、サーバーの証明書を正しい cacerts ファイルに再インポートする必要がある場合があります。再構成されました。
以上が証明書をインポートした後も Java アプリケーションで「サーバー証明書を検証できません」と表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。