2017-11-25 312 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)。