ホームページ >Java >&#&チュートリアル >特定の Java 接続の自己署名証明書を信頼するにはどうすればよいですか?
自己署名証明書を使用して Web サイトへの接続を確立しようとすると署名された証明書を使用すると、Java アプリケーションで証明書の検証の失敗によりエラーが発生する可能性があります。この記事では、特定の要件を遵守しながらこの問題に対処するための解決策を紹介します。
推奨されるアプローチは、信頼できる自己署名証明書を含むカスタム SSLSocketFactory を作成することです。これにより、アプリケーションは特定の接続の証明書を選択的に信頼できるようになります。実装方法は次のとおりです:
自己署名証明書を含むキーストアをロードします:
KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType()); keyStore.load(trustStore, trustStorePassword); trustStore.close();
初期化する TrustManagerFactory を作成するTrustManagers:
TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); tmf.init(keyStore);
SSLContext を初期化し、SSLSocketFactory を取得します:
SSLContext ctx = SSLContext.getInstance("TLS"); ctx.init(null, tmf.getTrustManagers(), null); sslFactory = ctx.getSocketFactory();
HTTPSURLConnection を構成するSSLSocketFactory を使用する:
HttpsURLConnection conn = (HttpsURLConnection)url.openConnection(); conn.setSSLSocketFactory(sslFactory);
以上が特定の Java 接続の自己署名証明書を信頼するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。