当我试图在我的机器上访问我的网站时,我得到了Firefox标题中提到的错误。这是我得到的错误:
An error occurred during a connection to www.st.um.
SSL peer was unable to negotiate an acceptable set of security parameters.
(Error code: ssl_error_handshake_failure_alert)这是我的虚拟主机配置:
<VirtualHost *:443>
ServerAdmin user1@st.um
ServerName www.st.um
DocumentRoot /var/www/web
<Directory /var/www/web>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
SSLEngine on
SSLCertificateFile /usr/lib/ssl/demoCA/servercert.pem
SSLCertificateKeyFile /usr/lib/ssl/demoCA/serverkey.pem
SSLCACertificateFile /usr/lib/ssl/demoCA/stcert.pem
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
BrowserMatch "MSIE [2-6]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
# MSIE 7 and newer should be able to use keepalive
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
SSLVerifyClient require
SSLVerifyDepth 10
</VirtualHost>证书"servercert.pem“是使用我的CA:"stcert.pem”认证的,我可以完美地使用带有"serverkey.pem“键的证书"servercert.pem”作为服务器访问s_server,并在web浏览器的权限列表中导入和信任我的CA:
openssl s_server -cert servercert.pem -key serverkey.pem -www我也可以访问我的网站作为一个客户端使用一个PKCS#12文件生成的证书"clientcert.pem“的密钥"clientkey.pem”。
我在/etc/log/apache2/error.log中唯一拥有的是:
[Sat May 25 02:44:11 2013] [notice] Apache/2.2.22 (Ubuntu)
PHP/5.3.10-1ubuntu3.6 with Suhosin-Patch mod_ssl/2.2.22
OpenSSL/1.0.1 configured -- resuming normal operations发布于 2013-05-25 16:21:13
我编辑了虚拟主机配置并删除了:
SSLVerifyClient require
SSLVerifyDepth 10现在,它正在进行服务器端身份验证。"SSLVerifyClient require“指令覆盖行:
SSLCertificateFile /usr/lib/ssl/demoCA/servercert.pem
SSLCertificateKeyFile /usr/lib/ssl/demoCA/serverkey.pem
SSLCACertificateFile /usr/lib/ssl/demoCA/stcert.pem这就是问题所在。"SSLVerifyClient要求“指令用于客户端身份验证,它使openSSL始终需要来自客户端的证书。
https://serverfault.com/questions/510739
复制相似问题