1
HTTPSを使用して別のサービスと通信するマイクロサービスを作成しています。 Javaクライアントの実装では、truststoreからルート証明書を読み取り、それを介して受信証明書を検証します。Javaクライアントを使用したSSL証明書の検証
私の質問は - デフォルトでは第2レベルの証明書だけがルート証明書を使用して検証されるか、または順番にすべてのチェーン証明書も検証されますか?
私はokhttpを使用しています。私の前提は、すべてのJavaクライアントが同じように動作する必要があるということです。ここに主観があれば教えてください。ありがとう。
のは、見てみましょうを見つけるまで、Javaクライアントのデフォルトのトラストマネージャは、トラストストアで探して証明書チェーンを検証するルート証明書が含まれていてもよいが、通常、それは
ではありませんこの場合:証明書チェーンはroot - > cert1 - > cert2 - > cert3です。ハンドシェークが始まると、サーバーはcert1 - > cert2 - > cert3を送信します。したがって、クライアントはrootを使用してcert1のみを検証し、すべてのチェーンが有効であるという結論に至りますか、それともcert2とcert3も検証しますか? –
チェーンは、逆cert3 - > cert2 - > cert1 - >ルートで送信され、検証されます。クライアントは、ルートが見つかるまでcert3、cert2、およびcert1を検証します – pedrofb
したがって、サーバーから来る方法であるcert2を使用して署名cert3が検証されます。だから、それはどんな価値があるのでしょうか?また、Javaの実装では、所有者のドメイン、日付などの詳細が検証されますか?そして、すべてのjava httpクライアントは同様の方法で動作しますか? –