¿Qué es el formato de archivo PEM?
La extensión de archivo PEM es utilizada por archivos de certificado para almacenar y transportar claves criptográficas, certificados y otros tipos de datos. Los archivos PEM están codificados en Base64 y almacenan datos en formato de texto ASCII; cada bloque está envuelto en líneas de encabezado y pie de página reconocibles como -----BEGIN CERTIFICATE----- y -----END CERTIFICATE-----.
Los archivos de certificado codificados en PEM se utilizan con frecuencia en servidores de Internet, ya que son fáciles de visualizar con cualquier editor de texto estándar. Los archivos PEM se utilizan para autenticar sitios web de confianza y son el formato predeterminado en servidores web basados en Unix como Apache y Nginx. Un solo archivo .pem puede agrupar varios bloques (por ejemplo, un certificado de servidor, certificados intermedios y una clave privada) todo en un solo archivo. PEM también se utiliza ampliamente para pares de claves SSH y configuración TLS/HTTPS.
El certificado PEM utiliza una clave pública firmada digitalmente con fines de seguridad. El proceso de autenticación utiliza la clave pública para identificar al propietario de la clave y confirmar que es quien dice ser. Las claves privadas almacenadas en archivos .pem pueden protegerse opcionalmente con una frase de contraseña para mayor seguridad.
Diseñado originalmente para Privacy-Enhanced Mail a principios de la década de 1990, la codificación PEM se formalizó como un estándar IETF en RFC 7468 (2015). Sigue siendo el formato de contenedor más utilizado para certificados X.509 y claves criptográficas. Los formatos binarios relacionados incluyen archivos .DER y PKCS#12; los archivos .crt y .key suelen ser simplemente archivos .pem renombrados que contienen un certificado o una clave, respectivamente.
- Los archivos PEM son compatibles con OpenSSL y la mayoría de los kits de herramientas TLS/SSL.
- Al abrir un archivo
.pemcon un editor de texto se muestran claramente las secciones de encabezado y pie de página marcadas como-----BEGIN-----y-----END-----. - Un solo archivo
.pempuede contener diferentes tipos de objetos:CERTIFICATE,PRIVATE KEY,RSA PRIVATE KEY,PUBLIC KEY,CERTIFICATE REQUEST, entre otros.
Seguridad y protección
RIESGO: HIGHEl peligro con .pem es el caso de la PRIVATE KEY. Un .pem que contiene «-----BEGIN PRIVATE KEY-----» (o RSA/EC PRIVATE KEY) es un secreto: cualquiera que lo tenga puede suplantar su servidor, descifrar el tráfico o iniciar sesión en su instancia en la nube. NUNCA pegue un .pem de clave privada en un «visor/convertidor de PEM» en línea ni lo envíe por correo electrónico; realice las conversiones localmente con OpenSSL. Establezca permisos estrictos (SSH rechaza una clave que sea legible por todos: «chmod 600 key.pem»). Un .pem que es solo un CERTIFICATE (público) es seguro de compartir. Tenga cuidado con los convertidores de certificados en línea para cualquier cosa que involucre una clave. Los archivos en sí son texto inerte y no pueden ejecutarse.
Detalles del formato
en pocas palabrasProgramas que abren archivos PEM
Detalles técnicos
especificación profunda| Codificación | Datos DER codificados en Base64 envueltos en líneas de encabezado y pie de página ASCII |
| Estructura del archivo | Uno o más bloques PEM, cada uno delimitado por líneas `-----BEGIN <type>-----` y `-----END <type>-----` |
| Formato binario subyacente | DER (Distinguished Encoding Rules), un formato de serialización binaria ASN.1 |
| Tipo MIME | `application/x-pem-file` |
| Tipos de objetos compatibles | `CERTIFICATE`, `PRIVATE KEY`, `RSA PRIVATE KEY`, `PUBLIC KEY`, `CERTIFICATE REQUEST` |
| Convención de longitud de línea | Datos Base64 ajustados a 64 caracteres por línea según RFC 7468 |
| Soporte multiobjeto | Un solo archivo `.pem` puede concatenar múltiples bloques PEM, como una cadena de certificados completa más una clave privada |
| Extensiones alternativas comunes | `.crt`, `.cer`, `.key`, `.ca-bundle`: mismo formato PEM, diferentes convenciones de nomenclatura según la función |
| Protección de clave privada | Los bloques de clave pueden cifrarse con una frase de contraseña utilizando PKCS#8 o encabezados de cifrado PEM heredados |
| Casos de uso principales | Certificados de servidor TLS/HTTPS, pares de claves SSH, paquetes de certificados de CA, certificados de firma de código |
| Interoperabilidad | Convertible a `.der` binario con `openssl x509 -outform DER`; los archivos PKCS#12 (`.p12`) se pueden exportar a PEM |
| Juego de caracteres | Solo US-ASCII: alfabeto Base64 (A-Z, a-z, 0-9, +, /) más guiones de encabezado/pie y etiquetas de tipo |
| Manejo de saltos de línea | RFC 7468 exige finales de línea LF (\n); muchas herramientas también aceptan CRLF por compatibilidad heredada |
| Sintaxis de encabezado/pie | Cinco guiones, `BEGIN` o `END`, un espacio, la etiqueta del tipo de objeto, cinco guiones; ej. `-----BEGIN CERTIFICATE-----` |
| Lanzado | PEM email RFCs 1421-1424 (1993); the encoding lives on as the textual format, codified in RFC 7468 (2015) |
| Estándar abierto | Sí · libre de regalías |
| Especificación | www.rfc-editor.org |
Conversiones de PEM
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos PEM.