Che cos'è il formato di file PEM?
L'estensione del file PEM viene utilizzata dai file di certificato per memorizzare e trasportare chiavi crittografiche, certificati e altri tipi di dati. I file PEM sono codificati in Base64 e memorizzano i dati in formato testo ASCII - ogni blocco è racchiuso in righe di intestazione e piè di pagina riconoscibili come -----BEGIN CERTIFICATE----- e -----END CERTIFICATE-----.
I file di certificato codificati in PEM sono frequentemente utilizzati sui server Internet in quanto sono facili da visualizzare utilizzando qualsiasi editor di testo standard. I file PEM vengono utilizzati per autenticare siti web affidabili e sono il formato predefinito sui server web basati su Unix come Apache e Nginx. Un singolo file .pem può raggruppare più blocchi - ad esempio, un certificato server, certificati intermedi e una chiave privata - tutto in un unico file. PEM è anche ampiamente utilizzato per le coppie di chiavi SSH e la configurazione TLS/HTTPS.
Il certificato PEM utilizza una chiave pubblica firmata digitalmente per scopi di sicurezza. Il processo di autenticazione utilizza la chiave pubblica per identificare il proprietario della chiave e confermare che sia chi dichiara di essere. Le chiavi private memorizzate nei file .pem possono opzionalmente essere protette con una passphrase per una maggiore sicurezza.
Originariamente progettata per Privacy-Enhanced Mail all'inizio degli anni '90, la codifica PEM è stata formalizzata come standard IETF in RFC 7468 (2015). Rimane il formato contenitore più ampiamente utilizzato per i certificati X.509 e le chiavi crittografiche. I formati binari correlati includono i file .DER e PKCS#12; i file .crt e .key sono spesso semplicemente file .pem rinominati contenenti rispettivamente un certificato o una chiave.
- I file PEM sono supportati da OpenSSL e dalla maggior parte dei toolkit TLS/SSL.
- L'apertura di un file
.pemcon un editor di testo mostra chiaramente le sezioni di intestazione e piè di pagina contrassegnate con-----BEGIN-----e-----END-----. - Un singolo file
.pempuò contenere diversi tipi di oggetti:CERTIFICATE,PRIVATE KEY,RSA PRIVATE KEY,PUBLIC KEY,CERTIFICATE REQUESTe altri.
Sicurezza e incolumità
RISCHIO: HIGHIl pericolo con i file .pem riguarda il caso della PRIVATE KEY. Un file .pem contenente «-----BEGIN PRIVATE KEY-----» (o RSA/EC PRIVATE KEY) è un segreto: chiunque lo possieda può impersonare il tuo server, decrittografare il traffico o accedere alla tua istanza cloud. NON incollare MAI un .pem con chiave privata in un «visualizzatore/convertitore PEM» online né inviarlo via email; esegui le conversioni localmente con OpenSSL. Imposta permessi rigorosi (SSH rifiuta una chiave leggibile da tutti - «chmod 600 key.pem»). Un file .pem che è solo un CERTIFICATE (pubblico) è sicuro da condividere. Diffida dei convertitori di certificati online per tutto ciò che riguarda una chiave. I file stessi sono testo inerte e non possono essere eseguiti.
Dettagli del formato
in sintesiProgrammi che aprono file PEM
Dettagli tecnici
specifiche approfondite| Codifica | Dati DER codificati in Base64 racchiusi tra righe di intestazione e piè di pagina ASCII |
| Struttura del file | Uno o più blocchi PEM, ciascuno delimitato dalle righe `-----BEGIN <type>-----` e `-----END <type>-----` |
| Formato binario sottostante | DER (Distinguished Encoding Rules), un formato di serializzazione binaria ASN.1 |
| Tipo MIME | `application/x-pem-file` |
| Tipi di oggetti supportati | `CERTIFICATE`, `PRIVATE KEY`, `RSA PRIVATE KEY`, `PUBLIC KEY`, `CERTIFICATE REQUEST` |
| Convenzione lunghezza riga | Dati Base64 mandati a capo a 64 caratteri per riga secondo RFC 7468 |
| Supporto multi-oggetto | Un singolo file `.pem` può concatenare più blocchi PEM, come una catena completa di certificati più una chiave privata |
| Estensioni alternative comuni | `.crt`, `.cer`, `.key`, `.ca-bundle` - stesso formato PEM, diverse convenzioni di denominazione in base al ruolo |
| Protezione chiave privata | I blocchi di chiavi possono essere crittografati con una passphrase utilizzando PKCS#8 o intestazioni di crittografia PEM legacy |
| Casi d'uso primari | Certificati server TLS/HTTPS, coppie di chiavi SSH, bundle di certificati CA, certificati per la firma del codice |
| Interoperabilità | Convertibile in `.der` binario con `openssl x509 -outform DER`; i file PKCS#12 (`.p12`) possono essere esportati in PEM |
| Set di caratteri | Solo US-ASCII - alfabeto Base64 (A-Z, a-z, 0-9, +, /) più trattini di intestazione/piè di pagina ed etichette di tipo |
| Gestione dei ritorni a capo | RFC 7468 impone terminazioni di riga LF (\n); molti strumenti accettano anche CRLF per compatibilità legacy |
| Sintassi intestazione/piè di pagina | Cinque trattini, `BEGIN` o `END`, uno spazio, l'etichetta del tipo di oggetto, cinque trattini - es. `-----BEGIN CERTIFICATE-----` |
| Rilasciato | PEM email RFCs 1421-1424 (1993); the encoding lives on as the textual format, codified in RFC 7468 (2015) |
| Standard aperto | Sì · royalty-free |
| Specifica | www.rfc-editor.org |
Conversioni PEM
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file PEM.