我们有一台带有通配符证书的 IIS 7 服务器。如果您在任何浏览器中测试它,这应该可以正常工作: https://www.profcoach.nl
但是当我尝试在 Safari MaxOS Leopard 或 Lion 中测试它时,它不起作用,调试器显示:
得到https://profcoach.nl/此服务器的证书无效。您可能正在连接到一个伪装成“profcoach.nl”的服务器,这可能会使您的机密信息面临风险。
问题是它没有给我一个正确的 GUI 警告弹出窗口,它只是终止请求。
具体问题可能是什么?
答案1
有几件事:
通配符适用于域名的给定级别。如果您的通配符是“*.example.com”,则裸名称“example.com”不包含在内。您需要一个主题备用名称来覆盖额外的“example.com”。
第二个问题:
当我访问任一 URL 时,都会收到验证失败的消息。例如:
$ curl -Iv https://www.profcoach.nl/
* About to connect() to www.profcoach.nl port 443 (#0)
* Trying 91.224.164.224... connected
* Connected to www.profcoach.nl (91.224.164.224) port 443 (#0)
* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS handshake, Server hello (2):
* SSLv3, TLS handshake, CERT (11):
* SSLv3, TLS alert, Server hello (2):
* SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
当我查看证书本身时,我看到:
$ openssl s_client -connect www.profcoach.nl:443 | openssl x509 -noout -subject
depth=1 /C=BE/O=GlobalSign nv-sa/CN=GlobalSign Domain Validation CA - G2
verify error:num=20:unable to get local issuer certificate
verify return:0
subject= /OU=Domain Control Validated/CN=*.profcoach.nl
因此通用名称应该适用于 www.profcoach.nl。
您是否按照证书颁发机构的说明安装任何中级证书?
https://www.globalsign.com/support/intermediate-root-install.php
他们似乎在侧边栏上有 IIS 的安装说明。
哦,我刚刚意识到 Globalsign 去年是伊朗黑客的目标(http://www.theregister.co.uk/2011/09/07/globalsign_suspends_ssl_cert_biz/)。他们可能已经删除了较旧的中间证书,因此您需要确保已安装其当前证书,因此 Mac 上的混乱可能与此有关。我会就此问题联系他们的支持人员以获得澄清。
更新
使用捆绑包https://www.globalsign.com/support/intermediate/domain_bundle2011.php。我把这个包放入一个文件中foo.crt
,然后运行curl -Iv --cacert foo.crt https://www.profcoach.nl
验证正确:
$ curl -Iv --cacert foo.crt https://www.profcoach.nl
* About to connect() to www.profcoach.nl port 443 (#0)
* Trying 91.224.164.224... connected
* Connected to www.profcoach.nl (91.224.164.224) port 443 (#0)
* successfully set certificate verify locations:
* CAfile: foo.crt
CApath: none
* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS handshake, Server hello (2):
* SSLv3, TLS handshake, CERT (11):
* SSLv3, TLS handshake, Server finished (14):
* SSLv3, TLS handshake, Client key exchange (16):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSL connection using AES128-SHA
* Server certificate:
* subject: OU=Domain Control Validated; CN=*.profcoach.nl
* start date: 2012-07-05 14:59:04 GMT
* expire date: 2013-07-06 14:59:04 GMT
* subjectAltName: www.profcoach.nl matched
* issuer: C=BE; O=GlobalSign nv-sa; CN=GlobalSign Domain Validation CA - G2
* SSL certificate verify ok.
答案2
问题似乎出在证书密钥的长度上。密钥长度为 8k,重新颁发密钥长度为 2k 的证书后,一切正常。
很奇怪只有MacOS上的Safari有这个问题!