將憑證轉換為支援的格式

您正在查看 Apigee Edge 說明文件。
查看 Apigee X 說明文件
資訊

本文說明如何將傳輸層安全標準 (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 格式。

  1. 將含有完整憑證鏈結 (certificate.der) 和相關私密金鑰 (private_key.der) 的檔案,轉移至使用 scpsftp 或任何其他公用程式安裝 OpenSSL 的機器。

    舉例來說,使用 scp 指令,在含有 OpenSSL 的伺服器上,將檔案傳輸至 /tmp 目錄,如下所示:

    scp certificate.der servername:/tmp
    scp private_key.der servername:/tmp
    

    其中 servername 是包含 OpenSSL 的伺服器名稱。

  2. 登入已安裝 OpenSSL 的電腦。
  3. 從憑證所在的目錄執行下列指令,將憑證和相關聯的私密金鑰從 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
    
  4. 確認憑證已轉換為 PEM 格式

將憑證從 P7B 格式轉換為 PEM 格式

本節說明如何將憑證從 P7B 格式轉換為 PEM 格式。

  1. 將含有完整憑證鏈結 (certificate.p7b) 的檔案,轉移至使用 scpsftp 或任何其他公用程式安裝 OpenSSL 的機器。

    舉例來說,使用 scp 指令,在含有 OpenSSL 的伺服器上,將檔案傳輸至 /tmp 目錄,如下所示:

    scp certificate.p7b servername:/tmp
    

    其中 servername 是包含 OpenSSL 的伺服器名稱。

  2. 登入已安裝 OpenSSL 的電腦。
  3. 在憑證所在的目錄中,執行下列指令,將憑證從 P7B 格式轉換為 PEM 格式:
    openssl pkcs7 -print_certs -in certificate.p7b -out certificate.pem
    
  4. 確認憑證已轉換為 PEM 格式

將憑證從 PFX 格式轉換為 PEM 格式

本節說明如何將 TLS 憑證從 PFX 格式轉換為 PEM 格式。

將 PFX 檔案轉換為 PEM 格式時,OpenSSL 會將所有憑證和私密金鑰放入單一檔案。您需要使用文字編輯器開啟檔案,並將每個憑證和私密金鑰 (包括 BEGIN/END 陳述式) 複製到個別文字檔案,並分別儲存為 certificate.pfxIntermediate.pfx (如適用)、CACert.pfxprivateKey.key

Apigee 支援 PFX/PKCS #12 格式,不過 PEM 格式非常方便,有許多原因造成驗證。

  1. 將要轉換成 PEM 格式的憑證和私密金鑰 (certificate.pfxIntermediate.pfx CACert.pfxprivateKey.key),轉移至使用 scpsftp 或任何其他公用程式安裝 OpenSSL 的機器。

    舉例來說,使用 scp 指令,在含有 OpenSSL 的伺服器上,將檔案傳輸至 /tmp 目錄,如下所示:

    scp certificate.pfx servername:/tmp
    

    其中 servername 是包含 OpenSSL 的伺服器名稱。

  2. 登入已安裝 OpenSSL 的電腦。
  3. 在憑證所在的目錄中,執行下列指令,將憑證從 P7B 格式轉換為 PEM 格式:
    openssl pkcs12 -in certificate.pfx -out certificate.pem -nodes
    
  4. 確認憑證已轉換為 PEM 格式

將憑證從 P7B 格式轉換為 PFX 格式

本節說明如何將 TLS 憑證從 P7B 格式轉換為 PFX 格式。

如要轉換為 PFX 格式,您也必須取得私密金鑰。

  1. 將您要轉換為 PFX 的憑證 (certificate.p7b) 轉移至使用 scpsftp 或任何其他公用程式安裝 OpenSSL 的機器。

    舉例來說,使用 scp 指令,在含有 OpenSSL 的伺服器上,將檔案傳輸至 /tmp 目錄,如下所示:

    scp certificate.p7b servername:/tmp
    scp private_key.key servername:/tmp
    

    其中 servername 是包含 OpenSSL 的伺服器名稱。

  2. 登入已安裝 OpenSSL 的電腦。
  3. 從憑證所在的目錄執行下列指令,將憑證從 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 格式。

  1. 如要查看 PEM 格式的憑證,請執行下列指令:
    openssl x509 -in certificate.pem -text -noout
    
  2. 如果能夠以人類可讀的格式查看憑證內容,並沒有任何錯誤,那麼可以確認憑證為 PEM 格式。
  3. 如果憑證是其他格式,系統會顯示下列錯誤訊息:
    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