ホームページ > Java > &#&チュートリアル > 「sun.security.provider.certpath.SunCertPathBuilderException: 要求されたターゲットへの有効な証明書パスが見つかりません」を解決するにはどうすればよいですか?

「sun.security.provider.certpath.SunCertPathBuilderException: 要求されたターゲットへの有効な証明書パスが見つかりません」を解決するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-21 19:18:12
オリジナル
339 人が閲覧しました

How to Resolve

「sun.security.provider.certpath.SunCertPathBuilderException: 要求されたターゲットへの有効な証明書パスが見つかりません」例外の解決

提供されたコードHTTPS サーバーからファイルをダウンロードしようとしましたが、証明書関連のエラーが発生しました。このエラーは、サーバーがクライアントの JVM によって信頼されていない自己署名証明書を提示した場合によく発生します。

この問題に対処するには、サーバーの証明書を信頼するようにクライアントに指示できます。方法は次のとおりです:

ブラウザを使用してサーバーの証明書を取得します

  1. ブラウザで HTTPS サーバーにアクセスします。
  2. の鍵アイコンをクリックしますアドレス バーをクリックして証明書の詳細を表示します。
  3. 証明書をファイルとしてエクスポートします。ファイル (通常は .cer または .crt 拡張子が付きます)。

JVM のトラストストアに証明書を追加します

これを行うには 2 つの方法があります:

  • 編集JAVA_HOME/jre/lib/security/cacerts:

    1. Java keytool ユーティリティを使用して、/JAVA_HOME/jre/lib/security/ にある cacerts ファイルを開きます。
    2. -importcert コマンドを使用して、エクスポートされた証明書をインポートします。例:

      keytool -keystore cacerts -importcert -file my_server_cert.cer
      ログイン後にコピー
  • -Djavax.net.ssl.trustStore パラメータを使用します:

    Java システムを設定して別のトラストストアの場所を指定するproperty:

    java -Djavax.net.ssl.trustStore=/path/to/my_truststore
    ログイン後にコピー

注: cacerts ファイルの場所に影響するため、必ず正しい JDK/JRE バージョンを使用してください。

証明書を信頼すると、信頼できる CA が存在しない場合でも、クライアントがサーバーと通信することが許可されます。ただし、サーバーの証明書が信頼できない場合、セキュリティ リスクが生じる可能性があることに注意することが重要です。

以上が「sun.security.provider.certpath.SunCertPathBuilderException: 要求されたターゲットへの有効な証明書パスが見つかりません」を解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート