Hvad er PEM-filformatet?
PEM-filtypen bruges af certifikatfiler til at gemme og transportere kryptografiske nøgler, certifikater og andre typer data. PEM-filer er Base64-kodede og gemmer data i ASCII-tekstformat - hver blok er pakket ind i genkendelige overskrifts- og fodnotelinjer såsom -----BEGIN CERTIFICATE----- og -----END CERTIFICATE-----.
PEM-kodede certifikatfiler bruges ofte på internetservere, da de er nemme at se med et standard tekstredigeringsprogram. PEM-filer bruges til at autentificere betroede websteder og er standardformatet på Unix-baserede webservere som Apache og Nginx. En enkelt .pem-fil kan samle flere blokke - for eksempel et servercertifikat, mellemliggende certifikater og en privat nøgle - alt i én fil. PEM er også meget brugt til SSH-nøglepar og TLS/HTTPS-konfiguration.
PEM-certifikater bruger en digitalt signeret offentlig nøgle til sikkerhedsformål. Autentificeringsprocessen bruger den offentlige nøgle til at identificere ejeren af nøglen og bekræfte, at de er dem, de udgiver sig for at være. Private nøgler gemt i .pem-filer kan valgfrit beskyttes med en adgangskode for yderligere sikkerhed.
Oprindeligt designet til Privacy-Enhanced Mail i de tidlige 1990'ere, blev PEM-kodningen formaliseret som en IETF-standard i RFC 7468 (2015). Det er fortsat det mest anvendte beholderformat til X.509-certifikater og kryptografiske nøgler. Relaterede binære formater inkluderer .DER og PKCS#12-filer; .crt og .key-filer er ofte blot omdøbte .pem-filer, der indeholder henholdsvis et certifikat eller en nøgle.
- PEM-filer understøttes af OpenSSL og de fleste TLS/SSL-værktøjssæt.
- Åbning af en
.pem-fil med et tekstredigeringsprogram viser tydeligt de markerede-----BEGIN-----og-----END-----overskrifts- og fodnotesektioner. - En enkelt
.pem-fil kan indeholde forskellige objekttyper:CERTIFICATE,PRIVATE KEY,RSA PRIVATE KEY,PUBLIC KEY,CERTIFICATE REQUESTog andre.
Sikkerhed og tryghed
RISIKO: HIGHFaren ved .pem er tilfældet med PRIVATE KEY. En .pem, der indeholder '-----BEGIN PRIVATE KEY-----' (eller RSA/EC PRIVATE KEY), er en hemmelighed: enhver, der har den, kan udgive sig for at være din server, dekryptere trafik eller logge ind på din cloud-instans. Indsæt ALDRIG en privat-nøgle .pem i en online 'PEM-fremviser/konverter' eller send den via e-mail; foretag konverteringer lokalt med OpenSSL. Indstil strenge tilladelser (SSH afviser en nøgle, der er læsbar for alle - 'chmod 600 key.pem'). En .pem, der kun er et CERTIFICATE (offentligt), er sikker at dele. Vær påpasselig med online certifikatkonvertere til alt, der involverer en nøgle. Filerne i sig selv er inaktiv tekst og kan ikke eksekveres.
Formatdetaljer
kort fortaltProgrammer der åbner PEM-filer
Tekniske detaljer
dyb specifikation| Kodning | Base64-kodet DER-data pakket ind i ASCII-overskrifts- og fodnotelinjer |
| Filstruktur | En eller flere PEM-blokke, hver afgrænset af `-----BEGIN <type>-----` og `-----END <type>-----` linjer |
| Underliggende binært format | DER (Distinguished Encoding Rules), et binært ASN.1-serialiseringsformat |
| MIME-type | `application/x-pem-file` |
| Understøttede objekttyper | `CERTIFICATE`, `PRIVATE KEY`, `RSA PRIVATE KEY`, `PUBLIC KEY`, `CERTIFICATE REQUEST` |
| Konvention for linjelængde | Base64-data ombrudt ved 64 tegn pr. linje i henhold til RFC 7468 |
| Understøttelse af flere objekter | En enkelt `.pem`-fil kan sammenkæde flere PEM-blokke, såsom en fuld certifikatkæde plus en privat nøgle |
| Almindelige alternative filendelser | `.crt`, `.cer`, `.key`, `.ca-bundle` - samme PEM-format, forskellige navngivningskonventioner efter rolle |
| Beskyttelse af privat nøgle | Nøgleblokke kan krypteres med en adgangskode ved hjælp af PKCS#8 eller ældre PEM-krypteringsheadere |
| Primære anvendelsesscenarier | TLS/HTTPS-servercertifikater, SSH-nøglepar, CA-certifikatbundter, kodesigneringscertifikater |
| Interoperabilitet | Kan konverteres til binær `.der` med `openssl x509 -outform DER`; PKCS#12 (`.p12`)-filer kan eksporteres til PEM |
| tegnsæt | Kun US-ASCII - Base64-alfabet (A-Z, a-z, 0-9, +, /) plus overskrifts-/fodnotestreger og typemærkater |
| Håndtering af linjeskift | RFC 7468 foreskriver LF (\n) linjeskift; mange værktøjer accepterer også CRLF for bagudkompatibilitet |
| Syntaks for overskrift/fodnote | Fem bindestreger, `BEGIN` eller `END`, et mellemrum, objekttypens mærkat, fem bindestreger - f.eks. `-----BEGIN CERTIFICATE-----` |
| Udgivet | PEM email RFCs 1421-1424 (1993); the encoding lives on as the textual format, codified in RFC 7468 (2015) |
| Åben standard | Ja · royaltyfri |
| Specifikation | www.rfc-editor.org |
PEM-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om PEM-filer.