Convertidor DER ↔ PEM
Convierte entre formatos de certificado DER y PEM
PEM Input
DER Output
Enter data to convert between PEM and DER formats
El Conversor DER/PEM transforma certificados, claves y CSRs entre los formatos de codificación DER (binario) y PEM (ASCII base64) -- eliminando la necesidad de recordar la sintaxis de comandos openssl x509 -inform/-outform al cambiar entre entornos Windows, Linux y Java. Sube un archivo DER o pega texto PEM y obtén la salida convertida al instante.
Entendiendo los formatos DER y PEM
Si has trabajado con certificados en diferentes plataformas, inevitablemente has enfrentado el problema de formato. Windows exporta certificados en formato binario DER. Apache y nginx esperan archivos de texto PEM. El keytool de Java habla DER pero la mayoría de las guías de configuración muestran PEM. Tu colega te envió un archivo .cer y no tienes idea si es DER o PEM porque la extensión es ambigua. Todas estas son variaciones de los mismos datos de certificado subyacentes, solo codificados de forma diferente.
DER (Distinguished Encoding Rules) es la representación binaria sin procesar de la estructura de datos ASN.1 del certificado. Es compacto, inequívoco y la codificación canónica -- pero es completamente ilegible en un editor de texto y no puede copiarse de forma segura en correos electrónicos, mensajes de chat o archivos de configuración. PEM (Privacy-Enhanced Mail) resuelve esto envolviendo los bytes DER en codificación base64 y agregando líneas de encabezado/pie como -----BEGIN CERTIFICATE-----. El resultado es aproximadamente un 33% más grande pero funciona en todas partes: puedes pegarlo en una terminal, enviarlo por correo, incluirlo en un archivo YAML o concatenar múltiples certificados en un solo archivo de cadena.
Este conversor maneja ambas direcciones. Dale un archivo binario DER y produce texto PEM que puedes copiar. Dale texto PEM y produce un archivo DER que puedes descargar. Auto-detecta el tipo de contenido (certificado, clave privada, CSR o clave pública) y aplica el encabezado/pie PEM correcto. No necesitas recordar si es openssl x509, openssl rsa u openssl req con las banderas -inform y -outform correctas.
Cómo convertir entre DER y PEM
- Para DER a PEM: sube o arrastra tu archivo binario
.der,.cero.crt - Para PEM a DER: pega el texto PEM incluyendo las líneas
-----BEGIN/END----- - El conversor auto-detecta el formato de entrada y tipo de contenido (certificado, clave o CSR)
- Copia la salida PEM o descarga el archivo binario DER
Comparación de formatos DER vs. PEM
| Característica | DER | PEM |
|---|---|---|
| Codificación | Binaria | ASCII Base64 |
| Tamaño de archivo | Más pequeño (bytes sin procesar) | ~33% más grande (overhead de base64) |
| Legible por humanos | No | Sí (visible en editor de texto) |
| Seguro para copiar/pegar | No | Sí |
| Seguro para correo electrónico | No | Sí |
| Múltiples elementos por archivo | No (un solo objeto) | Sí (concatenación) |
| Extensiones comunes | .der, .cer | .pem, .crt, .cer |
Ejemplo de conversión
PEM a DER
Entrada (PEM):
-----BEGIN CERTIFICATE-----
MIIFjTCCBHWgAwIBAgISA0M4rfJGaXD0dC/jC+/SUoZfMA0GCSqGSIb3
DQEBCwUAMDIxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNy
...base64 data...
-----END CERTIFICATE-----
Salida: Descarga de archivo binario .der (típicamente 1--2 KB para un certificado leaf)
DER a PEM
Entrada: Subir archivo binario .der
Salida (PEM):
-----BEGIN CERTIFICATE-----
MIIFjTCCBHWgAwIBAgISA0M4rfJGaXD0dC/jC+/SUoZfMA0GCSqGSIb3
...contenido codificado en base64...
-----END CERTIFICATE-----
Cuándo usar esta herramienta
- Migración de Windows a Linux -- Windows Certificate Store exporta en formato DER; Apache y nginx requieren PEM
- Operaciones con Java keystore -- El
keytoolde Java importa y exporta DER; muchos pasos de configuración requieren PEM - Inspección de certificados -- convierte DER a PEM para poder pegarlo en visores de certificados, generadores de huellas digitales u otras herramientas de análisis
- Compartir de forma segura por correo -- convierte archivos binarios DER a texto PEM que puede pegarse de forma segura en correos o mensajes de chat
- Preparación para automatización de scripts -- el formato PEM funciona con
openssl,curl --cacerty la mayoría de las herramientas de línea de comandos que esperan certificados basados en texto - Despliegue de certificados multiplataforma -- prepara certificados en el formato correcto para cada sistema destino en tu infraestructura
Cómo funcionan las codificaciones DER y PEM
DER (Distinguished Encoding Rules)
DER es la codificación binaria de estructuras de datos ASN.1 definidas por X.690. Produce una secuencia de bytes única y determinista para cualquier estructura ASN.1 dada. Un certificado codificado en DER son los bytes sin procesar -- no legible en un editor de texto pero compacto e inequívoco.
PEM (Privacy-Enhanced Mail)
PEM envuelve DER en un formato seguro para texto a través de tres pasos:
- Comienza con los datos binarios DER
- Codifícalos usando base64 (convirtiendo binario a caracteres ASCII)
- Agrega líneas de encabezado y pie que identifican el tipo de contenido
Las líneas de encabezado/pie indican lo que contiene el bloque PEM:
| Tipo de contenido | Encabezado |
|---|---|
| Certificado | -----BEGIN CERTIFICATE----- |
| Clave privada (PKCS#8) | -----BEGIN PRIVATE KEY----- |
| Clave privada RSA | -----BEGIN RSA PRIVATE KEY----- |
| CSR | -----BEGIN CERTIFICATE REQUEST----- |
| Clave pública | -----BEGIN PUBLIC KEY----- |
Preferencias de formato por plataforma
| Plataforma | Formato preferido | Notas |
|---|---|---|
| Apache/nginx | PEM | La configuración referencia archivos .pem o .crt |
| Windows/IIS | DER o PKCS#12 | Certificate Manager usa .cer (DER) o .pfx |
| Java (keytool) | DER o PKCS#12 | Importa DER a keystores JKS/PKCS12 |
| OpenSSL CLI | PEM (por defecto) | Soporta ambos con banderas -inform DER/PEM |
| macOS Keychain | DER | Doble clic en archivos .cer para importar |
| Android | DER | El almacén de CA del sistema usa certificados codificados en DER |
Conversión de formatos en la práctica
El escenario de conversión más común es mover certificados de Windows a Linux. Cuando exportas un certificado del Administrador de Certificados de Windows, el formato por defecto es DER con extensión .cer. Si intentas usar este archivo con nginx o Apache, obtendrás un error críptico sobre el formato del certificado siendo inválido. La solución es simple: convertir a PEM. Pero si no tienes OpenSSL instalado en tu máquina Windows (y muchos administradores de Windows no lo tienen), este conversor web te ahorra instalar herramientas adicionales.
La conversión inversa -- PEM a DER -- es más común cuando trabajas con aplicaciones Java. La utilidad keytool de Java importa certificados en formato DER por defecto, y aunque soporta PEM en versiones más recientes, muchos scripts de despliegue antiguos esperan DER. De manera similar, importar un certificado al Almacén de Certificados de Windows o al Keychain de macOS es frecuentemente más fácil con un archivo DER en el que puedes hacer doble clic para iniciar el asistente de importación.
Algo a tener en cuenta es la extensión de archivo ambigua .cer. A diferencia de .pem (siempre PEM) o .der (siempre DER), un archivo .cer puede ser cualquiera de los dos formatos. Si alguien te envía un archivo .cer y no estás seguro de qué formato es, ábrelo en un editor de texto. Si ves -----BEGIN CERTIFICATE----- y caracteres base64 legibles, es PEM. Si ves caracteres binarios, es DER. En Linux, el comando file también te lo dirá: file cert.cer reporta "PEM certificate" o "data" para DER.
Preguntas frecuentes
¿Cómo sé si un archivo .cer es DER o PEM?
Abre el archivo en un editor de texto. Si ves -----BEGIN CERTIFICATE----- y texto base64 legible, es PEM. Si ves caracteres basura binarios, es DER. La extensión .cer es ambigua y puede ser cualquiera de los dos formatos. En la línea de comandos, file cert.cer reportará "PEM certificate" o "data" (para DER).
¿Puedo convertir archivos PKCS#12 (.pfx/.p12) con esta herramienta?
Esta herramienta maneja conversiones DER y PEM. PKCS#12 es un formato de contenedor diferente que agrupa certificados con claves privadas y está protegido por contraseña. Para trabajar con archivos PKCS#12, usa OpenSSL: openssl pkcs12 -in file.pfx -out combined.pem -nodes extrae todo el contenido como PEM.
¿Por qué mi archivo DER es más grande de lo esperado? El formato DER debería ser más pequeño que PEM (sin overhead de base64). Si tu archivo DER parece grande, puede contener múltiples certificados o una clave privada. Los certificados leaf individuales en formato DER son típicamente de 1--2 KB. Las cadenas de certificados deben almacenarse en formato PEM ya que DER no soporta concatenación.
¿Convertir entre DER y PEM cambia la huella digital del certificado? No. La huella digital siempre se calcula sobre los datos codificados en DER, independientemente de si el certificado se almacena como DER o PEM. La conversión entre formatos preserva los bytes DER subyacentes, por lo que la huella digital permanece idéntica.
¿Puedo concatenar múltiples certificados DER en una cadena? No. El formato DER solo soporta un único certificado por archivo. Para crear una cadena (bundle), debes convertir cada certificado DER a formato PEM primero, luego concatenar los bloques PEM en un solo archivo. Usa el PEM Bundle Merger para ensamblarlos en el orden correcto.
Herramientas relacionadas
- X.509 Certificate Viewer - Ve los detalles del certificado después de convertir a PEM
- PEM Bundle Splitter - Divide certificados PEM concatenados después de la conversión desde DER
- PEM Bundle Merger - Fusiona certificados PEM convertidos individualmente en una cadena
- Certificate Fingerprint Generator - Genera huellas digitales de certificados PEM
- CSR Viewer - Ve los detalles del CSR después de convertir de DER a PEM