您正在查看 Apigee Edge 說明文件。
前往 Apigee X 說明文件。info
本文將說明如何將 TLS 憑證和相關聯的私密金鑰轉換為 PEM 或 PFX (PKCS #12) 格式。
Apigee Edge 僅支援在 KeyStore 和信任存放區中儲存 PEM 或 PFX 格式的憑證。將憑證從任何現有格式轉換為 PEM 或 PFX 格式的步驟需要使用 OpenSSL 工具包,且適用於任何可使用 OpenSSL 的環境。
事前準備
使用本文件中的步驟前,請務必瞭解下列主題:
- 如果您不熟悉 PEM 或 PFX 格式,請參閱關於 TLS/SSL。
- 如果您不熟悉憑證格式,請參閱「安全資料傳輸層 (SSL) 憑證格式」。
- 如果您不熟悉 OpenSSL 程式庫,請參閱 OpenSSL 相關說明。
- 如要使用本指南中的指令列範例,請安裝或更新至最新版的 OpenSSL 用戶端。
將憑證從 DER 格式轉換為 PEM 格式
本節說明如何將憑證與相關聯的私密金鑰從 DER 格式轉換為 PEM 格式。
-
將包含完整憑證鏈結 (
certificate.der
) 和相關私密金鑰 (private_key.der
) 的檔案,傳輸至使用scp
、sftp
或任何其他公用程式安裝 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 格式。
- 將包含完整憑證鏈結 (
certificate.p7b
) 的檔案轉移至您要轉換為 PEM 格式的機器,並使用scp
、sftp
或任何其他公用程式安裝 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 格式在許多方面都更為方便,包括驗證。
-
將您要轉換為 PEM 格式的憑證和私密金鑰 (
certificate.pfx
、Intermediate.pfx
CACert.pfx
、privateKey.key
),轉移至使用scp
、sftp
或任何其他公用程式安裝 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 格式,您也必須取得私密金鑰。
-
將要轉換為 PFX 的憑證 (
certificate.p7b
) 轉移至使用scp
、sftp
或任何其他公用程式安裝 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 的裝置。
-
在檔案所在的目錄中執行下列指令,將檔案封裝成 PKCS12 檔案,並使用別名 myalias。按照系統提示輸入適當的密碼:
openssl pkcs12 -export -in certificate.pem -inkey private.key -out keystore.pfx -name myalias