Saltar al contenido
ecdsa.com

PEM

La envoltura en texto de datos DER como base64 entre las líneas -----BEGIN etiqueta----- y -----END etiqueta-----, estandarizada para los objetos PKIX en el RFC 7468 y usada por la mayoría de las herramientas para guardar certificados y claves.
También se escribePEM filePEM formatBEGIN CERTIFICATERFC 7468

El cuerpo es base64 estándar (no base64url) de los bytes DER, por convención en líneas de 64 caracteres. Entre las etiquetas del RFC 7468 están CERTIFICATE, X509 CRL, CERTIFICATE REQUEST, PKCS7, CMS, PRIVATE KEY (PKCS #8), ENCRYPTED PRIVATE KEY y PUBLIC KEY (SPKI). Los formatos tradicionales de OpenSSL añaden RSA PRIVATE KEY, EC PRIVATE KEY y RSA PUBLIC KEY, y las claves cifradas antiguas llevan los encabezados Proc-Type: 4,ENCRYPTED y DEK-Info, heredados del estándar Privacy-Enhanced Mail (correo con privacidad mejorada) de 1993.

Un archivo PEM puede contener varios objetos: una cadena de certificados (primero el certificado hoja) o una clave seguida de su certificado. Se admite texto antes de los bloques o entre ellos, y por eso la salida de openssl x509 -text puede ir junto al base64.

Los errores habituales vienen de la etiqueta, no del base64: no start line (etiqueta incorrecta o un archivo DER pasado como PEM), expecting: ANY PRIVATE KEY (una clave pública donde se esperaba una clave privada), daños por CRLF o espacios en blanco, y la falta del salto de línea final en los analizadores estrictos. La conversión no pierde información: openssl x509 -outform DER y viceversa.

Estándares y referencias

Todos los términos