SSLmentor

Kwaliteit TLS/SSL-certificaten voor websites en internetprojecten.

PEM, PFX, KEY, DER, CSR, P7B

PEM, PFX, KEY, DER, CSR, P7B

SSL-certificaatformaten

In verband met SSL-certificaten worden een relatief groot aantal namen genoemd, zoals PEM, CSR, KEY, DER, enz. Dit zijn bestanden die praktisch alleen "containers" zijn voor de locatie van het certificaat en de bijbehorende sleutels. Door verschillende implementaties in besturingssystemen of toepassingen zijn er in de loop der tijd veel formaten ontstaan, waarvan sommige gestandaardiseerd zijn in RFC.

CSR (.csr)

Een Certificate Signing Request (CSR) is een certificaataanvraag die naar een certificeringsinstantie wordt gestuurd voor certificering. De aanvraag kan rechtstreeks op de server worden gegenereerd, in de OpenSSL-toepassing of kan eenvoudig worden gegenereerd in de orderdetails volgens deze handleiding, inclusief de privésleutel, na het bestellen van het SSL-certificaat. Het aanvraagformaat is volgens PKCS # 10 (Public Key Cryptography Standards) en is gedefinieerd in RFC 2986 (Certification Request Syntax Specification). De CSR-aanvraag bevat de benodigde informatie voor het uitgeven van het certificaat, zoals de domeinnaam, organisatie, staat, en ook de openbare sleutel die door de certificeringsinstantie wordt bevestigd. De coderingsindeling van de CSR die wordt ingevoegd in de order en naar de certificeringsinstantie wordt verzonden, is PEM. De informatiestructuur in de aanvraag is gedefinieerd met behulp van ASN.1 (abstract syntax notation).
Nadat het certificaat is uitgegeven en ondertekend door de certificeringsinstantie, wordt het certificaat al geleverd vanuit de instantie in andere formaten, zoals CRT, p7b. Het wordt vaak ook rechtstreeks per e-mail verzonden in het txt PEM-formaat, samen met informatie over de uitgifte van het SSL-certificaat.

We raden af om een certificaataanvraag en privésleutel te genereren op onbekende websites.
In onze help-sectie publiceren we instructies over hoe u een CSR en privésleutel kunt genereren in OpenSSL.

PEM (.pem)

Een van de meest gebruikte formaten voor het opslaan van SSL/TLS-certificaten. Het is een container voor het opslaan van tekstgecodeerde cryptografische gegevens (sleutels en certificaten) en maakt eenvoudig verzenden per e-mail mogelijk, het is gedefinieerd in RFC 1421 tot 1424. Het kan een afzonderlijk openbaar certificaat bevatten, maar ook een openbaar certificaat plus CA-certificaten of het kan een hele reeks certificaten bevatten, inclusief openbare sleutel, privésleutel en rootcertificaten van de uitgevende certificeringsinstantie. Een Certificate Signing Request (CSR) wordt ook geleverd in PEM-formaat, dat is geconverteerd vanuit het PKCS10-formaat.
De naam is afkomstig van de afkorting Privacy-enhanced Electronic Mail (PEM), dat de standaard was voor e-mailbeveiliging. De essentie van het PEM-formaat is de hercodering van het binaire formaat (d.w.z. nullen en enen) via de base64-methode en de toevoeging van een informatieve kop- en voettekst van -----BEGIN PRIVATE KEY----- en -----END PRIVATE KEY----- of -----BEGIN CERTIFICATE----- en -----END CERTIFICATE-----.

Voorbeeld van het uitgegeven certificaat in PEM-formaat

