我有两种情况用于创建带有客户端验证的 ssl 连接。
1- 我的 android 客户端和服务器具有由同一 CA 签名的证书,启用了服务器上的客户端验证。我在 trustmanager keystore 中加载 CA 证书,在 keymanager keystore 中加载客户端 key+cert+ca 并将其传递给 ssl.init(keymanager, trustmanager)。它工作正常,双方交换并相互验证证书。
2- 现在我有由不同 CA 签署的客户端和服务器证书,例如由 ServerCA 签署的服务器证书和由 ClientCA 签署的客户端证书。我重复上面的过程,但是当服务器要求时,客户端从不发送任何证书,为什么?
- ssl.init 中的 keymanager 和 trustmanager 之间有什么联系?