Starfield 萬用字元 SSL 證書並非在所有瀏覽器中都受信任
我不知道我還可以嘗試什麼來使用 Starfield 萬用字元 SSL 證書調試此問題。
問題在於,在某些瀏覽器(例如,Safari 或您可以為 OS X 10.5.8 獲得的最新版 chrome)中,證書顯示為不受信任,即使在根域中也是如此。
我的伺服器設置/背景資訊:
- 一般 LAMP 設置 - CentOS 6.3 - 在 Godaddy VPS 上
- Starfield Technologies 萬用字元 SSL 證書
- 使用 Godaddy 支持頁面中的說明安裝
- ssl.conf 行基本如下:
SSLCertificateFile /path/to/cert/mysite.com.cert
SSLCertificateKeyFile /path/to/cert/mysite.key
SSLCertificateChainFile /path/to/cert/sf_bundle.crt
一切似乎都很好,直到前幾天晚上我注意到 OS X 中的問題時,我認為它與瀏覽器版本相關,但只能在特定機器上複製它。
我試過的:
- 從 godaddy 的 cert 儲存庫和 Starfield 的儲存庫版本更新 sf_bundle.crt
- 遵循Jim Phares 的此 ServerFault 答案- 將 ChainFile 行更改為 Starfield 儲存庫中的 sf_intermediate.crt
- 在我的網址上
使用http://www.sslshopper.com/ssl-checker.html
- 它表示該域在證書上正確列出,但出現一個錯誤,顯示證書在所有 Web 瀏覽器中不受信任。您可能需要安裝中間/鏈證書以將其連結到受信任的根證書。
接下來我可以嘗試什麼來解決不受信任的證書問題?
讓我知道是否需要任何其他資訊可能有助於調試此問題。提前致謝!
解決方案:
My problem ended up being that I had forgotten to add the SSLCertificateChainFile line to the virtual host(s) in my httpd.conf and had only been editing those lines in ssl.conf instead, thanks for all the suggestions!
你可以做兩件事:
- 驗證中間鏈
- 清理中間鏈
驗證中間鏈
正如錯誤似乎表明的那樣,您的中間證書鏈有些問題。你應該檢查你從哪裡得到你的證書,並且你得到了正確的中間包。
openssl x509 -noout -hash
您應該使用andopenssl x509 -noout -issuer_hash
命令驗證鏈中每個證書的“雜湊”和“頒發者雜湊” 。試試這個來獲取你的證書的頒發者雜湊:cat /path/to/cert/mysite.com.cert | openssl x509 -noout -issuer_hash
然後嘗試在
sf_bundle.crt
您指定為SSLCertificateChainFile
. 您可能必須提取證書(或只需將它們複製粘貼到命令中):cat first_cert_from_sf_bundle.crt | openssl x509 -noout -hash
檢查所有這些。如果沒有人有這個散列,那麼那裡有問題。繼續進行這些檢查,直到找到具有相同
-hash
和-issuer_hash
. 這是您的根證書。如果缺少某些內容,您可以在此處查看其他中間文件https://certs.starfieldtech.com/anonymous/repository.seam。下載這些並將它們
-hash
與-issuer_hash
您遇到的問題進行比較。如果一切正常,那麼……
清理中間鏈
當您遇到奇怪的驗證錯誤時,我已經看到這也有幫助。確保您的中間鏈僅以****正確的順序列出所需的證書(如果是 PEM 格式則更容易)。換句話說,如果你的鍊是
Your cert -> cert A -> cert B -> Starfield Root cert
. 嘗試按此順序附加這些(您可以跳過第一個和最後一個),以便您的中間鏈看起來像這樣:-----BEGIN CERTIFICATE----- cert A -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- cert B -----END CERTIFICATE-----
我個人喜歡將所有這些證書(個人證書、中間證書、根證書)保存在同一個文件中。然後我只是將此文件指定為
SSLCertificateFile
和SSLCertificateChainFile
。