Różne formaty certyfikatów SSL
Różne formaty certyfikatów SSL
PEM FORMAT
Format PEM jest najczęściej stosowanym formatem wśród certyfikatów SSL wydawanych przez urzędy certyfikacji. Ten typ certyfikatu zawiera następujące wiersze: "----- BEGIN CERTIFICATE -----" i "----- END CERTIFICATE -----". Certyfikaty z rozszerzeniem .pem są identyczne z rozszerzeniami .crt lub .cer. W ten sposób możliwe jest zmodyfikowanie rozszerzenia tych plików. Certyfikaty PEM mogą zawierać zarówno certyfikat, jak i klucz prywatny w tym samym pliku. Jednak większość serwerów, takich jak Apache, preferuje, abyś podzielił je na osobne pliki.
- Certyfikaty PEM mają rozszerzenie .pem, .crt, .cer and .key
- są zakodowane ASCII Base64 format
- Są używane dla serwerów Apache lub podobnych konfiguracji
DER FORMAT
Format DER jest binarnym formatem PEM.
- DER certyfikat posiada .der, .cer rozszerzenie
- Certyfikaty DER są powszechnie używane w serwerach JAVA
PKCS#7 AND P7B FORMAT
PKCS#7 lub P7B format jest kodowany w ASCII Base64 format. Ten tym certyfikatu zawiera następujące wiersze: "-----BEGIN PKCS7-----" "-----END PKCS7-----". Specyfikacja formatu p7B zawiera tylko certyfikaty i certyfikat łańcucha (string certificates) nie zawiera klucza prywatnego (private key).
- Posiada rozszerzenie .p7b lub .p7c
- Używane są dla Microsoft windows i Java Tomcat serwerów
PKCS#12 AND PFX FORMAT
PKCS#12 lub PFX kodowany jest w binarnym formacie. Ten typ certyfikatu przechowuje certyfikat serwera, a także certyfikaty pośrednie i klucz prywatny w jednym zaszyfrowanym pliku. Certyfikaty z rozszerzeniami .p12, .pksc#12 lub .pfx są identyczne. Możesz zmienić rozszerzenie plików .pfx na .p12 i odwrotnie.
- Mają one rozszerzenia .pfx lub .p12
- Są zasadniczo używane dla serwerów Microsoft windows
Uwaga: podczas konwersji pliku PFX na plik PEM wszystkie certyfikaty i klucz prywatny są zintegrowane w jednym pliku. Konieczne będzie podzielenie różnych części pliku na osobne pliki. Możemy to wykonać następując metodą:
- Otwórz plik w edytorze tekstu
- Skopiuj wszystkie certyfikaty i klucz prywatny wraz z wierszami (BEGIN / END) do osobnych plików
- Zapisz pliki w następujących formatach: certificate.cer, CACert.cer i privateKey.key.
Polecenia OpenSSL do konwersji
Zaleca się konwersję plików bezpośrednio za pomocą poleceń OpenSSL, aby zachować klucz prywatny w tajemnicy. Aby to zrobić, użyj następujących poleceń, aby przekonwertować pliki na różne formaty.
CONVERT PEM
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
CONVERT DER
DER(.CRT .CER .DER) TO PEM
openssl x509 -inform der -in certificate.cer -out certificate.pem
DER TO CER
openssl x509 -inform der -in certificat-ssl.der -out certificat-ssl.cer
CONVERT P7B
P7B TO PEM
openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
P7B TO 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
P7B TO CER
openssl pkcs7 -print_certs -in certificat-ssl.p7b -out certificat-ssl.cer
CONVERT PFX
PFX TO PEM
openssl pkcs12 -in certificate.pfx -out certificate.cer -nodes
CONVERT CER
CER TO P7B
openssl crl2pkcs7 -nocrl -certfile certificat-ssl.cer -certfile cert-intermediaire.cer -certfile cert-racine.cer -out certificat-ssl.p7b
CER TO PFX
openssl pkcs12 -in certificat-ssl.cer -certfile cert-intermediaire.cer -certfile cert-racine.cer -inkey cle-privee.key -export -out certificat-ssl.pfx
CER TO DER
openssl x509 -in certificat-ssl.cer -outform der -out certificat-ssl.der