Correo con privacidad mejorada (PEM) es un formato de codificación de texto plano para objetos criptográficos —certificados X.509, claves privadas, solicitudes de firma de certificados y cadenas de certificados— que envuelve datos codificados en Base64 entre -----BEGIN X----- y -----END X----- líneas delimitadoras. A pesar de que sus orígenes se remontan a la seguridad del correo electrónico de la década de los noventa, el formato PEM es hoy en día el formato contenedor casi universal para los certificados y claves TLS.
Puntos clave
- PEM envuelve los datos del certificado o la clave codificados en Base64 entre las líneas BEGIN y END.
- Lleva el nombre de un estándar de cifrado de correo electrónico de la década de los 90, que hoy en día se utiliza casi exclusivamente para certificados.
- El formato de texto sin formato facilita la copia, el pegado y el control de versiones de los archivos PEM.
- Versa El director y el VMS requieren certificados CA y claves en formato PEM.
- El formato PEM codifica los mismos datos X.509 que el formato binario DER almacena en forma de bytes.
En esta página: Por qué es importanteCómo funcionaTiposPEM y VersaPreguntas frecuentes
¿Por qué es importante el PEM?
Los certificados y las claves son datos binarios, pero los sistemas que los transmiten —archivos adjuntos de correo electrónico (el caso de uso original de PEM), archivos de configuración, copiar y pegar en una consola— no siempre son seguros para el contenido binario. PEM recodifica esa estructura como texto Base64 delimitado por líneas de separación legibles, de modo que un certificado o una clave se mantiene intacto durante su transmisión a través de canales de solo texto.
Esa portabilidad convirtió a PEM en el formato de intercambio predeterminado en todo el ecosistema de TLS y PKI, a pesar de que su propósito original —el cifrado del correo electrónico según el estándar de la IETF de 1993— nunca llegó a cuajar. OpenSSL, los servidores web, los navegadores y los dispositivos de red leen y escriben en formato PEM de forma predeterminada. Es el formato que se espera al cargar un certificado de CA en un cortafuegos o al configurar TLS mutuo entre dispositivos, incluidos los nodos de Versa Director, VMS y VOS.
¿Qué es el PEM?
Un archivo PEM es texto ASCII sin formato: una línea de encabezado, un cuerpo codificado en Base64 con un límite de 64 caracteres por línea y un pie de página correspondiente; por ejemplo: -----BEGIN CERTIFICATE----- … -----END CERTIFICATE-----. El bloque Base64 es la codificación binaria DER del objeto, definida por el esquema ASN.1 para lo que sea que represente: un certificado, una clave, una solicitud de firma o una lista de revocación.
El nombre proviene de «Privacy Enhanced Mail», un estándar de la IETF publicado entre los RFC 1421 y RFC 1424 en 1993 para cifrar y firmar el correo electrónico en Internet. Ese estándar fue sustituido por S/MIME y PGP, pero su codificación de texto perduró: el RFC 7468 formalizó posteriormente el mismo esquema Base64 con delimitadores como codificación estándar para las estructuras X.509, PKCS y CMS, a lo que ahora se refiere «PEM».
Tipos de archivos PEM
A .pem La extensión puede contener varios tipos de objetos, que se distinguen por el texto delimitador, no por el nombre del archivo.
Certificados uso -----BEGIN CERTIFICATE-----; un archivo puede contener un certificado o una cadena de certificados finales, intermedios y raíz. Claves privadas uso -----BEGIN RSA PRIVATE KEY----- (PKCS#1) o -----BEGIN PRIVATE KEY----- (PKCS#8), y puede cifrarse. CSR uso -----BEGIN CERTIFICATE REQUEST----- y transportar la identidad y la clave pública enviadas a una CA para su firma. CRL uso -----BEGIN X509 CRL----- y mostrar la lista de certificados que una CA ha revocado.
No hay que confundir PEM con PKCS#12 (.pfx/.p12), un paquete binario protegido con contraseña; en el formato PEM, el texto se mantiene en claro y los certificados y las claves se conservan por separado.
PEM y Versa
Versa Los sistemas requieren certificados y claves en formato PEM en varios puntos. Instalación y configuración de VMS genera un conjunto completo de certificados —CA raíz, CA intermedia, servidor y cliente— como .pem archivos; root-ca-cert.pem se sube al directorio «Archivos y carpetas» de un nodo Director para que los dispositivos VOS confíen en el Servicio de Mensajería de Versa (VMS), mientras que server-cert.pem se carga en Director al configurar el conector VMS para TLS, lo que requiere el formato PEM. El Guía de implementación de VMS basada en HA aborda la generación y validación de esa misma cadena para un clúster VMS de alta disponibilidad.
El formato PEM también aparece durante las tareas de mantenimiento: la actualización de los nodos de Versa a Ubuntu 18.04 requiere que cualquier certificado de interfaz de usuario de sustitución esté en formato PEM, y el acceso a los nodos de la nube pública se realiza a través de SSH utilizando un archivo de clave PEM.
Preguntas frecuentes
¿Qué significa PEM?
PEM son las siglas de «Privacy-Enhanced Mail», un estándar de la IETF de 1993 (RFC 1421-1424) para cifrar y firmar el correo electrónico en Internet. El estándar no tuvo una amplia aceptación, pero su codificación Base64 con delimitadores se reutilizó para certificados y claves, y es a lo que ahora se refiere comúnmente el término «PEM».
¿En qué se diferencia un archivo PEM de un archivo DER?
Ambos codifican los mismos datos subyacentes —normalmente un certificado o una clave—, pero el formato DER es binario sin procesar, mientras que el formato PEM consiste en esos mismos datos codificados en Base64 y envueltos entre -----BEGIN-----/-----END----- líneas. El formato PEM es compatible con texto; el formato DER es más compacto, pero no se puede abrir como texto.
¿Puede un archivo PEM contener más de un certificado?
Sí. Un archivo PEM puede concatenar varios -----BEGIN CERTIFICATE-----/-----END CERTIFICATE----- bloques en secuencia para formar una cadena de certificados completa; normalmente, el certificado final del servidor, seguido de uno o varios certificados intermedios y, en ocasiones, también el certificado de la CA raíz.
¿La clave privada de un PEM está siempre cifrada?
No. Una clave privada PEM puede almacenarse sin cifrar, de modo que cualquiera que abra el archivo pueda leerla, o cifrada con una contraseña utilizando encabezados como Proc-Type: 4,ENCRYPTED o el -----BEGIN ENCRYPTED PRIVATE KEY----- formato. Las claves sin cifrar deben tener permisos de archivo restrictivos.
¿Qué extensiones de archivo se utilizan para los archivos codificados en formato PEM?
.pem es lo más habitual, pero .crt, .cer (certificados), .key (claves privadas), y .csr (las solicitudes de firma) también suelen estar codificadas en formato PEM. La extensión es solo una convención de nomenclatura: al abrir el archivo y comprobar si -----BEGIN-----/-----END----- Los delimitadores son la forma más fiable de confirmar la codificación.
Más información sobre el PEM
Si quieres saber más, estas son algunas fuentes en las que confiamos.
| RFC 7468: Codificaciones textuales de estructuras PKIX, PKCS y CMS | RFC 1421: Mejora de la privacidad en el correo electrónico de Internet |
|---|---|
| El estándar actual de la IETF que define la codificación Base64 con los marcadores BEGIN/END, utilizada para certificados, claves y otras estructuras PKIX y PKCS. | La norma de 1993 que introdujo la codificación Base64 BEGIN/END, como parte de un sistema de cifrado de correo electrónico que posteriormente se dejó de utilizar en la práctica. |
Términos relacionados
Si estás leyendo sobre el PEM, te conviene echar un vistazo a lo siguiente.
| Nombre alternativo del tema | SD-WAN | Red de área amplia |
|---|---|---|
| Una extensión del certificado en la que figuran los nombres de host o las direcciones IP para los que es válido el certificado; es el campo que consultan los clientes TLS en lugar del «nombre común». | Un enfoque de red que crea redes superpuestas cifradas a través de enlaces WAN, redes superpuestas cuya seguridad se garantiza mediante certificados y claves codificados en formato PEM. | Los enlaces de banda ancha, MPLS o inalámbricos que utiliza un dispositivo VOS para conectarse a Internet o a sitios remotos, a menudo protegidos con certificados PEM. |