2017-11-25 291 views
0

我最近将我的网站arvandkala.ir更改为https。 问题是某用户(特别是手机上)得到SSL pravicy Error 用户手机时钟没问题, 在网站上没有任何混音数据。 火狐错误代码:某些移动用户的SSL安全错误

SEC_ERROR_UNKNOWN_ISSUER 

发行人是Certum和Firefox的信赖。

enter image description here enter image description here

+0

请参阅https://www.ssllabs.com/ssltest/analyze.html?d=arvandkala.ir,其中显示“证书链不完整”,然后单击以在“证书路径”下展开。一些浏览器可以使用AIA自己获取丢失的证书,但有些则不能。 PS:时钟错误会显示为'过期'或可能'无效',但从未'未知'。 –

+0

@ dave_thompson_085感谢评论,我看到连锁是不完整的,但如何解决。我测试了几种方式,但尚未解决yet.please帮助:) – Radian

回答

1

TLDR:它的证书

您需要从CA得到正确的链证书,并在您的服务器配置它的链条。

通常情况下,CA在您购买或获得服务器证书时提供正确的链式证书(或者有时候会证明复数形式),并且还会在其网站上提供所有的连锁证书(通常是几个证书),但由于我不知道波兰语,不知道您的CA certum.pl的任何客户我无法在这里解决这些方法。现在,常见的替代方法是证书本身指定一种方法来获取其父证书,该文件位于AuthorityInfoAccess扩展的caIssuers属性中。这可以通过许多工具来看到,包括(至少)桌面浏览器,OpenSSL(x509 -noout -text -in $file)和Java keytool(-printcert -v -file $file),并且您的证书确实包含它,指向http://repository.certum.pl/dvcasha2.cer。使用不解释内容的工具(即不是浏览器,但是像curl wget perl python或javascript之类的东西)获取该URL,确实会以DER格式生成正确的证书。

根据服务器的不同,配置您的服务器会有很大的不同,这取决于您未识别的服务器。您的服务器在响应中标识为Server: Apache/2.4.7 (Ubuntu),但这可能是伪造的,因为有些人认为这是混淆攻击者(不是很好)或错误的好方法,因为其他终结者在前面。如果属实,尽管还有其他可能性,我会假设通用默认mod_ssldocumentation for Apache 2.4 mod_ssl位于Apache网站docs/2.4/modules/mod_ssl下。由于此页面告诉您2.4.8以上,您可以将PEM格式的链式证书与服务器证书一起包含在由SSLCertificateFile指定的文件中,但在此之下,您必须将它们都置于由SSLCertificateChainFile指定的文件中。这个配置(证书包括链,加上privatekey)可以是每个虚拟主机,或者如果你不需要它们不同,它可以是全局的。在Ubuntu上,通常的做法(尽管不是强制性的)是将每个虚拟主机配置放在一个单独的文件下,并且在下链接到/etc/apache2/sites-available

由于从CA获得的证书是DER格式,因此您必须先将其转换为PEM格式。这可以通过OpenSSL直接通过openssl x509 -inform der -in $derfile -out $pemfile或许多其他程序来完成,这些程序可以导入DER格式,然后写出PEM格式(至少包括Windows,Firefox/NSS和Java)。