Java は SSL 証明書サーバー名をどのように検証しますか?また、トラブルシューティングの手順は何ですか?
Dec 11, 2024 am 07:39 AMSSL 証明書サーバー名の解決
SSL 証明書は安全な接続を確立する上で重要な役割を果たしますが、サーバー名がどのように解決されるかを理解することが不可欠です。
SSL 証明書サーバー名の仕組み解決済み
RFC 6125 によると、SSL 証明書のホスト名を検証するプロセスには次のフィールドのチェックが含まれます:
- サブジェクト代替名 (SAN): 存在する場合、SAN フィールドが優先され、有効なサーバーが含まれます。 names.
- Common Name (CN): SAN フィールドが使用できない場合は、CN フィールドが使用されます。ただし、この方法は非推奨です。
Java のホスト名検証
Java では、SSL 証明書のホスト名検証は通常、RFC 2818 で概説されているガイドラインに従います。それ:
- 証明書に SAN フィールドが含まれる場合、Javaホスト名が指定された値と照合して検証されます。
- SAN フィールドが存在しない場合、Java は有効なホスト名について CN フィールドをチェックします。
Keytool を使用して代替を追加する名前
- Java 7 以降では、keytool にサブジェクトを指定するオプションが提供されます。 SSL 証明書を生成するときの代替名 (SAN)。 san=dns:<hostname> で -ext パラメータを使用するまたは san=ip:
代替としての OpenSSL
- keytool がニーズを満たさない場合は、OpenSSL を使用できます。 SAN を使用して自己署名証明書を生成します。 openssl.cnf 構成ファイルを変更するか、環境変数を設定することにより、証明書に含める代替名を指定できます。
ホスト名検証エラーのトラブルシューティング
トラストストアに追加されているにもかかわらず、Java が SSL 証明書を信頼していない場合は、次の手順を実行できます。 help:
- 証明書の SAN フィールドまたは CN フィールドが、接続しようとしているサーバーのホスト名と一致していることを確認します。
- 認証局 (CA) が発行された証明書は Java によって信頼されています。
- Java のデフォルトのホスト名検証をオーバーライドするには、カスタム HostnameVerifier の使用を検討してください。動作。
以上がJava は SSL 証明書サーバー名をどのように検証しますか?また、トラブルシューティングの手順は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











2025年のトップ4 JavaScriptフレームワーク:React、Angular、Vue、Svelte

カフェインやグアバキャッシュなどのライブラリを使用して、Javaアプリケーションにマルチレベルキャッシュを実装するにはどうすればよいですか?

Javaのクラスロードメカニズムは、さまざまなクラスローダーやその委任モデルを含むどのように機能しますか?

Spring Boot Snakeyaml 2.0 CVE-2022-1471問題修正

キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPA(Java Persistence API)を使用するにはどうすればよいですか?

高度なJavaプロジェクト管理、自動化の構築、依存関係の解像度にMavenまたはGradleを使用するにはどうすればよいですか?
