我已经有一个运行了很长时间的网站,使用自动生成的客户端证书进行保护。多年来,在IE、Firefox和Chrome等任何浏览器上都没有出现过任何问题。
自从最近的Chrome更新(61.0.3163.100)后,客户端证书被拒绝,并显示以下错误消息:
This site can’t provide a secure connection
my.domain.com didn’t accept your login certificate, or one may not have been provided.
Try contacting the system admin.
ERR_BAD_SSL_CLIENT_AUTH_CERT
这个网站在任何其他浏览器上都能很好地运行!我找不到任何相关信息。
我猜测,Chrome提高了客户端证书的最低要求,就像几个月前它对服务器证书所做的那样。但我不知道该如何修复它。
你有什么关于我的证书出了问题的线索吗?
非常感谢。
更新 2017 年 12 月 15 日
我仍然遇到问题,没有找到任何答案。
过了一段时间,我发现 Chrome 不喜欢使用 openssl ca
生成的客户端证书。
我是这样生成证书的:
openssl ca -config openssl.cnf -extensions client -batch -in test.req -out test.cer
我尝试了各种方法,但是无法使它与Chrome一起正常工作,但是,它可以在其他所有浏览器中正常工作。
现在我正在生成证书:
openssl x509 -req -in test.req -CA ca.cer -CAkey ca.key -extensions client -extfile openssl.cnf -CAserial ca.srl -out test.cer -sha256
如果我比较使用
openssl x509 -in test.cer -noout -text
生成的输出,没有任何不同,则它是有效的!所以我想知道Chrome为什么不喜欢openssl ca
。我更喜欢使用
openssl ca
而不是openssl x509
,因为我无法使用CRLs,而且我也更喜欢使用startdate/enddate
而不是days
。有任何想法吗?