
我的公司在同一台伺服器上託管 example.com 和 sub.example.com,並使用 *.example.com 的通配符 SSL 憑證。現在是時候更新我們的證書了,但我們不確定如何獲得該證書。我的老闆認為我們沒有支付他們看似花費的 200 美元。我的老經理(幾天前離開公司)是安裝它的人,他不記得自己到底做了什麼,但他認為他必須產生一些東西,而不僅僅是使用 CA 給我們的文件。
apache 配置有這些行,且沒有其他未註解的 SSL*File 行:
SSLCertificateFile /usr/local/ssl/cert/example.com.crt
SSLCACertificateFile /usr/local/ssl/cert/intermediate.crt
SSLCertificateKeyFile /usr/local/ssl/private/example.com-wild.key
當我檢查 middle.crt ( openssl x509 -in intermediate.crt -text -noout
) 時,它根本沒有提及我們的組織或網站,而且它的有效期為 2010-2020 年。
Data:
Version: 3 (0x2)
Serial Number: 145105 (0x236d1)
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=US, O=GeoTrust Inc., CN=GeoTrust Global CA
Validity
Not Before: Feb 19 22:45:05 2010 GMT
Not After : Feb 18 22:45:05 2020 GMT
Subject: C=US, O=GeoTrust, Inc., CN=RapidSSL CAb
example.com.crt 是通配符:
Data:
Version: 3 (0x2)
Serial Number: 1113972 (0x10ff74)
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=US, O=GeoTrust, Inc., CN=RapidSSL CA
Validity
Not Before: Mar 1 09:05:39 2014 GMT
Not After : Mar 4 09:08:54 2015 GMT
Subject: serialNumber=T0nuTvfeaQVtd3dZ30zGI94HrvUsoRjx, OU=GT53409919, OU=See www.rapidssl.com/resources/cps (c)14, OU=Domain Control Validated - RapidSSL(R), CN=*.example.com
我不了解 SSL 基礎設施,所以我想我有很多相關的問題。如果事實證明它們根本沒有關係,我深感抱歉;我不知道我不知道什麼。
如果我們沒有支付 200 美元或其他費用,我們如何獲得通配符證書? (如果我們可以只用middle.crt 創建它,我會感到有點驚訝,因為這樣我們就可以繼續生成它們直到2020 年。但是/usr/local/ssl 中沒有其他文件,/etc/pki 中也沒有任何文件/tls 自2013 年以來已進行修改,那麼我們還能使用什麼?是可能的。
我們從哪裡得到intermediate.crt?
Intermediate.crt 有什麼作用?我有一個自簽名通配符證書,可以在我們的測試伺服器上正常工作(除了它是自簽署的),沒有 SSLCACertificateFile 行;我們已經購買了一個保護 example.com 的非通配符證書,我已成功使用沒有 SSLCACertificateFile 的 VirtualHost 安裝該證書,並且我們正在為我計劃的 sub.example.com 獲取證書以相同的方式安裝。非自簽章通配符憑證是否需要 SSLCACertificateFile?
我產生自簽名憑證的方式感覺可能是相關的:
openssl req -nodes -new -keyout private/example.com.key -out certs/intermediate.csr openssl x509 -req -days 365 -in certs/intermediate.csr -signkey private/file.key -out certs/example.com.crt
但在這種情況下,我不需要在 apache 設定中提及 middle.csr,而且 middle.csr 不能
openssl x509
像 middle.crt 檔案那樣被檢查。
答案1
How did we get the wildcard certificate, if we didn't pay $200 or whatever for it?
比你現在找到的更便宜的 CA 嗎?我相信您會找到價格較低的經銷商。
Where did we get intermediate.crt? What does intermediate.crt do?
您可以從 CA 獲得該資訊。 CA 通常不會直接使用根證書簽署證書,而是透過中間證書來簽署證書。此中間證書為客戶簽署證書,然後由瀏覽器和作業系統信任的根證書簽署。這稱為憑證鏈,也是 Apache 有一個單獨的參數SSLCACertificateFile
來提供從網站憑證到 CA 憑證的這條鏈的原因。
我有一個自簽名通配符證書,可以在我們的測試伺服器上正常工作(除了它是自簽署的),沒有 SSLCACertificateFile 行;
然後您測試的瀏覽器也信任中間證書,但您不能依賴它。您也可以使用SSLLabs ssl測試檢查您的鍊是否不完整或錯過中間部分的工具(稱為額外下載)。
非自簽章通配符憑證是否需要 SSLCACertificateFile?
不,因為在這種情況下沒有證書鏈,請參見上文。
答案2
根據您的憑證和中間內容中的詳細信息,似乎很清楚您的前經理確實一年前為 RapidSSL 的通配符憑證支付了任何費用。他必須產生的可能是提交給 RapidSSL 的憑證請求。