Ssl
當證書與其頒發者捆綁在一起時,Apache 不接受證書的密鑰
我正在為 Intranet 設置證書頒發機構。有一個根證書將安裝在所有網路機器上,一個由根簽名的中間證書,以及一個由中間簽名的 http 伺服器證書。
我需要捆綁 http 和中間證書,以便它們由 root 驗證
#> cat intermediate.crt server.crt > both.crt #> openssl verify -CAfile root.crt both.crt OK
但是,我不能將
both.crt
andserver.private.key
用於內部網站,因為當 apache 啟動時:Certificate and private key mysite.com:443:0 from /www/both.crt and /www/server.private.key do not match
這是因為
intermediate.crt
是 中的第一個條目both.crt
。如果我切換順序,server.crt
然後intermediate.crt
apache 啟動但both.crt
不會針對root.crt
.要求是
root.crt
永久安裝,但server.crt
可能intermediate.crt
會發生變化,需要由 apache 臨時提供。如何建構 apache 接受的證書包?
將伺服器證書作為
SSLCertificateFile
指令的參數,並將包含所有從屬 CA(不包括根 CA)的文件作為SSLCertificateChainFile
. 最後,您的伺服器證書的私鑰作為參數SSLCertificateKeyFile
:SSLCertificateFile /etc/pki/tls/certs/server.pem SSLCertificateChainFile /etc/pki/tls/certs/bundle.pem SSLCertificateKeyFile /etc/pki/tls/private/server.key