Wat is het PEM-bestandsformaat?
De PEM-bestandsextensie wordt gebruikt door certificaatbestanden om cryptografische sleutels, certificaten en andere soorten gegevens op te slaan en te transporteren. PEM-bestanden zijn Base64-gecodeerd en slaan gegevens op in ASCII-tekstformaat - elk blok is verpakt in herkenbare kop- en voetteksten zoals -----BEGIN CERTIFICATE----- en -----END CERTIFICATE-----.
PEM-gecodeerde certificaatbestanden worden veelvuldig gebruikt op internetservers omdat ze eenvoudig te bekijken zijn met elke standaard tekstverwerker. PEM-bestanden worden gebruikt voor het authenticeren van vertrouwde websites en zijn het standaardformaat op Unix-gebaseerde webservers zoals Apache en Nginx. Een enkel .pem-bestand kan meerdere blokken bundelen - bijvoorbeeld een servercertificaat, tussenliggende certificaten en een privésleutel - allemaal in één bestand. PEM wordt ook veel gebruikt voor SSH-sleutelparen en TLS/HTTPS-configuratie.
Een PEM-certificaat gebruikt een digitaal ondertekende openbare sleutel voor beveiligingsdoeleinden. Het authenticatieproces gebruikt de openbare sleutel om de eigenaar van de sleutel te identificeren en te bevestigen dat zij zijn wie ze beweren te zijn. Privésleutels opgeslagen in .pem-bestanden kunnen optioneel worden beveiligd met een wachtwoordzin voor extra veiligheid.
Oorspronkelijk ontworpen voor Privacy-Enhanced Mail in de vroege jaren 90, werd de PEM-codering geformaliseerd als een IETF-standaard in RFC 7468 (2015). Het blijft het meest gebruikte containerformaat voor X.509-certificaten en cryptografische sleutels. Gerelateerde binaire formaten zijn onder meer .DER en PKCS#12-bestanden; .crt- en .key-bestanden zijn vaak simpelweg hernoemde .pem-bestanden die respectievelijk een certificaat of sleutel bevatten.
- PEM-bestanden worden ondersteund door OpenSSL en de meeste TLS/SSL-toolkits.
- Het openen van een
.pem-bestand met een tekstverwerker toont duidelijk de gemarkeerde-----BEGIN-----en-----END-----kop- en voetteksten. - Een enkel
.pem-bestand kan verschillende objecttypen bevatten:CERTIFICATE,PRIVATE KEY,RSA PRIVATE KEY,PUBLIC KEY,CERTIFICATE REQUEST, en andere.
Beveiliging & veiligheid
RISICO: HIGHHet gevaar bij .pem is het geval van de PRIVATE KEY. Een .pem die '-----BEGIN PRIVATE KEY-----' (of RSA/EC PRIVATE KEY) bevat, is een geheim: iedereen die deze heeft, kan zich voordoen als uw server, verkeer ontsleutelen of inloggen op uw cloudinstantie. Plak een privésleutel-.pem NOOIT in een online 'PEM-viewer/converter' en verstuur deze niet per e-mail; voer conversies lokaal uit met OpenSSL. Stel strikte machtigingen in (SSH weigert een sleutel die voor iedereen leesbaar is - 'chmod 600 key.pem'). Een .pem die alleen een CERTIFICATE (openbaar) is, kan veilig worden gedeeld. Wees op uw hoede voor online certificaatconverters voor alles waarbij een sleutel betrokken is. De bestanden zelf zijn inerte tekst en kunnen niet worden uitgevoerd.
Formaatdetails
in een notendopProgramma's die PEM-bestanden openen
Technische details
diepe specificaties| Codering | Base64-gecodeerde DER-gegevens verpakt in ASCII kop- en voetteksten |
| Bestandsstructuur | Een of meer PEM-blokken, elk begrensd door `-----BEGIN <type>-----` en `-----END <type>-----` regels |
| Onderliggend binair formaat | DER (Distinguished Encoding Rules), een binair ASN.1-serialisatieformaat |
| MIME-type | `application/x-pem-file` |
| Ondersteunde objecttypen | `CERTIFICATE`, `PRIVATE KEY`, `RSA PRIVATE KEY`, `PUBLIC KEY`, `CERTIFICATE REQUEST` |
| Regellengte conventie | Base64-gegevens afgebroken op 64 tekens per regel volgens RFC 7468 |
| Ondersteuning voor meerdere objecten | Een enkel `.pem`-bestand kan meerdere PEM-blokken aaneenschakelen, zoals een volledige certificaatketen plus een privésleutel |
| Veelvoorkomende alternatieve extensies | `.crt`, `.cer`, `.key`, `.ca-bundle` - hetzelfde PEM-formaat, verschillende naamgevingsconventies per rol |
| Bescherming van privésleutels | Sleutelblokken kunnen worden versleuteld met een wachtwoordzin via PKCS#8 of legacy PEM-versleutelingskoppen |
| Primaire gebruiksscenario's | TLS/HTTPS-servercertificaten, SSH-sleutelparen, CA-certificaatbundels, code-ondertekeningscertificaten |
| Interoperabiliteit | Converteerbaar naar binair `.der` met `openssl x509 -outform DER`; PKCS#12 (`.p12`)-bestanden kunnen worden geëxporteerd naar PEM |
| Tekenset | Alleen US-ASCII - Base64-alfabet (A-Z, a-z, 0-9, +, /) plus streepjes in kop/voet en typelabels |
| Afhandeling van nieuwe regels | RFC 7468 schrijft LF (\n) regeleinden voor; veel tools accepteren ook CRLF voor legacy-compatibiliteit |
| Syntaxis van kop/voet | Vijf streepjes, `BEGIN` of `END`, een spatie, het objecttypelabel, vijf streepjes - bijv. `-----BEGIN CERTIFICATE-----` |
| Uitgebracht | PEM email RFCs 1421-1424 (1993); the encoding lives on as the textual format, codified in RFC 7468 (2015) |
| Open standaard | Ja · royaltyvrij |
| Specificatie | www.rfc-editor.org |
PEM conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over PEM-bestanden.