數字證書DER、 PEM等編碼格式以及PKCS1,PKCS8


我們知道,在 HTTPS(HTTP over SSL)請求的 SSL 握手階段,服務端以數字證書的方式將 RSA 公鑰傳給客戶端,以保證公鑰在傳輸過程中不被篡改,而公鑰將用於加密后續數據傳輸對稱加密的密鑰;

我們下面來了解一下證書的標准、編碼格式以及常見的文件擴展名。

X509 文件擴展名

首先我們要理解文件的擴展名代表什么。DER、PEM、CRT和CER這些擴展名經常令人困惑。很多人錯誤地認為這些擴展名可以互相代替。盡管的確有時候有些擴展名是可以互換的,但是最好你能確定證書是如何編碼的,進而正確地標識它們。正確地標識證書有助於證書的管理。

編碼 (也用於擴展名)

.DER : 擴展名DER用於二進制DER編碼的證書。這些證書也可以用CER或者CRT作為擴展名。比較合適的說法是“我有一個DER編碼的證書”,而不是“我有一個DER證書”。

.PEM :  擴展名PEM用於ASCII(Base64)編碼的各種X.509 v3 證書。文件開始由一行"—– BEGIN …“開始。如“BEGIN RSA PRIVATE KEY”

常用的擴展名

CRT : 擴展名CRT用於證書。證書可以是DER編碼,也可以是PEM編碼。擴展名CER和CRT幾乎是同義詞。這種情況在各種unix/linux系統中很常見。

CER : CRT證書的微軟型式。可以用微軟的工具把CRT文件轉換為CER文件(CRT和CER必須是相同編碼的,DER或者PEM)。擴展名為CER的文件可以被IE識別並作為命令調用微軟的cryptoAPI(具體點就是rudll32.exe cryptext.dll, CyrptExtOpenCER),進而彈出一個對話框來導入並/或查看證書內容。

KEY : 擴展名KEY用於PCSK#8的公鑰和私鑰。

這些公鑰和私鑰可以是DER編碼或者PEM編碼。

CRT文件和CER文件只有在使用相同編碼的時候才可以安全地相互替代。

 

公鑰加密標准(Public Key Cryptography Standards, PKCS),BEGIN RSA PRIVATE KEY是PKCS#1,BEGIN PRIVATE KEY是PKCS#8


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM