PEM, DER, PFX y PKCS#7: formatos de certificado SSL explicados y cómo convertirlos

Cuando recibes un certificado SSL, a menudo obtienes más de un archivo con extensiones distintas: .pem, .crt, .der, .pfx, .p7b. El problema es que tu servidor solo acepta un formato concreto, no todos. Esta guía explica qué es cada formato, dónde se usa y cómo cambiar entre ellos con un conversor SSL.

¿Qué son los formatos de certificado SSL?

Todos los formatos contienen los mismos datos del certificado. La diferencia está en cómo se empaquetan esos datos y si incluyen también la clave privada y los certificados de la cadena.

  • PEM — Un formato de texto codificado en Base64 (empieza con -----BEGIN CERTIFICATE-----). Es el estándar de Apache, Nginx y el mundo Linux en general. Un solo archivo puede contener el certificado, la cadena y la clave privada.
  • DER — La versión binaria de PEM. No es legible para humanos; lo prefieren algunas aplicaciones Java y dispositivos de hardware. La extensión suele ser .der o .cer.
  • PFX / PKCS#12 — Agrupa el certificado, la cadena y la clave privada en un único archivo cifrado (.pfx o .p12). Es el formato de transporte estándar para Windows e IIS.
  • P7B / PKCS#7 — Contiene solo el certificado y su cadena, sin clave privada (.p7b o .p7c). Es común para construir cadenas en Windows y Tomcat.

¿Qué servidor necesita qué formato?

  • Apache / Nginx (Linux): PEM — un archivo de certificado independiente (con la cadena) y un archivo de clave privada independiente.
  • Microsoft IIS / Windows: PFX (PKCS#12) — certificado, clave y cadena en un solo archivo. Suele ser la opción más práctica.
  • Apache Tomcat: Normalmente un keystore PKCS#12 (PFX); las configuraciones antiguas usan P7B para la cadena.
  • Aplicaciones Java: DER, o PKCS#12 para importar a un keystore.
  • Balanceadores de carga / CDN: Normalmente PEM (certificado + clave).

Cómo convertir con el conversor SSL

Nuestra herramienta conversor SSL te permite cambiar entre estos formatos en segundos. Lo más importante: todo se ejecuta en tu navegador; tu clave privada nunca sale de tu dispositivo. No se suben archivos a ningún servidor y la conversión ocurre completamente en local.

  1. Abre la herramienta y selecciona el archivo que quieres convertir (PEM, DER, P7B o PFX).
  2. Elige el formato de destino.
  3. Si vas a generar una salida PFX, añade la clave privada y, opcionalmente, define una contraseña.
  4. Si usas un PFX como entrada, debes introducir la contraseña del archivo.
  5. Pulsa convertir y descarga el resultado.

Comandos openssl equivalentes

Para quienes prefieren la línea de comandos, estos son los equivalentes:

PEM -> DER:   openssl x509 -in cert.pem -outform der -out cert.der
DER -> PEM:   openssl x509 -in cert.der -inform der -out cert.pem
PEM -> PFX:   openssl pkcs12 -export -in cert.pem -inkey key.pem -out cert.pfx
PFX -> PEM:   openssl pkcs12 -in cert.pfx -nodes -out cert.pem
PEM -> P7B:   openssl crl2pkcs7 -nocrl -certfile cert.pem -out cert.p7b
P7B -> PEM:   openssl pkcs7 -in cert.p7b -print_certs -out cert.pem

PFX y privacidad: ¿por qué hacerlo en el navegador?

Un archivo PFX es extremadamente sensible porque contiene tu clave privada. Cualquiera que obtenga esa clave puede descifrar tu tráfico o suplantar tu sitio. Por eso subir conversiones con clave privada a sitios online cualquiera es un riesgo grave. En nuestra herramienta la conversión se ejecuta totalmente en el lado del cliente, así tu clave nunca sale de tu ordenador y tu privacidad queda intacta.

¿Aún no tienes certificado?

Si no tienes un certificado que convertir, consigue uno primero. Con nuestro asistente de SSL gratuito de 90 días puedes emitir un certificado de Let's Encrypt en minutos y luego convertirlo al formato exacto que espera tu servidor.

Resumen

PEM es para Linux/Apache/Nginx, DER es binario/Java, PFX es para Windows/IIS (con clave) y P7B es para la cadena (sin clave). Identifica el formato correcto, conviértelo de forma segura con el conversor SSL y recuerda: todo el proceso se ejecuta en tu navegador y tu clave privada nunca sale de tu dispositivo.