Apache 如何为家庭服务器上的客户端身份验证生成工作SSL证书?

Apache 如何为家庭服务器上的客户端身份验证生成工作SSL证书?,apache,authentication,ssl,client-certificates,Apache,Authentication,Ssl,Client Certificates,在基于各种教程的几次尝试之后,我终于确定我的Apache配置可以正常工作,但浏览器不会接受我生成的客户端证书。具体来说,Windows和OSX似乎都不将其识别为客户端证书;它已成功导入,但在出现提示时未包含在证书列表中。例如,Chrome只是给出了一个隐晦的“ERR\u SSL\u PROTOCOL\u ERR”,并说服务器发送了一个无效响应 我将省略设置基本SSL/HTTPS的步骤。以下是我为添加客户端身份验证所做的操作: 服务器Cfg: cd /var/www-auth/ca openssl

在基于各种教程的几次尝试之后,我终于确定我的Apache配置可以正常工作,但浏览器不会接受我生成的客户端证书。具体来说,Windows和OSX似乎都不将其识别为客户端证书;它已成功导入,但在出现提示时未包含在证书列表中。例如,Chrome只是给出了一个隐晦的“ERR\u SSL\u PROTOCOL\u ERR”,并说服务器发送了一个无效响应

我将省略设置基本SSL/HTTPS的步骤。以下是我为添加客户端身份验证所做的操作:

服务器Cfg:

cd /var/www-auth/ca
openssl genrsa -out ca.key 4096
openssl req -new -x509 -days 365 -key ca.key -out ca.crt
 // Note: CN to "myth", matching the name of the server on my LAN.
Edit Apache's default-ssl.conf to set SSLACACertificateFile to /var/www-auth/ca/ca.crt and SSLVerifyClient require
客户端证书生成:

openssl genrsa -out client.key 4096
openssl req -new -key client.key -out client.csr
openssl x509 -req -days 365 -in client.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out client.crt
cat client.crt client.key > client.pem
有效的命令行测试:

curl--不安全--证书类型pem--证书客户端.pem

在浏览器(.crt或.pem)中导入相同的“.pem”文件不会出现明显错误,但浏览器不会发送证书。在安装了其他客户端证书的系统上,提示会列出我的其他证书,但会忽略此新证书

我做错了什么