-----BEGIN CERTIFICATE-----
MIIF+TCCBOGgAwIBAgIRAOUXUXsbB/LpS0VTQsz/HFcwDQYJKoZIhvcNAQELBQAw
gY8xCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO
BgNVBAcTB1NhbGZvcmQxGDAWBgNVBAoTD1NlY3RpZ28gTGltaXRlZDE3MDUGA1UE
AxMuU2VjdGlnbyBSU0EgRG9tYWluIFZhbGlkYXRpb24gU2VjdXJlIFNlcnZlciBD
QTAeFw0xOTAxMTcwMDAwMDBaFw0xOTA0MTcyMzU5NTlaMFAxITAfBgNVBAsTGERv
bWFpbiBDb250cm9sIFZhbGlkYXRlZDERMA8GA1UECxMIRnJlZSBTU0wxGDAWBgNV
BAMTD3dlYi1zZWN1cml0eS5jejCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
ggEBAMNC5twUz78YyvW9Y+avpBZLZjGFLZbNZN3tukWL/1wuwLUrhuCju1IDXWnJ
a7vu4IFA/m/fgD68Y+I6BEF/tdw94TGc/X0n+Q326ZB3ff8e5+GF2o2oXQCUEX60
wGv17zIx8jCYZtaP9rWekUzWmkNPagImboWeYSLWkt7GvdJCU7VY8kpKm7Y/JF/P
Qs4Z5+d4HMsfknJ+PofI7Ve3wT0aPE4aiQ3+MWryxcnZYzH7xNpeB7UbkfFIeDki
4X1vkVFM2Do07IkY9dO8d0UNI3lDDJDpxCCW4kVOl8yQTRtmyPZmtXk5uoyFcCEh
KP5/T2gxNr9KNzIornE0F7LZfpMCAwEAAaOCAowwggKIMB8GA1UdIwQYMBaAFI2M
XsRUrYrhd+mb+ZsF4bgBjWHhMB0GA1UdDgQWBBSHdiVoz7sMpYkdFsQWYHoMcJZU
IzAOBgNVHQ8BAf8EBAMCBaAwDAYDVR0TAQH/BAIwADAdBgNVHSUEFjAUBggrBgEF
BQcDAQYIKwYBBQUHAwIwSQYDVR0gBEIwQDA0BgsrBgEEAbIxAQICBzAlMCMGCCsG
AQUFBwIBFhdodHRwczovL3NlY3RpZ28uY29tL0NQUzAIBgZngQwBAgEwgYQGCCsG
AQUFBwEBBHgwdjBPBggrBgEFBQcwAoZDaHR0cDovL2NydC5zZWN0aWdvLmNvbS9T
ZWN0aWdvUlNBRG9tYWluVmFsaWRhdGlvblNlY3VyZVNlcnZlckNBLmNydDAjBggr
BgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wLwYDVR0RBCgwJoIPd2Vi
LXNlY3VyaXR5LmN6ghN3d3cud2ViLXNlY3VyaXR5LmN6MIIBBAYKKwYBBAHWeQIE
AgSB9QSB8gDwAHYAu9nfvB+KcbWTlCOXqpJ7RzhXlQqrUugakJZkNo4e0YUAAAFo
Ww+ePQAABAMARzBFAiEAtZoULgmDyEppYK9nmDWNRjRGcE+BBo/DLaaoaYWg7C8C
IH+0UCda6Txcl05inAsMpzlePELyZ3hawgEdmMugK3bXAHYAdH7agzGtMxCRIZzO
JU9CcMK//V5CIAjGNzV55hB7zFYAAAFoWw+eiwAABAMARzBFAiEAmdEbql+1pWWf
HmpkY34JziCOQzaDlFVtUFen+blgIWwCIBVnwDD3vnwSsrO2T5Clo5Pjqa+xxU7O
trLo/ZRGkICBMA0GCSqGSIb3DQEBCwUAA4IBAQAzOM9lS3RSU7rLy8T3BfixHvua
ErZ+YOHCHpYhlCeSuFZ66jVHueYWvgfF8A+enRdMM0k0z0PC9enREnumNDq3msCf
WYhSLd5lDXiEddg2GCrXkwhOFfOiG0tywS5CD+hLsTq1LQkWDQg7EKlIb6ddhaZO
IYEQ9xwE7aehynQEvAjv3UyevMYfvw7glY+MW5bkMfsxPndDD1gDbnYt8kyenjcv
odjnkvTw4ngnCy1gF9mVWkgQsE1j34FER1bVtR/FlspI0FB+ogV4Qhso1N23DwtF
VDKxH8p+ddYh1LX4b6Oy3dZqzt4HOcunPKsFv36ABpeTs8FPOjgQueTWfHQ4
-----END CERTIFICATE-----

U kunt deze tekstreeks decoderen, bijvoorbeeld op deze pagina, waar u informatie kunt vinden over het certificaat (geldigheid, informatie in het certificaat, autoriteit en nog veel meer).

PEM-bestanden zijn gecodeerd in Base64-formaat, wat een codering is die binaire gegevens omzet in een reeks afdrukbare ASCII-tekens (een 64-elementen karakterset bestaande uit hoofdletters en kleine letters van het Engelse alfabet, cijfers en plustekens ('+') en een schuine streep ('/')). PEM-bestanden zijn zeer eenvoudig te gebruiken, omdat ze inhoud hebben in een leesbaar tekstformaat en geopend kunnen worden in elke editor. De individuele certificaten zijn duidelijk gescheiden door een kop- en voettekst. Meer over het PEM-formaat op Wikipedia...

PFX (.pfx) / PKCS #12-formaat

