仅在手机浏览器上使用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 + UserTrustRSA由SSLCertificateChainFile指定的链文件和另一个文件只有由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
问题解决了