數字證書常見格式整理


數字證書常見標准

  • 符合PKI ITU-T X509標准,傳統標准(.DER .PEM .CER .CRT)
  • 符合PKCS#7 加密消息語法標准(.P7B .P7C .SPC .P7R)
  • 符合PKCS#10 證書請求標准(.p10)
  • 符合PKCS#12 個人信息交換標准(.pfx *.p12)
    X509是數字證書的基本規范,而P7和P12則是兩個實現規范,P7用於數字信封,P12則是帶有私鑰的證書實現規范。

x509

基本的證書格式,只包含公鑰。
x509證書由用戶公共密鑰和用戶標識符組成。此外還包括版本號、證書序列號、CA標識符、簽名算法標識、簽發者名稱、證書有效期等信息。

PKCS#7

Public Key Cryptography Standards #7。
PKCS#7一般把證書分成兩個文件,一個公鑰、一個私鑰,有PEM和DER兩種編碼方式。PEM比較多見,是純文本的,一般用於分發公鑰,看到的是一串可見的字符串,通常以.crt,.cer,.key為文件后綴。DER是二進制編碼。
PKCS#7一般主要用來做數字信封。

PKCS#10

證書請求語法。

PKCS#12

Public Key Cryptography Standards #12。
一種文件打包格式,為存儲和發布用戶和服務器私鑰、公鑰和證書指定了一個可移植的格式,是一種二進制格式,通常以.pfx或.p12為文件后綴名。
使用OpenSSL的pkcs12命令可以創建、解析和讀取這些文件。
P12是把證書壓成一個文件,xxx.pfx 。主要是考慮分發證書,私鑰是要絕對保密的,不能隨便以文本方式散播。所以P7格式不適合分發。.pfx中可以加密碼保護,所以相對安全些。

PKCS系列標准

實際上PKCS#7、PKCS#10、PKCS#12都是PKCS系列標准的一部分。相互之間並不是替代的關系,而是對不同使用場景的定義。

證書編碼格式

PEM和DER兩種編碼格式。

PEM

Privacy Enhanced Mail
查看內容,以"-----BEGIN..."開頭,以"-----END..."結尾。
查看PEM格式證書的信息:openssl x509 -in certificate.pem -text -noout
Apache和*NIX服務器偏向於使用這種編碼格式。

DER

Distinguished Encoding Rules
打開看是二進制格式,不可讀。
查看DER格式證書的信息:openssl x509 -in certificate.der -inform der -text -noout
Java和Windows服務器偏向於使用這種編碼格式。

各種后綴含義

文件的內容和后綴沒有必然的關系,但是一般使用這些后綴來表示這是什么文件。

JKS

Java Key Store(JKS)。

CSR

證書請求文件(Certificate Signing Request)。
這個並不是證書,而是向權威證書頒發機構獲得簽名證書的申請,其核心內容是一個公鑰(當然還附帶了一些別的個人信息)。
查看的辦法:openssl req -noout -text -in my.csr,DER格式的話加上-inform der。

CER

一般指使用DER格式的證書。

CRT

證書文件。可以是PEM格式。

KEY

通常用來存放一個公鑰或者私鑰。
查看KEY的辦法:openssl rsa -in mykey.key -text -noout
如果是DER格式的話,同理應該這樣了:openssl rsa -in mykey.key -text -noout -inform der
這是使用RSA算法生成的key這么查看,DSA算法生成的使用dsa參數。

CRL

證書吊銷列表 (Certification Revocation List),是一種包含撤銷的證書列表的簽名數據結構。


免責聲明!

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



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