.pfx 證書和 .cer 證書

悅光陰發表於2020-12-09

通常情況下,作為檔案形式存在的證書一般有三種格式:

  • 第一種:帶有私鑰的證書,由Public Key Cryptography Standards #12,PKCS#12標準定義,包含了公鑰和私鑰的二進位制格式的證書形式,以.pfx作為證書檔案字尾名。
  • 第二種:DER Encoded Binary (.cer)  二進位制編碼的證書,證書中沒有私鑰,DER 編碼二進位制格式的證書檔案,以.cer作為證書檔案字尾名。
  • 第三種:Base64 Encoded(.cer),Base64編碼的證書,證書中沒有私鑰,BASE64 編碼格式的證書檔案,也是以.cer作為證書檔案字尾名。

由定義可以看出,只有pfx格式的數字證書是包含有私鑰的,cer格式的數字證書裡面只有公鑰沒有私鑰。

Cer證書只包含公鑰資訊,如果客戶端與網站通訊時需要用到私鑰(基本所有需要數字證書的網站都會用到私鑰),則cer證書是無法正常訪問網站的,網站會提示“該頁要求客戶證書”。由於cer證書只包含公鑰資訊,一般只能用於解密使用(解密該公鑰對應的私鑰加密的資料)。在申請證書的機器上儲存了私鑰資訊,因此,可以把CER證書匯入為PFX證書,並可以把PFX證書匯出,這樣其他機器就可以安裝PFX證書了。

Pfx證書既可以匯出為pfx證書,也可以匯出為cer證書。Pfx證書匯出時,會提示是否匯出私鑰,匯出私鑰即pfx證書,不匯出私鑰就是cer證書。如果選擇匯出私鑰,出於安全性考慮,需要指定一個密碼來保護該私鑰,後續再次匯入該pfx證書時,需要提供保護該私鑰密碼,才能在機器上安裝證書。

一,證書描述

證書釋出之後,申請者可以看到證書的詳細內容,注意:申請者在下載cer證書之後,需要在申請證書的機器上匯入證書,原因是申請證書的機器上包含金鑰。

證書給出了一個黃色的注意事項:您可能正在一個臺計機器上下載證書,這臺計算機與您請求證書的機器不同。但是,該證書僅在生成請求的機器上起作用。如果需要把證書安裝在另一臺伺服器上,請首先將其安裝在最初建立請求的機器上,然後使用其私鑰匯出證書。 然後,在需要時,可以把其匯入到目標計算機或多臺計算機上的本地計算機儲存中。

由於申請證書的機器上儲存私鑰,因此,可以把CER證書匯入為PFX證書,並可以把PFX證書匯出,這樣其他機器就可以安裝PFX證書了。

二,匯入證書

注意,第一次匯入證書,只能把證書匯入到申請證書的機器上。

step1:下載DER Encoded Binary (.cer)格式的證書

step2:開啟Microsoft Management Console

點選“Windows + R”,輸入mmc,開啟MMC控制檯。

step3:新增證書管理單元(snap-ins)

點選MMC的File選單,選擇“Add or Remove Snap-ins”,選擇Certificates,點選“Add >”,選擇 computer account,

下一步選擇“Local computer: (the computer this consoled is running on)”,點選Finish按鈕,

完成之後,在“Add or Remove Snap-ins”對話方塊上點選OK,返回到MMC介面。

step4:匯入證書

在Console Root列表種選擇"Certificates(Local Computer)",右擊Personal,導航到 All Tasks -> Import,開啟“Certificate Import Wizard

點選Next,進入到“File to Import”介面,在File name中開啟已下載到本地的DER Encoded Binary (.cer)格式的證書

Step5,選擇證書儲存

點選Next,進入到“Certificate Store”介面,選擇Place certificates in the following store,把Personal作為 certificate store。

通常匯入PFX的證書,預設的證書儲存都是在Personal下,Cer證書只能匯入導Other選項卡下,無法匯入到Personal選項卡下。

Step6,檢查證書匯入的配置

點選Next,檢查證書的配置,點選Finish完成證書的第一次匯入:

三,匯出.pfx證書

把.cer 證書匯入到機器上之後,可以匯出.pfx證書。在MMC的Certificates列表中,找到剛才匯入的證書:

step1,開啟"Certificate Export Wizard"

選中匯入的證書,右擊彈出快捷選單,導航 All Tasks-> Export,開啟"Certificate Export Wizard":

step2: 匯出私鑰

私鑰是用密碼保護,如果想要把私鑰匯出,那麼必須用密碼來保護私鑰。預設是不會匯出私鑰,但是如果需要在其他機器上安裝證書,那麼就必須匯出私鑰,勾選“Yes, export the private key”:

step3:設定匯出檔案的格式

把匯出檔案的格式設定為.PFX,在“Personal Information Exchange-PKCS #12 (.PFX)”中,勾選“Include all certificates in the certification path if possible” 和 “Enable certificate privacy”。

Step4:安全設定

為了保護私鑰, 可以把私鑰授權給特定的group或user,並使用密碼對私鑰進行加密,使用者只有同時獲得pfx檔案和密碼,才可以獲得私鑰和證書。

Encryption列表中列出了對私鑰進行加密的兩種演算法,選擇任意一個加密演算法都可以:

如果匯出私鑰(pfx)是需要輸入密碼的,這個密碼就是對私鑰再次加密,這樣就保證了私鑰的安全,別人即使拿到了你的證書備份(pfx),如果不知道加密私鑰的密碼,那麼無法匯入證書。相反,如果只是匯入/匯出cer格式的證書,是不會提示你輸入密碼的。因為公鑰一般來說是對外公開的,不用加密。

Step5,設定匯出的檔案

把PFX檔案匯出到特定的檔案中,需要設定pfx證書儲存的檔名和路徑:

Step6:檢查證書匯出嚮導的設定

 檢查無誤後,點選Finish,匯出pfx證書。

 

 

參考文件:

相關文章