1️⃣ ¿Qué es el formato PEM?
PEM (Correo de privacidad mejorada) es un formato de texto que se utiliza para almacenar y transferir claves y certificados. Codifica en Base64 datos DER binarios y los envuelve con encabezados y pies de página como-----COMENZAR <ETIQUETA>-----y-----FIN <ETIQUETA>-----. Las etiquetas comunes incluyenCLAVE PÚBLICA, CLAVE PRIVADA, yCERTIFICADO. Es fácil de copiar, pegar y transmitir en flujos de trabajo basados ​​en texto, lo que lo convierte en uno de los formatos de intercambio de claves más comunes.
2️⃣ ¿Qué otros formatos son comunes además de PEM?
- DER: un formato binario puro que almacena estructuras ASN.1 directamente. No es legible por humanos y es común en los ecosistemas de Java.
- HEX: expresa el contenido binario DER como una cadena hexadecimal, útil para depurar o incrustar en código.
- Base64 (sin encabezados): DER sin formato codificado como Base64 sin encabezados PEM, a menudo utilizado en configuraciones compactas o cargas útiles de tokens.
- PKCS#12 (PFX): un formato de contenedor binario que puede agrupar claves públicas y privadas, generalmente protegido por una contraseña y utilizado a menudo por navegadores o sistemas Windows.
3️⃣ ¿Cuándo deberías usar cada formato?
- PEM: la opción más universal, adecuada para OpenSSL, servidores web (Nginx/Apache) e intercambio de API.
- DER: comúnmente utilizado en entornos Java o donde se requiere almacenamiento binario estricto.
- HEX: útil en depuración, sistemas integrados o siempre que se necesite una inspección exacta de bytes.
- Base64 (sin encabezados): útil cuando el formato está restringido o se requiere una representación compacta.
- PKCS#12: útil cuando las claves pública y privada deben transportarse juntas mientras se protege la clave privada con una contraseña.