Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos Chrome无法在OS X上加载证书_Macos_Ssl_X509certificate - Fatal编程技术网

Macos Chrome无法在OS X上加载证书

Macos Chrome无法在OS X上加载证书,macos,ssl,x509certificate,Macos,Ssl,X509certificate,用户报告他们无法在OS X上查看。 Chrome和Safari(使用OSX的根证书失败) Linux和Windows的所有测试都显示没有问题。Qualys SSL实验室报告除SHA1签名外没有任何问题 Chrome报告NET::ERR\u CERT\u INVALID如果我单击证书图标->查看证书,我会看到数据似乎不是有效的证书 Firefox正确加载页面。 Safari在访问页面时挂起。 OSX版本没有任何影响,我可以说,但我个人使用的是10.10.1 curlhttps://blog.za3

用户报告他们无法在OS X上查看。 Chrome和Safari(使用OSX的根证书失败)

Linux和Windows的所有测试都显示没有问题。Qualys SSL实验室报告除SHA1签名外没有任何问题

Chrome报告
NET::ERR\u CERT\u INVALID
如果我单击证书图标->查看证书,我会看到
数据似乎不是有效的证书

Firefox正确加载页面。 Safari在访问页面时挂起。 OSX版本没有任何影响,我可以说,但我个人使用的是10.10.1

curlhttps://blog.za3k.com
故障原因如下:

curl: (60) SSL certificate problem: Invalid certificate chain
More details here: http://curl.haxx.se/docs/sslcerts.html

curl performs SSL certificate verification by default, using a "bundle"
  of Certificate Authority (CA) public keys (CA certs). If the default
  bundle file isn't adequate, you can specify an alternate file
  using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
 the bundle, the certificate verification probably failed due to a
 problem with the certificate (it might be expired, or the name might
 not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
 the -k (or --insecure) option.
openssl s_客户端-connect blog.za3k.com:443
报告成功

根证书是“StartCom”,应该在mac上信任它


关于如何调试的想法?

您在返回的证书数据中看到了什么?这里的事情有点奇怪——从桌面系统中,我看到为“nanowrimo.za3k.com”或“za3k.com”(但不是blog.za3k.com)返回的证书,而SSLLabs看到的证书显然对blog.za3k.com和za3k.com有效。可能是DNS别名问题,但事实上,证书应该包含SAN,无论您希望它显示为什么

openssl s_client -connect blog.za3k.com:443 | openssl x509 -text

啊哈,谢谢你提醒我。我使用SNI从同一IP托管多个域,看起来openssl s_客户端不支持SNI。我更改了默认设置,openssl s_客户端应返回相关证书,以便您查看。我仍然在curl、Chrome和Safari中看到相同的错误,所以这没有关系。啊,这很有帮助。最后,您使用的是8k公钥,OSX默认情况下禁用了对该公钥的支持。此处提供的解决方案:[链接]。然而,对于一个公共站点,你可能会考虑在4096 RSA中重新生成或者切换到ECDSA。这个博客文章很棒,因为它也有我可以用来找出发生了什么的所有调试步骤。你能把它贴出来作为答案吗?这样我就可以把它标为正确答案了?