2013/06/20

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

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



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

.■■■ - PKCS#12/PFX 格式 : 擴展名為 .pfx 和 .p12
PKCS#12 或  PFX 格式是以加密的二進制形式存儲服務器認證證書,中級認證證書和私鑰。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文件包含認證證書和私鑰,需要把它們分開存儲才能使用。
.■■■ -
.■■■ -
.■■■ -
.■■■ -
.■■■ -
.■■■ -
.■■■ -

-
-

0 意見: