更新:
我更新了我的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
vhost:
Include ssl.conf
SSLCertificateFile /etc/httpd/sub.domain.crt
SSLCertificateKeyFile /etc/httpd/sub.domain.key
CA和我的客户端证书也安装在我的计算机上,随时可以使用。
日志中没有任何内容,只有一行提到关闭的SSL连接。
我找了一段时间,找不到是什么原因造成的。
好吧,所以首先没有正确设置SSLVerifyDepth参数。我可以通过检查Apache的ssl_error_log文件来找到它。
第二,日志文件表示无法访问CRL。即使设置了我认为正确的CRL。。。但是我实际上忘记了客户端CA之上的CA的CRL!
再次感谢您帮助我检查CA,案件已结案!