Vad är filformatet PEM?
Filändelsen PEM används av certifikatfiler för att lagra och transportera kryptografiska nycklar, certifikat och andra typer av data. PEM-filer är Base64-kodade och lagrar data i ASCII-textformat - varje block är omslutet av igenkännbara huvud- och sidfotsrader som -----BEGIN CERTIFICATE----- och -----END CERTIFICATE-----.
PEM-kodade certifikatfiler används ofta på internet-servrar eftersom de är lätta att visa med valfri standardtextredigerare. PEM-filer används för att autentisera betrodda webbplatser och är standardformatet på Unix-baserade webbservrar som Apache och Nginx. En enskild .pem-fil kan bunta ihop flera block - till exempel ett servercertifikat, mellanliggande certifikat och en privat nyckel - allt i en fil. PEM används också i stor utsträckning för SSH-nyckelpar och TLS/HTTPS-konfiguration.
PEM-certifikat använder en digitalt signerad publik nyckel för säkerhetsändamål. Autentiseringsprocessen använder den publika nyckeln för att identifiera ägaren av nyckeln och bekräfta att de är de som de utger sig för att vara. Privata nycklar lagrade i .pem-filer kan valfritt skyddas med en lösenfras för ytterligare säkerhet.
Ursprungligen designad för Privacy-Enhanced Mail i början av 1990-talet, formaliserades PEM-kodningen som en IETF-standard i RFC 7468 (2015). Det förblir det mest använda behållarformatet för X.509-certifikat och kryptografiska nycklar. Relaterade binära format inkluderar .DER och PKCS#12-filer; .crt- och .key-filer är ofta helt enkelt omdöpta .pem-filer som innehåller ett certifikat respektive en nyckel.
- PEM-filer stöds av OpenSSL och de flesta TLS/SSL-verktygssatser.
- Om du öppnar en
.pem-fil med en textredigerare syns de markerade huvud- och sidfotssektionerna-----BEGIN-----och-----END-----tydligt. - En enskild
.pem-fil kan innehålla olika objekttyper:CERTIFICATE,PRIVATE KEY,RSA PRIVATE KEY,PUBLIC KEY,CERTIFICATE REQUESTmed flera.
Säkerhet & trygghet
RISK: HIGHFaran med .pem är fallet med PRIVATE KEY. En .pem som innehåller '-----BEGIN PRIVATE KEY-----' (eller RSA/EC PRIVATE KEY) är en hemlighet: alla som har den kan utge sig för att vara din server, dekryptera trafik eller logga in på din molninstans. Klistra ALDRIG in en privat nyckel i en .pem-fil i en online 'PEM-visare/konverterare' eller skicka den via e-post; gör konverteringar lokalt med OpenSSL. Ställ in strikta behörigheter (SSH vägrar en nyckel som är läsbar för alla - 'chmod 600 key.pem'). En .pem som endast är ett CERTIFICATE (publikt) är säker att dela. Var vaksam på certifikatkonverterare online för allt som involverar en nyckel. Filerna i sig är inaktiv text och kan inte köras.
Formatdetaljer
i ett nötskalProgram som öppnar PEM-filer
Tekniska detaljer
djup specifikation| Kodning | Base64-kodad DER-data omsluten av ASCII huvud- och sidfotsrader |
| Filstruktur | Ett eller flera PEM-block, vart och ett avgränsat av `-----BEGIN <type>-----` och `-----END <type>-----` rader |
| Underliggande binärt format | DER (Distinguished Encoding Rules), ett binärt ASN.1-serialiseringsformat |
| MIME-typ | `application/x-pem-file` |
| Objekttyper som stöds | `CERTIFICATE`, `PRIVATE KEY`, `RSA PRIVATE KEY`, `PUBLIC KEY`, `CERTIFICATE REQUEST` |
| Konvention för radlängd | Base64-data radbruten vid 64 tecken per rad enligt RFC 7468 |
| Stöd för flera objekt | En enskild `.pem`-fil kan konkatenera flera PEM-block, såsom en fullständig certifikatkedja plus en privat nyckel |
| Vanliga alternativa filändelser | `.crt`, `.cer`, `.key`, `.ca-bundle` - samma PEM-format, olika namnkonventioner beroende på roll |
| Skydd av privat nyckel | Nyckelblock kan krypteras med en lösenfras med PKCS#8 eller äldre PEM-krypteringshuvuden |
| Primära användningsområden | TLS/HTTPS-servercertifikat, SSH-nyckelpar, CA-certifikatbuntar, kodsigneringscertifikat |
| Interoperabilitet | Konverterbar till binär `.der` med `openssl x509 -outform DER`; PKCS#12 (`.p12`)-filer kan exporteras till PEM |
| Teckenuppsättning | Endast US-ASCII - Base64-alfabetet (A-Z, a-z, 0-9, +, /) plus bindestreck i huvud/sidfot och typskyltar |
| Hantering av nyrad | RFC 7468 föreskriver LF (\n) som radslut; många verktyg accepterar även CRLF för bakåtkompatibilitet |
| Syntax för huvud/sidfot | Fem bindestreck, `BEGIN` eller `END`, ett mellanslag, objekttypens etikett, fem bindestreck - t.ex. `-----BEGIN CERTIFICATE-----` |
| Släppt | PEM email RFCs 1421-1424 (1993); the encoding lives on as the textual format, codified in RFC 7468 (2015) |
| Öppen standard | Ja · royaltyfri |
| Specifikation | www.rfc-editor.org |
PEM-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om PEM-filer.