數字證書的格式普遍采用的是 X.509 V3 國際標準,壹個標準的 X.509 數字證書包含以下壹些內容:
X.509 定義了數字證書格式的標準,詳情請參見維基百科詞條 ,通過 Openssl 命令行 openssl x509 -in certificate.crt -text -noout 工具可以查看證書格式。
證書擴展名現在基本上都在混用,所以擴展名並不能唯壹確認證書的存儲格式,只有根據文件內容來確定它是二進制存儲還是 Base64 編碼格式存儲。
.key 壹般用於存儲 Base64 格式編碼的私鑰
.pem .cer .crt (Privacy-enhance Electronic Mail) DER 二進制格式的 Base64 編碼,並在編碼頭尾加上起始行 -----BEGIN CERTIFICATE----- 和結束行 -----END CERTIFICATE-----
.der .cer .crt DER 二進制格式證書編碼,不可讀,不方便證書的傳遞和交換
.p12 壹般包含了證書和對稱加密後的私鑰
.pfx 是p12的前身
考慮壹個問題,為什麽沒有用私鑰加密公鑰解密的場景?因為公鑰是公開發布的,如果要用壹個公開發布的秘鑰來解密,這個場景就不是加解密,而是數字簽名。
數字簽名過程