Apache 如何使用第三方CA(非自签名CA)生成客户端证书

Apache 如何使用第三方CA(非自签名CA)生成客户端证书,apache,openssl,ssl-certificate,httpd.conf,Apache,Openssl,Ssl Certificate,Httpd.conf,我正在尝试导出用于web浏览器的客户端证书 目标是使用该指令限制对管理区域的访问。我看过很多关于使用自签名CA的教程。您将如何使用第三方进行此操作 1) 如果CA是受信任的根CA,是否需要将其包括在客户端pfx中?这两个例子我都见过 没有CA: openssl pkcs12 -export -inkey KEYFILENAME -in CERTFILEFILENAME -out XXX.pfx 使用CA: openssl pkcs12 -export -in my.crt- inkey my

我正在尝试导出用于web浏览器的客户端证书

目标是使用该指令限制对管理区域的访问。我看过很多关于使用自签名CA的教程。您将如何使用第三方进行此操作

1) 如果CA是受信任的根CA,是否需要将其包括在客户端pfx中?这两个例子我都见过

没有CA:

openssl pkcs12 -export -inkey KEYFILENAME -in CERTFILEFILENAME -out XXX.pfx
使用CA:

openssl pkcs12 -export  -in my.crt- inkey my.key -certfile my.bundle -out my.pfx
2) 我是否仍需要在httpd.conf设置中包含受信任CA的SSLCACertificateFile

SSLVerifyClient none
SSLCACertificateFile conf/ssl.crt/ca.crt
<Location /secure/area>
SSLVerifyClient require
SSLVerifyDepth 1
</Location>
SSLVerifyClient无
sslcacertificatefileconf/ssl.crt/ca.crt
SSLVerifyClient要求
SSLVerifyDepth 1

您不能使用第三方CA签名的证书颁发客户端证书。您必须拥有自签名CA才能颁发客户端证书,并将此CA指定为
SSLCACertificateFile

样本:

    SSLCertificateFile /etc/apache2/ssl/apache.cer # site certificate signed by verisign
    SSLCertificateKeyFile /etc/apache2/ssl/apache.key # site key for certificate signed by verisign
    SSLCACertificateFile /etc/apache2/ssl/apachelca2.pem # your self signed CA
请注意,
apachelca2.pem
中同时包含密钥和证书。。。用于颁发客户端证书的命令行:

openssl req -config /usr/share/apache2/ssleay.cnf -new -key client.key -out client.csr

openssl x509 -req -days 365 -CA /etc/apache2/ssl/apachelca2.pem -CAkey /etc/apache2/ssl/apachelca2.pem -CAcreateserial -in client.csr -extfile /usr/share/apache2/ssleay.cnf -extensions v3_req -out client.crt

这不需要编程。你可能会在serverfault上有更好的运气。这肯定是一个serverfault问题,投票决定移动。