我目睹了关于相互认证的怪异问题。我在BigIP负载平衡器上设置了相互身份验证,以接受2个不同的CA。这意味着我们仅接受由这两个CA颁发的证书。
我已经尝试使用OpenSSL向LB提供那些证书,通过它我可以正常工作,这意味着我有2个证书,使用IE可以正常工作,使用FireFox也可以正常工作。但是当我使用chrome时,浏览器会要求提供证书,但它不会将证书发送到LB,因为它在Wireshark中已被观察到(下图)
我可以同时使用两个证书,所以我将证书和密钥都用完了并且使用了
openssl s_client -connect Host:port -cert "cert.pem" -key "key.pem"
它工作正常,我可以看到连接正常。
在IE中使用相同的证书,它也可以正常工作。邮差也工作。FireFox也可以。
Chrome,但是它显示证书长度为0
并且您可以看到OpenSSL使用了相同的证书并且它正在发送。
任何想法可能是什么问题?
更新:我以调试开始chrome并看到了,看来chrome无法解析我的密钥或证书。
[[14836:18604:0927 / 172254.921:ERROR:ssl_platform_key_util.cc(70)]无法解析公共密钥。[17536:16164:0927 / 172255.100:ERROR:ssl_client_socket_impl.cc(941)]握手失败;返回-1,SSL错误代码1,net_error -117
你旋转了吗?我有同样的问题