已更新:
我更新了我的CA,使其与颁发我的客户端证书的CA相匹配,并且我的浏览器现在提示我选择一个证书(并列出了正确的证书),但是错误“ ERR_BAD_SSL_CLIENT_AUTH_CERT”仍然存在。
旧消息:
我需要使用Apache进行证书认证。
我的问题是在Apache中设置CA时没有证书列表弹出。但是,不设置它会弹出窗口,并允许我选择一个证书...但是,身份验证当然不起作用,并带来以下错误:
ERR_BAD_SSL_CLIENT_AUTH_CERT
我的配置如下:
ssl.conf:
SSLEngine on
SSLProtocol -all +SSLv3 +TLSv1
SSLCipherSuite HIGH:MEDIUM
SSLCACertificateFile /etc/httpd/ca.cer
SSLCARevocationFile /etc/httpd/crl.pem
SSLCARevocationCheck chain
SSLVerifyClient optional
SSLVerifyDepth 10
SSLOptions +StdEnvVars
SSLUserName SSL_CLIENT_S_DN_CN
虚拟主机:
Include ssl.conf
SSLCertificateFile /etc/httpd/sub.domain.crt
SSLCertificateKeyFile /etc/httpd/sub.domain.key
CA也随同我的客户端证书一起安装在计算机上,随时可以使用。
日志中没有任何内容,只有一行提到已关闭的SSL连接。
经过一段时间的搜索,我找不到造成这种情况的原因。
答案 0 :(得分:1)
好的,因此首先未正确设置 SSLVerifyDepth 参数。我可以通过检查Apache的 ssl_error_log 文件来找到它。
其次,日志文件说 CRL无法达到。即使设置了我认为正确的CRL ...,但我实际上忘记了位于客户CA上方的CA的CRL !
再次感谢您帮助我检查CA,案例已结案!