「sun.security.provider.certpath.SunCertPathBuilderException: 要求されたターゲットへの有効な証明書パスが見つかりません」例外の解決
提供されたコードHTTPS サーバーからファイルをダウンロードしようとしましたが、証明書関連のエラーが発生しました。このエラーは、サーバーがクライアントの JVM によって信頼されていない自己署名証明書を提示した場合によく発生します。
この問題に対処するには、サーバーの証明書を信頼するようにクライアントに指示できます。方法は次のとおりです:
ブラウザを使用してサーバーの証明書を取得します
JVM のトラストストアに証明書を追加します
これを行うには 2 つの方法があります:
編集JAVA_HOME/jre/lib/security/cacerts:
-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 サイトの他の関連記事を参照してください。