Wat is een PEM-bestand?
Een PEM-bestand is een beveiligingscertificaatbestand dat wordt gebruikt om een veilig communicatiekanaal tussen een webserver en een browser tot stand te brengen. Het is Base64-gecodeerd en kan een privésleutel, servercertificaat en/of een combinatie van andere certificaten bevatten. PEM-bestanden lijken qua gebruik op .der-certificaatbestanden, maar worden opgeslagen als Base64-gecodeerde tekst in plaats van binaire gegevens. Andere vergelijkbare bestandsindelingen voor certificaten zijn onder meer .cer- en .crt-bestanden.
Toepassingen die PEM-bestanden kunnen openen** zijn onder meer teksteditors zoals Microsoft Notepad en Apple TextEdit.
PEM-bestandsindeling
PEM is een containerbestandsindeling die de structuur en het coderingstype definieert van het bestand dat wordt gebruikt om de gegevens op te slaan. PEM-bestanden worden op schijf opgeslagen als Base64-gecodeerde bestandsindeling die niet door mensen leesbaar is. De standaard definieert dat een PEM-bestand begint met:
-----BEGIN <type>-----
en eindigt met:
-----END <type>-----
Alle andere inhoud hierin is base64-gecodeerd (hoofdletters en kleine letters, cijfers, + en /). Een enkel PEM-bestand kan uit meerdere blokken bestaan die door andere programma’s kunnen worden gebruikt. Als een PEM-bestand meerdere certificaten bevat, wordt elk certificaat als volgt gescheiden door afzonderlijke blokken:
-----BEGIN CERTIFICATE-----
//end-user
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
//intermediate
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
//root
-----END CERTIFICATE-----
PEM-bestandsvoorbeeld
Een PEM-bestand met CERTIFICATE-blok ziet er meestal als volgt uit:
---- BEGIN CERTIFICATE----
EggHozdmgGz7zbC1mcJ2rcNAQEEBBAYTAlVTMRMwMIICCDAaBgkqhkiG9lVTMRMwMIICCDAaBgkqhkiG9w0BBQMwDQQIIfYwDQYJKoZIhvcMIICUDCCAdoCBDaM1tYwDQYJKoZIhvcNAQEEBQAwgY8xCzAJBgNVBAYTAlVTMRMwMIICCDAaBgkqhkiG9w0BBQMwDQQIIfYyAEFKaEECAQUQAwgY8xCzAJBgNVNAQEEBQAwgY8xCzAkiG9w0BBQMwDQQIIfYyAEFKaEECAQUEggHozdmgGz7wgY8xCzAJBgNVBAYTAlVTMRMwMIICCDAaBgkqhkiG9w0BBQMwDQQIIfYyAEFKaEECAQUEggHozdmgGz7zbC1mcJ2rcNAQEEBQAwgY8xCzAJBgNVBAYTAlVTMR
----END CERTIFICATE----
Een PEM-bestand met RSA begint als volgt.
-----BEGIN RSA PRIVATE KEY-----