Công cụ

Công cụ chuyển đổi định dạng các tệp SSL

PEM
DER/Binary

- Các định dạng tệp SSL

Định dạng PEM:
Định dạng PEM được mã hoá theo dạng ASCII Base64. PEM chính là định dạng phổ biến nhất trong số các loại chứng chỉ SSL. Các nhà cấp phát SSL (CA) cũng thường cung cấp chứng chỉ theo định dạng này. PEM được bắt đầu bằng dòng "-----BEGIN CERTIFICATE-----" và kết thúc với dòng "-----END CERTIFICATE-----". Chứng chỉ PEM có phần mở rộng là .pem, .crt, .cer và .key. Thường được sử dụng cho máy chủ Apache.
Định dạng DER:
Định dạng DER được mã hoá theo dạng nhị phân của PEM. Chứng chỉ DER có phần mở rộng là .der.cer. Thường được sử dụng cho máy chủ JAVA.
Định dạng PKCS#7 hoặc P7B:
Định dạng PKCS#7 hoặc P7B được mã hóa theo dạng ASCII Base64. Chứng chỉ này được bắt đầu bằng dòng "----- BEGIN PKCS7 -----" và kết thúc với dòng "----- END PKCS7 -----". Điểm đặc biệt của tệp p7B là chỉ chứa các chuỗi chứng chỉ chứ không chứa khóa riêng (Private key). Chứng chỉ PKCS#7 hoặc P7B có phần mở rộng là .p7b.p7c. Thường được sử dụng cho máy chủ Microsoft WindowsJava Tomcat.
Định dạng PKCS#12 hoặc PFX:
Định dạng PKCS#12 hoặc PFX được mã hóa theo dạng nhị phân. Loại chứng chỉ này lưu trữ chứng chỉ máy chủ cũng như chứng chỉ trung gian và khóa riêng trong một tệp được mã hóa. Chứng chỉ PKCS#12 hoặc PFX có phần mở rộng là .pfx.p12. Thường được sử dụng cho máy chủ Microsoft Windows.

- Một số lệnh chuyển đổi định dạng được dùng trong OpenSSL

Chuyển đổi từ PEM sang DER:
openssl x509 -outform der -in certificate.pem -out certificate.der
Chuyển đổi từ PEM sang PKCS#7/P7B:
openssl crl2pkcs7 -nocrl -certfile certificate.cer -out certificate.p7b -certfile CACert.cer
Chuyển đổi từ PEM sang PKCS#12/PFX:
openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt
Chuyển đổi từ DER sang PEM:
openssl x509 -inform der -in certificate.cer -out certificate.pem
Chuyển đổi từ PKCS#7/P7B sang PEM:
openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
Chuyển đổi từ PKCS#7/P7B sang PKCS#12/PFX:
openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
openssl pkcs12 -export -in certificate.cer -inkey privateKey.key -out certificate.pfx -certfile CACert.cer
Chuyển đổi từ PKCS#12/PFX sang PEM:
openssl pkcs12 -in certificate.pfx -out certificate.cer -nodes