.pfx, maar ook .p12 of .pkcs12 zijn formaten gedefinieerd in de Public-Key Cryptography Standards (PKCS-standaarden). Het is een containerformaat met wachtwoord dat zowel openbare als privécertificaten bevat. In tegenstelling tot .pem-bestanden is de container volledig versleuteld. PKCS#12 (.p12) was oorspronkelijk een privé-standaard van Microsoft die later werd gedefinieerd in RFC 7292. Biedt verbeterde beveiliging ten opzichte van het tekstformaat PEM.
We zullen het PFX-formaat voornamelijk tegenkomen op het Windows-platform. Als de certificaataanvraag niet rechtstreeks wordt gegenereerd in het Internet Information System (IIS), is het noodzakelijk om de serverbeheerder te voorzien van een certificaat in PFX-formaat voor import naar de server. Voor deze gevallen publiceren we in de help-sectie instructies over hoe u het certificaat naar PFX exporteert met OpenSSL.
Code Signing-certificaten en elektronische handtekeningen worden ook geëxporteerd naar het .p12 / .pfx-bestand.

De .pfx en .p12-bestanden zijn de facto identiek, en als u het p12-bestand nodig heeft in plaats van het pfx-bestand, kunt u lezen dat u het gewoon moet hernoemen. Het werkt echter niet altijd zo eenvoudig. U kunt meer leren in de discussie op stackoverflow.com.

KEY (.key)

Het .key-bestand bevat het certificaat in PEM-formaat en bevat alleen de privésleutel van het certificaat. De privésleutel is ingesloten in de strings ----- BEGIN PRIVATE KEY ----- en ----- END PRIVATE KEY -----. Dit bestand zou moeten openen in elke teksteditor.
Er is geen standaardisatie voor het .key-formaat en het is de facto een aanduiding van het bestand met de privésleutel.

Bestand .key geopend in Notepad

DER (.der)

DER (Distinguished Encoding Rules). Een binair bestand (een reeks nullen en enen) dat de opgeslagen certificaatinformatie bevat. Het bevat een SSL-certificaat of het volledige root-chain pad (tussenliggende certificaten) en kan ook een privésleutel bevatten. Gebruikt in de Unix-wereld of op Java-platforms, in Windows wordt het .der-bestand automatisch beschouwd als een certificaathouder. DER is een defecte binair versie van een base64-gecodeerd PEM-bestand.

CRT (.crt)

Het .crt-bestand bevat een SSL-certificaat in PEM-formaat. Ze kunnen worden geopend met elke teksteditor en het certificaat is ingesloten in ----- BEGIN CERTIFICATE ----- en ----- END CERTIFICATE ----- tags.
In Windows wordt bij dubbelklikken op een bestand en het accepteren van de waarschuwing automatisch een venster met de certificaatgegevens geopend. Als u het .crt-bestand hernoemt naar .txt, wordt bij dubbelklikken een teksteditor geopend met PEM-inhoud.

CRT-bestanden van uitgegeven SSL-certificaat

P7B (.p7b)

Het P7B-formaat bevat de openbare sleutel en tussenliggende certificaten van de certificeringsinstantie. Het bevat geen privésleutel. Het P7B / PKCS # 7-formaat is opgeslagen in Base64 ASCII-formaat en het bestand heeft de extensie .p7b of .p7c. Gedefinieerd in RFC 2315 als PKCS-nummer 7. Het formaat wordt gebruikt door Windows. Java gebruikt .keystore. Het is mogelijk om een certificaathiërarchie te definiëren voor deze containers.

CER (.cer), CERT (.cert)

Dit is een andere .pem-bestandsextensie. Gebruikt om het uitgegeven certificaat aan te geven. Het opgeslagen certificaat in PEM-formaat is afgebakend door de kop- en voettekst ----- BEGIN CERTIFICATE ----- en ----- END CERTIFICATE -----.

Andere bestandstypen en formaten

CRL

Certificate Revocation List (CRL) - lijst van ingetrokken certificaten. Certificeringsinstanties publiceren lijsten van ingetrokken certificaten in deze lijsten.

RFC 7468

De voorgestelde standaard RFC 7468 (Textual Encodings of PKIX, PKCS, and CMS Structures) beschrijft en standaardiseert de tekstcodering van PKI (Public-Key Infrastructure X.509), PKCS (Public-Key Cryptography Standards) en CMS (Cryptographic Message Syntax).

Terug naar Help
Een fout gevonden of iets niet begrepen? Schrijf ons!

CA Sectigo
CA RapidSSL
CA Thawte
CA GeoTrust
CA DigiCert
CA Certum