您目前查看的是 Apigee Edge 說明文件。
前往 Apigee X 說明文件。 info
本文說明如何將 TLS 憑證和相關聯的私密金鑰轉換為 PEM 或 PFX (PKCS #12) 格式。
Apigee Edge 僅支援在金鑰庫和信任儲存區中儲存 PEM 或 PFX 格式的憑證。 將現有格式的憑證轉換為 PEM 或 PFX 格式的步驟,取決於 OpenSSL 工具包,適用於任何可使用 OpenSSL 的環境。
事前準備
使用本文中的步驟前,請務必瞭解下列主題:
- 如果您不熟悉 PEM 或 PFX 格式,請參閱「關於 TLS/SSL」。
- 如果不熟悉憑證格式,請參閱「安全資料傳輸層 (SSL) 憑證格式」。
- 如果您不熟悉 OpenSSL 程式庫,請參閱 OpenSSL。
- 如要使用本指南中的指令列範例,請安裝或更新至最新版本的 OpenSSL 用戶端。
將憑證從 DER 格式轉換為 PEM 格式
本節說明如何將憑證和相關聯的私密金鑰從 DER 格式轉換為 PEM 格式。
-
使用
scp、sftp或任何其他公用程式,將含有完整憑證鏈結 (certificate.der) 和相關聯私密金鑰 (private_key.der) 的檔案傳輸到已安裝 OpenSSL 的電腦,以便轉換為 PEM 格式。舉例來說,使用
scp指令將檔案傳輸至伺服器上含有 OpenSSL 的/tmp目錄,如下所示:scp certificate.der servername:/tmp scp private_key.der servername:/tmp
其中 servername 是含有 OpenSSL 的伺服器名稱。
- 登入安裝 OpenSSL 的電腦。
-
從憑證所在的目錄執行下列指令,將憑證和相關聯的私密金鑰從 DER 格式轉換為 PEM 格式:
openssl x509 -inform DER -in certificate.der -outform PEM -out certificate.pem openssl rsa -inform DER -in private_key.der -outform PEM -out private.key
- 確認憑證已轉換為 PEM 格式。
將 P7B 格式的憑證轉換為 PEM 格式
本節說明如何將 P7B 格式的憑證轉換為 PEM 格式。
- 使用
scp、sftp或任何其他公用程式,將包含要轉換為 PEM 格式的完整憑證鏈結 (certificate.p7b) 的檔案,傳輸至已安裝 OpenSSL 的機器。舉例來說,使用
scp指令將檔案傳輸至含有 OpenSSL 的伺服器上的/tmp目錄,如下所示:scp certificate.p7b servername:/tmp
其中 servername 是含有 OpenSSL 的伺服器名稱。
- 登入安裝 OpenSSL 的電腦。
-
在憑證所在的目錄中,執行下列指令,將憑證從 P7B 格式轉換為 PEM 格式:
openssl pkcs7 -print_certs -in certificate.p7b -out certificate.pem
- 確認憑證已轉換為 PEM 格式。
將 PFX 格式的憑證轉換為 PEM 格式
本節說明如何將 TLS 憑證從 PFX 格式轉換為 PEM 格式。
將 PFX 檔案轉換為 PEM 格式時,OpenSSL 會將所有憑證和私密金鑰放入單一檔案。您需要使用文字編輯器開啟檔案,將每個憑證和私密金鑰 (包括 BEGIN/END 陳述式) 複製到個別文字檔,並分別儲存為 certificate.pfx、Intermediate.pfx (如適用)、CACert.pfx 和 privateKey.key。
Apigee 確實支援 PFX/PKCS #12 格式,但 PEM 格式有許多優點,包括驗證。
-
使用
scp、sftp或任何其他公用程式,將要轉換為 PEM 格式的憑證和私密金鑰 (certificate.pfx、Intermediate.pfx、CACert.pfx、privateKey.key) 傳輸至已安裝 OpenSSL 的電腦。舉例來說,使用
scp指令將檔案傳輸至伺服器上含有 OpenSSL 的/tmp目錄,如下所示:scp certificate.pfx servername:/tmp
其中 servername 是含有 OpenSSL 的伺服器名稱。
- 登入安裝 OpenSSL 的電腦。
-
在憑證所在的目錄中,執行下列指令,將憑證從 P7B 格式轉換為 PEM 格式:
openssl pkcs12 -in certificate.pfx -out certificate.pem -nodes
- 確認憑證已轉換為 PEM 格式。
將 P7B 格式的憑證轉換為 PFX 格式
本節說明如何將 TLS 憑證從 P7B 格式轉換為 PFX 格式。
如要轉換為 PFX 格式,您也必須取得私密金鑰。
-
使用
scp、sftp或任何其他公用程式,將要轉換為 PFX 的憑證 (certificate.p7b) 轉移至已安裝 OpenSSL 的電腦。舉例來說,使用
scp指令將檔案傳輸至伺服器上含有 OpenSSL 的/tmp目錄,如下所示:scp certificate.p7b servername:/tmp scp private_key.key servername:/tmp
其中 servername 是含有 OpenSSL 的伺服器名稱。
- 登入安裝 OpenSSL 的電腦。
-
在憑證所在的目錄中,執行下列指令,將憑證從 P7B 轉換為 PFX 格式,並將實體和中繼 CA 憑證匯出至個別檔案:
openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer openssl pkcs12 -export -in certificate.cer -inkey private_key.key -out certificate.pfx -certfile CACert.cer
確認憑證為 PEM 格式
本節說明如何確認憑證為 PEM 格式。
- 如要查看 PEM 格式的憑證,請執行下列指令:
openssl x509 -in certificate.pem -text -noout
- 如果可以查看憑證內容,且格式容易閱讀,沒有任何錯誤,則可確認憑證為 PEM 格式。
-
如果憑證採用其他格式,您會看到類似下列的錯誤訊息:
unable to load certificate 12626:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:647:Expecting: TRUSTED CERTIFICATE View DER encoded Certificate
將 PEM 金鑰和憑證檔案封裝為 PKCS12/PFX
-
請確認私密金鑰檔案為 PEM 格式。如果是憑證,且您有鏈結的個別 PEM 檔案,請在文字編輯器中開啟每個檔案,然後將這些檔案串連成單一檔案,如下所示:
-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----
-
使用
scp、sftp或任何其他公用程式,將檔案轉移到已安裝 OpenSSL 的電腦:scp certificate.pem servername:/tmp scp private.key servername:/tmp
- 登入安裝 OpenSSL 的電腦。
-
在檔案所在的目錄中執行下列指令,將檔案封裝至別名為 myalias 的 PKCS12 檔案。按照系統提示輸入適當的密碼:
openssl pkcs12 -export -in certificate.pem -inkey private.key -out keystore.pfx -name myalias