仅在手机浏览器上使用SSL证书“err_cert_authority_invalid”

域名: https : //www.amz2btc.com

SSL实验室分析: https : //www.ssllabs.com/ssltest/analyze.html? d = amz2btc.com

我所有的桌面浏览器都打开了。 移动火狐打开这个罚款。 只有当我尝试使用移动版Chrome时,我收到错误: err_cert_authority_invalid

我对SSL知之甚less,所以我无法真正了解SSL报告或为何出现这个错误。 如果有人能ELI5,那将是理想的。 🙂

我只是在早上处理这件事。 问题不是我没有证书遗失。 这是我有一个额外的。

我开始用我的ssl.conf包含我的服务器密钥和我的SSL证书颁发机构提供的三个文件:

 # Server Certificate: SSLCertificateFile /etc/pki/tls/certs/myserver.cer # Server Private Key: SSLCertificateKeyFile /etc/pki/tls/private/myserver.key # Server Certificate Chain: SSLCertificateChainFile /etc/pki/tls/certs/AddTrustExternalCARoot.pem # Certificate Authority (CA): SSLCACertificateFile /etc/pki/tls/certs/InCommonServerCA.pem 

它在桌面上运行良好,但Android上的Chrome给了我err_cert_authority_invalid

很多头痛的事情,后来search和糟糕的文档,我发现这是服务器证书链:

 SSLCertificateChainFile /etc/pki/tls/certs/AddTrustExternalCARoot.pem 

这是创build第二个证书链不完整。 我评论了这一行,留下了我

 # Server Certificate: SSLCertificateFile /etc/pki/tls/certs/myserver.cer # Server Private Key: SSLCertificateKeyFile /etc/pki/tls/private/myserver.key # Certificate Authority (CA): SSLCACertificateFile /etc/pki/tls/certs/InCommonServerCA.pem 

现在它再次在Android上工作。 这是在运行Apache 2.2的Linux上。

在通过Parse托pipe网站并使用NameCheap转售的Comodo SSL证书时,我遇到了同样的问题。

您将在zip文件夹中收到两个证书文件:www_yourdomain_com.ca-bundle www_yourdomain_com.crt

您只能上传一个文件到Parse: Parse SSL Cert Input Box

在terminal结合使用两个文件:

 cat www_yourdomain_com.crt www_yourdomain_com.ca-bundle > www_yourdomain_com_combine.crt 

然后上传到parsing。 这应该可以解决Android Chrome浏览器和Firefox浏览器的问题。 您可以通过在https://www.sslchecker.com/sslchecker上进行testing来validation其是否正常工作;

对于那些在IIS服务器上有这个问题的人。

说明 :有时,证书携带的是中间证书的URL而不是实际的证书。 桌面浏览器可以使用此URL 下载缺less的中间证书。 但是旧的移动浏览器无法做到这一点。 所以他们抛出这个警告。

你需要

1)确保所有中间证书都由服务器提供

2)在IIS中禁用不需要的证书path – 在“受信任的根证书颁发机构”下,您需要为触发下载的证书“禁用所有用途”。

PS。 我的同事写了一个更详细的步骤的博客文章: https : //www.jitbit.com/maxblog/21-errcertauthorityinvalid-on-android-and-iis/

来自SSLabs的报告说:

  This server's certificate chain is incomplete. Grade capped to B. .... Chain Issues Incomplete 

桌面浏览器通常具有从先前连接caching的链式证书或从证书中指定的URL下载链式证书。 移动浏览器和其他应用程序通常不会。

通过包括丢失的证书来修复你的链条,一切都应该是正确的。

我希望我不会太晚,这里的解决scheme为我工作,我使用COMODO SSL,上述解决scheme似乎无效,我的网站lifetanstic.co.ke

而不是联系科摩多支持和获得CA包文件您可以执行以下操作:

当您从Comodo获得新的SSL证书(通过邮件)时,他们会附带一个zip文件。 您需要解压缩zip文件并在文本编辑器(如记事本)中打开以下文件:

 AddTrustExternalCARoot.crt COMODORSAAddTrustCA.crt COMODORSADomainValidationSecureServerCA.crt 

然后复制每个“.crt”文件的文本,并在“证书权限包(可选)”字段中粘贴上面的文本。

之后,像往常一样在“证书”字段中添加SSL证书,然后点击“通过证书自动填写”button,然后点击“安装”。

受此启发: https : //gist.github.com/ipedrazas/6d6c31144636d586dcc3

我也有一个链的问题,并设法解决使用本指南https://gist.github.com/bradmontgomery/6487319

如果你像我一样使用AWS和CloudFront,那么下面是如何解决这个问题的。 它与其他人共享的内容相似,除非您不使用域名的crt文件,而是通过comodo发送给您的邮件。

 cat COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > ssl-bundle.crt 

这工作对我和我的网站不再显示在android中的chrome ssl警告。

我用这个命令解决了我的问题:

 cat __mydomain_com.crt __mydomain_com.ca-bundle > __mydomain_com_combine.crt 

之后:

 cat __mydomain_com_combine.crt COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > mydomain.pem 

而在我的域名nginx .conf我把服务器443:

 ssl_certificate ssl/mydomain.pem; ssl_certificate_key ssl/mydomain.private.key; 

我不会忘记重启你的“Nginx”

 service nginx restart 

检查证书链中是否存在问题的一个体面的方法是使用此网站:

https://www.digicert.com/help/

插入你的testingurl,它会告诉你什么可能是错的。 我们遇到了和你一样的问题,我们的问题被诊断为中间证书。

SSL证书不受信任

证书不是由受信任的权威人士签名(检查Mozilla的根存储)。 如果您从可信机构购买了证书,则可能只需要安装一个或多个中间证书。 请联系您的证书提供商以获得有关为您的服务器平台执

我也有同样的问题,但是Mike A的回答帮助我弄清楚了:我有一个证书,一个中间证书(Gandi),另一个中间(UserTrustRSA),最后是RootCA证书(AddTrust)。

所以首先我用Gandi + UserTrustRSA + AddTrust创build了一个链接文件,并用SSLCertificateChainFile指定它。 但它没有奏效。

所以我试图通过将AddTruct证书放在一个文件中,然后用SSLCACertificateFile指定它并删除SSLCertificateChainFile来尝试MikeA的答案。但它没有奏效。

所以finnaly我做了一个只有Gandi + UserTrustRSASSLCertificateChainFile指定的链文件和另一个文件只有由SSLCACertificateFile指定的RootCA和它的工作。

 # Server Certificate: SSLCertificateFile /etc/ssl/apache/myserver.cer # Server Private Key: SSLCertificateKeyFile /etc/ssl/apache/myserver.key # Server Certificate Chain: SSLCertificateChainFile /etc/ssl/apache/Gandi+UserTrustRSA.pem # Certificate Authority (CA): SSLCACertificateFile /etc/ssl/apache/AddTrust.pem 

看起来合乎逻辑,但你希望它有帮助。

我想你应该安装CA证书forms之一,如果权威canter:

ssl_trusted_certificate ssl / SSL_CA_Bundle.pem;

只需为版本44.0.2403.155 dev-m执行以下操作

隐私 – >内容设置 – >不允许任何网站运行JavaScript

问题解决了