
我正在嘗試從 godaddy 加載伺服器證書,因此有 xxxxxxx.crt 和 bundle.crt,我已經製作了一個用於建立證書的金鑰/csr。我現在正在嘗試加載另一個證書,因為我們使用的手機必須與我們的伺服器握手,然後希望發現製造商 CA 進行安全配置。
我的初始配置如下:
<VirtualHost ip.ip.ip.ip:443>
JkMount /* worker1
JkMount / worker1
ServerAdmin [email protected]
ServerName identifier.server.domain.co.uk
SSLEngine on
SSLVerifyClient require
SSLCertificateFile /path/path/XXXXXXXXxxxxxxx.crt
SSLCACertificateFile /path/path/gd_bundle-g2.crt
SSLCertificateKeyFile /path/path/polycom.key
SSLCertificateFile /path/path/Polycom_Root_CA.crt
SSLVerifyDepth 10
SSLOptions +ExportCertData
ErrorLog logs/identifier.server.domain.co.uk-error_log
CustomLog logs/identifier.server.domain.co.uk-access_log common
</VirtualHost>
當我註解掉 Polycom 憑證時,我可以重新啟動 httpd,不會出現任何錯誤,但嘗試包含此內容會導致重新啟動。我是否在做一些極其愚蠢的事情,或者我是否必須將證書連接在一起?
答案1
您無法在單一虛擬主機中載入兩個憑證。這個不成立
規則是每個虛擬主機一個 x509 憑證。
如果您想在簽署您的憑證的鏈中新增 CA,只需將它們新增至單一 SSLCACertificateFile 即可。
另外,請記住,在 2.4 中,您可以跳過 SSLCACertificateFile 並將所有憑證鏈新增至 SSLCertificateFile 中從葉片到根。
答案2
透過將 Polycom CA 檔案格式化為 PEM 而不是 DER 並將其設為 SSLCACertificateFile,並進行更改,解決了我發現的問題;
SSLCertificateChainFile /path/path/gd_bundle-g2.crt
我現在得到了從電話到伺服器的積極握手,並傳送了安全資料包。