如何使用 StartSSL 中的 SSL 證書文本創建 SSL 證書?
我收到了StartSSL為我的域提供的純文字證書,看起來有點像:
-----BEGIN CERTIFICATE----- [...]Many letters and digits[...] -----END CERTIFICATE-----
我正在嘗試使用此處找到的說明
.cer
從中創建一個文件。除了證書文本,我還需要在OpenSSL命令行上像這樣傳遞私鑰文本*(如果錯誤,請糾正我) :*text
openssl pkcs12 -export -out mycertkey.p12 -in certificate.txt -inkey key.txt
更新: StartSSL 站點上的Create PKCS#12 (PFX) File選項也需要文本中的私鑰。根據Micheal 的 評論進行了嘗試
根據最近與 StartSSL 人員的對話,我嘗試在Converter 網站上生成 .cer 文件,但沒有生成 .cer 文件的選項
根據我與 StartSSL 人員的討論電子郵件執行緒,我相信私鑰在我的 CSR 中,但是當我使用
pkcs
OpenSSL 工具上的實用程序將其作為密鑰提供時,我沒有得到很好的結果:**問題:**如何提供私鑰文本?我的意思是 StartSSL 工具箱上的私鑰文本在哪裡?或者如何從我的證書中將其提取為文本?
您說您想創建一個
.cer
文件,但您連結的說明並沒有這樣做。一個.cer
文件通常只包含一個證書,或者很少包含多個證書,而一個.p12
or.pfx
文件的全部目的(它們基本上是同一件事)是包含一個privatekey AND cert(s)。如果您嘗試執行 SSL/TLS 伺服器(例如 HTTPS,還需要 LDAPS SMTPS FTPS 等),您確實需要私鑰和證書,否則通常不需要。私鑰用於生成CSR,但不在其中;CSR 被發送給其他人,因此它不會是私有的。它不在 StartSSL,因為那不是私有的。它不在您的證書中,因為那不是私人的。
看看你的
.pfx
with中有什麼openssl pkcs12 -in whatever.pfx -nodes
。如果輸出至少包含一個以一行開頭的塊,-----BEGIN PRIVATE KEY-----
然後是幾行所有或幾乎所有字母和數字,那麼一行-----END PRIVATE KEY-----
你有一些私鑰。(如果使用低於 1.0.0 版的 OpenSSL,它會說RSA PRIVATE KEY
,而不是只是PRIVATE KEY
.)如果是這樣,請執行:openssl pkcs12 -in whatever.pfx -nocerts -nodes -out key.txt
. 現在試試openssl pkcs12 -export
你的問題。如果它沒有給出錯誤並且沒有說“沒有證書與私鑰匹配”,那麼您擁有正確的密鑰。此時,結果可以導入到 Windows 商店並供 IIS 使用,也可以直接供某些程序使用,例如 Tomcat。然而,一個 SSL/TLS 伺服器也應該有鏈證書。今天的 CA 大多使用一個鏈證書(以及根,您在這裡不需要);有些人使用兩個或偶爾更多。哪個鏈證書正確取決於您獲得的證書類型(驗證和類別);StartSSL 網站應該能夠告訴你。如果您沒有獲取和配置正確的鏈證書,您的伺服器將執行,但客戶端有時會無法連接到它,可能幾乎一直如此,也可能很少。以 PEM 格式獲取正確的鏈證書(您已經看到的,帶有
-----BEGIN CERTIFICATE-----
through-----END CERTIFICATE-----
)並將它們放入一個文件中,例如chain.txt
,然後添加-certfile chain.txt
到您的pkcs12 -export
命令中。PS-大多數人和範例
.pem
不使用.txt
這些 PEM 格式文件的副檔名。該openssl
軟體可以以任何方式工作,但它對人們更有意義和有幫助。