SSL无法进行握手

时间:2011-05-09 09:18:37

标签: ssl openssl ssl-certificate

严格遵循SSL证书颁发机构文档后,我很难解决此错误的原因。通过HTTPS访问我的网站时,Firefox会发出以下错误:

SSL peer was unable to negotiate an acceptable set of security parameters.
(Error code: ssl_error_handshake_failure_alert)

我回去并在SSL错误日志中找到了这个(域名是故意修改的):

[Mon May 09 02:11:05 2011] [warn] RSA server certificate wildcard CommonName (CN) `*.domain.com' does NOT match server name!?

服务器名称在哪里定义?我在httpd-ssl.conf文件中找不到合理的解释来解决此错误。谢谢你的帮助!

更新最后解决了问题,详情如下:

不幸的是,它是由我的Apache发行版中的默认值创建的。选项:

SSLVerifyClient require

实际上需要设置为:

SSLVerifyClient optional

我还没有发布客户证书。然而,归功于缩小问题的答案。我很感激帮助!

3 个答案:

答案 0 :(得分:2)

SSL将CommonName与您实际尝试连接的服务器的名称进行比较。

可能您使用的是“localhost”或IP地址等替代名称。

答案 1 :(得分:2)

日志文件中的那一行可能会在以后发生,但它只是一个[警告],而不是handshake_failure的含义。 Handshake_failure意味着无法协商密码套件 - 客户端和服务器都不支持密码套件。查看服务器支持的密码。

编辑:我总是忘记如果客户端未能提供所需的证书,那么也会导致handshake_failure(第7.4.6节)。

答案 2 :(得分:2)

解决了这个问题,不幸的是它是由我的Apache发行版中的默认值创建的。选项:

SSLVerifyClient require

实际上需要设置为:

SSLVerifyClient optional

我还没有发布客户证书。然而,归功于缩小问题的答案。我很感激帮助!