ホームページ > Java > &#&チュートリアル > Java クライアントは自己署名 SSL 証明書をどのように処理できますか?

Java クライアントは自己署名 SSL 証明書をどのように処理できますか?

Mary-Kate Olsen
リリース: 2024-12-19 21:12:11
オリジナル
221 人が閲覧しました

How Can Java Clients Handle Self-Signed SSL Certificates?

Java クライアントでの自己署名 SSL 証明書の処理

自己署名 SSL 証明書または期限切れの SSL 証明書を使用してサーバーに接続する場合、Java通常、クライアントでは証明書の信頼性の欠如が原因でエラーが発生します。この問題を解決するには、自己署名証明書を JVM のトラストストアに追加するか、すべての証明書を信頼するようにクライアントを構成します。

オプション 1: トラストストアのインポート

  • ブラウザから自己署名証明書をエクスポートします。
  • 証明書を JVM にインポートします。次のコマンドを使用して truststore を作成します:
<JAVA_HOME>\bin\keytool -import -v -trustcacerts \
  -alias server-alias -file server.cer \
  -keystore cacerts.jks -keypass changeit \
  -storepass changeit
ログイン後にコピー

オプション 2: 証明書の検証の無効化

警告: これは推奨されません。 SSL セキュリティを侵害します。

  • 信頼を作成します証明書を検証しないマネージャー:
TrustManager[] trustAllCerts = new TrustManager[] {
    new X509TrustManager() {
        public X509Certificate[] getAcceptedIssuers() { return new X509Certificate[0]; }

        public void checkClientTrusted(X509Certificate[] certs, String authType) { }

        public void checkServerTrusted(X509Certificate[] certs, String authType) { }
    }
};

// Install the trust manager
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, new java.security.SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
ログイン後にコピー
  • HTTPS URL にアクセスします:
URL url = new URL("https://hostname/index.html");
ログイン後にコピー

SSL 整合性を維持するには、オプション #1 を優先します。セキュリティを最適化するために、信頼できる CA によって署名された証明書をサーバーに取得させることも推奨されます。

以上がJava クライアントは自己署名 SSL 証明書をどのように処理できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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