如何将Apache 2(在Ubuntu 10.04上)configuration为使用客户端证书身份validation(其中我的域(secure.somedomain.com)由第三方信任的SSL证书进行保护,并且客户端证书由我自己的CA颁发?
当我尝试使用第三方可信SSL证书(/ C = US / O = GeoTrust,Inc. / CN = RapidSSL CA)时,我得到错误,因为我认为SSLCACertificateFile冲突!?!?
结果来自:$ openssl s_client -state -debug -showcerts -verify 0 -connect secure.somedomain.com
depth=1 /C=US/O=GeoTrust, Inc./CN=RapidSSL CA verify error:num=20:unable to get local issuer certificate verify return:0
我的apache conf文件:
<VirtualHost *:443> ServerAdmin [email protected] ServerName secure.somedomain.com SSLEngine On SSLCertificateFile /var/websites/ssl/certificate.cer SSLCertificateKeyFile /var/websites/ssl/key.key SSLCACertificateFile /var/websites/ssl/intermediate.cer DocumentRoot /var/websites/www <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/websites/www> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all SetHandler mono DirectoryIndex index.html default.aspx SSLCACertificateFile /etc/apache2/ownca.pem SSLVerifyClient require SSLVerifyDepth 1 </Directory> LogLevel warn ErrorLog /var/websites/logs/error_443.log CustomLog /var/websites/logs/access_443.log combined ServerSignature On
任何意见将不胜感激。 我可以find许多有关使用自己的自签名证书的教程,但没有第三方受信任的根的示例。 我不希望我的用户有安全警告。
他们应该能够去我的网站,它应该提出一个有效的受信任的第三方颁发的证书,并从我的CA签署的客户端请求证书。
有时候你需要在你的apache2.conf中添加一个SSLCertificateChainFile选项。
例如,我们使用SureServer作为我们的SSL证书。 有时浏览器不包含SSL证书的完整树,并且需要提供缺失的部分:
SSLEngine On SSLCertificateFile ... SSLCertificateKeyFile ... SSLCertificateChainFile /etc/apache2/sureserverEDU.pem
所以你可能需要在那里添加你的第三方CA.
如果我记得正确rapidSSL有一个链文件(RapidSSL_CA_bundle.pem)
我决定从一个干净的服务器开始。 我遇到的错误实际上是由于浏览器还没有客户端证书; 正因如此,它显示了不明确的错误消息。
<VirtualHost _default_:443> ServerAdmin [email protected] ServerName secure.somedomain.com SSLEngine On SSLCertificateFile /var/websites/ssl/certificate.crt SSLCertificateKeyFile /var/websites/ssl/certificate.key SSLCertificateChainFile /var/websites/ssl/cachain.pem DocumentRoot /var/websites/www <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/websites/www> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all SetHandler mono DirectoryIndex index.html index.aspx default.aspx SSLRequireSSL SSLCACertificateFile /etc/apache2/ownca.pem SSLVerifyClient require SSLVerifyDepth 1 SSLOptions +StrictRequire +StdEnvVars +ExportCertData </Directory> LogLevel warn ErrorLog /var/websites/logs/error_443.log CustomLog /var/websites/logs/access_443.log combined ServerSignature On