代码之家  ›  专栏  ›  技术社区  ›  Hamed mayahian

某些移动用户的SSL安全错误

  •  0
  • Hamed mayahian  · 技术社区  · 7 年前

    我移动了我的网站 arvandkala.ir https 不久前 问题是一些用户(特别是移动用户)得到了 SSL pravicy Error 用户移动时钟正常, 网站上没有任何混合数据。 firefox错误代码:

    SEC_ERROR_UNKNOWN_ISSUER
    

    发行人是Certum,受firefox信任。

    enter image description here enter image description here

    1 回复  |  直到 7 年前
        1
  •  2
  •   dave_thompson_085    7 年前

    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以上版本,您可以将PEM格式的链证书和服务器证书包含在由指定的文件中 SSLCertificateFile ,但在下面,您必须将它们都放在由指定的文件中 SSLCertificateChainFile 相反这个配置(包括链的证书,加上私钥)可以是每个virtualhost,或者如果你不需要它们不同,可以是全局的。在Ubuntu上,通常的做法(虽然不是强制性的)是将每个virtualhost配置放在一个单独的文件中 /etc/apache2/sites-available 并将其链接到 (same)/sites-enabled .

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