證書格式簡介及不同格式之間的轉換方式


1.證書格式

PEM 格式

PEM格式通常用於數字證書認證機構(Certificate Authorities,CA),擴展名為.pem, .crt, .cer, and .key。內容為Base64編碼的ASCII碼文件,有類似"-----BEGIN CERTIFICATE-----" 和 "-----END CERTIFICATE-----"的頭尾標記。服務器認證證書,中級認證證書和私鑰都可以儲存為PEM格式(認證證書其實就是公鑰)。Apache和類似的服務器使用PEM格式證書。

DER 格式

DER格式與PEM不同之處在於其使用二進制而不是Base64編碼的ASCII。擴展名為.der,但也經常使用.cer用作擴展名,所有類型的認證證書和私鑰都可以存儲為DER格式。Java使其典型使用平台。

PKCS#7/P7B 格式

PKCS#7 或 P7B格式通常以Base64的格式存儲,擴展名為.p7b 或 .p7c,有類似BEGIN PKCS7-----" 和 "-----END PKCS7-----"的頭尾標記。PKCS#7 或 P7B只能存儲認證證書或證書路徑中的證書(就是存儲認證證書鏈,本級,上級,到根級都存到一個文件中)。不能存儲私鑰,Windows和Tomcat都支持這種格式。

PKCS#12/PFX 格式

PKCS#12 或 PFX格式是以加密的二進制形式存儲服務器認證證書,中級認證證書和私鑰。擴展名為.pfx 和 .p12,PXF通常用於Windows中導入導出認證證書和私鑰。

 

2.轉換方式

可以使用OpenSSL命令行工具在不同證書格式之間的轉換

 

PEM to DER

openssl x509 -outform der -in certificate.pem -out certificate.der

PEM to P7B

openssl crl2pkcs7 -nocrl -certfile certificate.cer -out certificate.p7b -certfile CACert.cer

PEM to PFX

openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt

DER to PEM

openssl x509 -inform der -in certificate.cer -out certificate.pem

P7B to PEM

openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer

PFX to PEM

openssl pkcs12 -in certificate.pfx -out certificate.cer -nodes

PXF轉PEM后certificate.cer文件包含認證證書和私鑰,需要把它們分開存儲才能使用。


免責聲明!

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



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