Format PEM jest najczęściej używanym formatem przez wystawców certyfikatów. Certyfikaty w formacie PEM mają najczęściej rozszerzenia takie jak .pem, .crt, .cer, oraz .key. Są to pliki ASCII zakodowane w Base64 i zawierają linie o treści "-----BEGIN CERTIFICATE-----" oraz "-----END CERTIFICATE-----". Certyfikaty serwera, pośredniczące oraz klucze prywatne mogą występować w formacie PEM.
Serwer Apache oraz podobne wykorzystują certyfikaty w formacie PEM. Wiele certyfikatów PEM, włącznie z kluczem prywatnym, może być połączonych w jednym pliku, jeden pod drugim. Większość serwerów, w tym Apache, oczekuje jednak iż certyfikaty będą się znajdować w jednym pliku, zaś klucz prywatny w oddzielnym.
Format DER jest binarnym zapisem certyfikatu w odróżnieniu od zapisu ASCII formatu PEM. Może posiadać rozszerzenie .der jednak częściej jest zapisywany jako .cer, więc jedynym sposobem na odróżnienie certyfikatu w formacie DER od PEM jest otwarcie pliku w edytorze tekstowym i odnalezienie linii BEGIN/END, które świadczą o zapisie PEM. Wszystkie typy certyfikatów i kluczy prywatnych mogą być zapisane w formacie DER. DER jest najczęściej używany w platformach Java.
Format PKCS#7 lub P7B jest zazwyczaj zapisywany jako Base64 ASCII i posiada rozszerzenie pliku .p7b lub .p7c. Certyfikaty P7B zawierają linie "-----BEGIN PKCS7-----" and "-----END PKCS7-----". Plik P7B zawiera wyłącznie certyfikaty, nie klucz prywatny. Wiele platform wspiera pliku P7B, w szczególnosci Microsoft Windows oraz Java Tomcat.
Forat PKCS#12 lub PFX format jest zapisem binarnym certyfikatu serwera, ewentualnych certyfikatów pośredniczących oraz klucza prywatnego w jednym pliku, który może być dodatkowo szyfrowany. Pliki PFX mają zazwyczaj rozszerzenia .pfx oraz .p12. Pliki PFX są najczęściej używane w systemach Windows machines do importu oraz eksportu certyfikatów oraz kluczy prywatnych.
Podczas konwersji pliku PFX do formatu PEM, OpenSSL umieści wszystkie certyfikaty i klucz prywatny w jednym pliku. Należy otworzyć taki plik w edytorze tekstowym a następne skopiować certyfikaty i klucz prywatny (razem z liniami BEGIN/END) do oddzielnych plików i zapisać je jako certificate.cer, CACert.cer, and privateKey.key.
Jest mocno zalecane aby dokonywać konwersji z oraz na format plików .pfx na własnym serwerze przy użyciu OpenSSL. Dzięki temu klucz prywatny pozostaje w tym samym systemie. Użyj poniższych komend OpenSSL aby przekonwertować certyfikaty SSL na różne formaty w swoim systemie:
Konwersja PEM do DER
openssl x509 -outform der -in certificate.pem -out certificate.der
Konwersja PEM do P7B
openssl crl2pkcs7 -nocrl -certfile certificate.cer -out certificate.p7b -certfile CACert.cer
Konwersja PEM do PFX
openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt
Konwersja DER do PEM
openssl x509 -inform der -in certificate.cer -out certificate.pem
Konwersja P7B do PEM
openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
Konwersja P7B do 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
Konwersja PFX do PEM
openssl pkcs12 -in certificate.pfx -out certificate.cer -nodes