クライアント検証をオンにして SSL 接続を作成するための 2 つのシナリオがあります。
1-私のAndroidクライアントとサーバーには、同じCAによって署名された証明書があり、サーバーでのクライアント検証が有効になっています。trustmanager キーストアに CA 証明書をロードし、keymanager キーストアにクライアント キー + 証明書 + ca をロードして、これを ssl.init(keymanager, trustmanager) に渡します。それは正常に機能し、両側の交換と相互の証明書の検証を行います。
2-これで、異なるCAによって署名されたクライアント証明書とサーバー証明書があります。たとえば、サーバー証明書はServerCAによって署名され、クライアントはClientCAによって署名されています。上記のプロセスを繰り返しますが、サーバーが要求したときにクライアントは証明書を送信しません。なぜですか?
- ssl.init の keymanager と trustmanager の間のリンクは何ですか?