SSL错误:无法获取本地颁发者证书

我在Debian 6.0 32位服务器上configurationSSL时遇到问题。 我对SSL比较新,所以请耐心等待。 我尽可能地包括尽可能多的信息。
注意:真正的域名已被更改,以保护服务器的身份和完整性。

组态

服务器正在使用nginx运行。 它configuration如下:

ssl_certificate /usr/local/nginx/priv/mysite.ca.chained.crt; ssl_certificate_key /usr/local/nginx/priv/mysite.ca.key; ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5; ssl_verify_depth 2; 

我用这里描述的方法链接我的证书

 cat mysite.ca.crt bundle.crt > mysite.ca.chained.crt 

其中mysite.ca.crt是签名机构给我的证书, bundle.crt是我的签名机构发给我的CA证书。 问题是我没有直接从GlobalSign购买SSL证书,而是通过我的托pipe提供商Singlehop购买。

testing

证书在Safari和Chrome上正确validation,但不在Firefox上validation。 初步search显示,这可能是CA的问题。

我探索了一个类似问题的答案,但无法find解决scheme,因为我不太明白每个证书的用途。

我用openssl的s_client来testing连接,并收到似乎表明与同样的问题相同的问题的输出。 错误如下:

 depth=0 /OU=Domain Control Validated/CN=*.mysite.ca verify error:num=20:unable to get local issuer certificate verify return:1 depth=0 /OU=Domain Control Validated/CN=*.mysite.ca verify error:num=27:certificate not trusted verify return:1 

openssl的回应(带有证书和不必要的信息截断)的完整细节可以在这里find。

我也看到警告:

 No client certificate CA names sent 

这有可能是问题吗? 我如何确保nginx发送这些CA名字?

试图解决这个问题

我试图通过从GlobalSign直接下载根CA来解决这个问题,但是收到了同样的错误。 我使用update-ca-certificates命令update-ca-certificates了我的Debian服务器上的根CA,但没有任何更改。 这可能是因为从我的提供商发送的CA是正确的,所以导致证书链接两次,这没有帮助。

 0 s:/OU=Domain Control Validated/CN=*.mysite.ca i:/C=BE/O=GlobalSign nv-sa/CN=AlphaSSL CA - SHA256 - G2 1 s:/O=AlphaSSL/CN=AlphaSSL CA - G2 i:/C=BE/O=GlobalSign nv-sa/OU=Root CA/CN=GlobalSign Root CA 2 s:/C=BE/O=GlobalSign nv-sa/OU=Root CA/CN=GlobalSign Root CA i:/C=BE/O=GlobalSign nv-sa/OU=Root CA/CN=GlobalSign Root CA 

下一步

请让我知道,如果有什么我可以尝试,或者如果我只是把整个事情configuration不正确。

WWW是正确的 – 你正在引用错误的中间证书。

由于您已经获得了SHA256证书,您将需要SHA256中间件。 你可以从这里抓取它: http : //secure2.alphassl.com/cacert/gsalphasha2g2r1.crt