我最近将网站arvandkala.ir移至https
。
问题是某些用户(特别是在移动设备上)得到SSL pravicy Error
用户手机时钟没问题,
网站上没有任何混音数据。
firefox错误代码:
SEC_ERROR_UNKNOWN_ISSUER
发行人是Certum并受到firefox的信任。
答案 0 :(得分:1)
TLDR:它是链证书
您需要从CA获取正确的链证书并在服务器中对其进行配置。
通常情况下,CA在您购买或获得服务器证书时提供正确的链证书(或有时证书复数),并且还在其网站上提供所有链证书(通常是几个),但因为我不知道了解波兰语并且不了解您的CA的任何客户certum.pl
我无法在此处理这些方法。现在,一个常见的替代方案是证书本身在caIssuers
扩展名的AuthorityInfoAccess
属性中指定获取其父证书的方法。这可以通过许多工具看到,包括(至少)桌面浏览器,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_ssl
。 documentation for Apache 2.4 mod_ssl位于Apache网站docs / 2.4 / modules / mod_ssl下。正如此页面告诉您2.4.8 up,您可以在SSLCertificateFile
指定的文件中包含PEM格式链证书和服务器证书,但是在下面,您必须将它们都放在由{{1指定的文件中相反。这个配置(包括chain,plus privatekey的证书)可以是每个虚拟主机,或者如果你不需要它们是不同的,它可以是全局的。在Ubuntu上,通常的做法(虽然不是强制性的)是将每个virtualhost配置放在SSLCertificateChainFile
下的单独文件中,并将其链接到/etc/apache2/sites-available
下。
由于从CA获得的证书是DER格式,因此您必须先将其转换为PEM格式。这可以通过OpenSSL直接使用(same)/sites-enabled
或许多其他程序来完成,这些程序可以导入DER格式,然后写出PEM格式(至少包括Windows,Firefox / NSS和Java)。