在Apache中设置CA时浏览器不要求客户端证书

在Apache中设置CA时浏览器不要求客户端证书,apache,ssl,certificate,Apache,Ssl,Certificate,更新: 我更新了CA以匹配从中颁发客户端证书的CA,我的浏览器现在提示我选择证书(并列出了正确的证书),但错误“ERR\u BAD\u SSL\u client\u AUTH\u CERT”仍然存在 旧信息: 我需要使用Apache进行证书身份验证 我的问题是,在Apache中设置CA时,不会弹出证书列表。但是,不设置它会弹出窗口并允许我选择证书。。。但当然,身份验证不起作用,并带来以下错误: 错误错误SSL客户端身份验证证书 我的配置如下: ssl.conf: SSLEngine on SS

更新:

我更新了CA以匹配从中颁发客户端证书的CA,我的浏览器现在提示我选择证书(并列出了正确的证书),但错误“ERR\u BAD\u SSL\u client\u AUTH\u CERT”仍然存在


旧信息:

我需要使用Apache进行证书身份验证

我的问题是,在Apache中设置CA时,不会弹出证书列表。但是,不设置它会弹出窗口并允许我选择证书。。。但当然,身份验证不起作用,并带来以下错误:

错误错误SSL客户端身份验证证书

我的配置如下:

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
vhost:

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连接


已经搜索了一段时间,但我找不到导致此问题的原因。

好的,首先,SSLVerifyDepth参数设置不正确。我通过检查Apache的ssl\u error\u log文件找到了这一点

其次,日志文件指出,CRL是不可访问的。即使设置了我认为正确的CRL。。。但是我实际上忘记了客户端CA之上的CA的CRL


再次感谢您帮助我检查CA,案件已结案

您还需要指向
vhost
config中的链文件
SSLCertificateChainFile/etc/httpd/sub.domain.ca.crt
@Zak:From:“SSLCertificateChainFile在版本2.4.8中变得过时,当时SSLCertificateFile被扩展为也从服务器证书文件加载中间ca证书。”客户端证书实际上是由
/etc/httpd/ca.cer
中的任何ca颁发的吗?因为如果没有,它将无法在浏览器中找到匹配的证书,因此无法选择一个。事实上,这是问题的一部分。我更新了CA以匹配从中颁发客户端证书的CA。浏览器现在提示我选择一个证书并列出好的证书,但错误仍然存在。