¿Qué es el formato de archivo PFX?
Los archivos .pfx están asociados con el estándar de criptografía PKCS #12, desarrollado originalmente por RSA Laboratories y actualmente regido por el RFC 7292.
Los archivos con la extensión .pfx almacenan objetos criptográficos cifrados y firmados digitalmente en un contenedor binario codificado en DER. Cada archivo .pfx se divide en los llamados SafeBags, que también pueden cifrarse y firmarse de forma independiente. El estándar PKCS #12 divide además los SafeBags en tipos adecuados para almacenar claves privadas, certificados X.509, cadenas de certificados y otros datos de seguridad.
.pfx se utiliza más comúnmente para agrupar una clave privada junto con su cadena de certificados correspondiente en un único archivo protegido por contraseña. Los usos típicos incluyen la exportación de certificados TLS/SSL entre servidores, la distribución de identidades de firma de código y la transferencia de credenciales S/MIME entre dispositivos.
.pfx y .p12 son funcionalmente idénticos: las herramientas de Windows utilizan .pfx mientras que macOS y Linux prefieren .p12. Ambos pueden convertirse al formato de texto .pem con el comando openssl pkcs12. A diferencia de los certificados .cer independientes, un archivo .pfx lleva la clave privada junto al certificado, lo que lo convierte en el formato preferido cuando la clave debe viajar con el certificado.
Seguridad y protección
RIESGO: HIGHUn PFX contiene una CLAVE PRIVADA, por lo que es uno de los tipos de archivo más sensibles que maneja un usuario: cualquier persona con el archivo y su contraseña puede suplantar al propietario del certificado -firmar código o documentos en su nombre, o levantar un servidor con su identidad TLS-. Nunca envíe un PFX sin protección por correo electrónico, nunca lo incluya en el control de versiones, use una contraseña de exportación robusta y almacénelo de forma segura (lo ideal es eliminar el archivo tras importarlo). Trate cualquier adjunto .pfx inesperado como sospechoso. Solo genere o manipule archivos PFX con herramientas de confianza (asistentes del SO, OpenSSL), no en sitios web aleatorios de «visualización de certificados» que podrían exfiltrar su clave y contraseña.
Detalles del formato
en pocas palabrasProgramas que abren archivos PFX
Detalles técnicos
especificación profunda| Codificación del contenedor | Binario DER (Distinguished Encoding Rules) sobre ASN.1; el archivo no es legible por humanos sin un analizador dedicado |
| Tipo MIME | application/x-pkcs12 |
| Bytes mágicos | 30 82 en el desplazamiento 0 (ASN.1 DER SEQUENCE con longitud de 2 bytes); compartido con otros formatos codificados en DER - identificar por extensión o tipo MIME, no solo por los bytes |
| Estructura interna | Capas anidadas: PFX → AuthenticatedSafe → SafeContents → SafeBags; cada SafeBag contiene un objeto criptográfico tipificado |
| Tipos de SafeBag | KeyBag, PKCS8ShroudedKeyBag, CertBag, CRLBag, SecretBag, SafeContents - los seis tipos oficiales de SafeBag definidos en el RFC 7292 |
| Protección por contraseña | El archivo general y los SafeBags individuales pueden cifrarse de forma independiente con una frase de paso elegida por el usuario mediante cifrado basado en contraseña |
| Algoritmos de cifrado | AES-256-CBC y 3DES-CBC para implementaciones modernas; RC2 y RC4 aparecen en archivos heredados (obsoletos - evitar al generar nuevos archivos) |
| Integridad MAC | Un HMAC (SHA-1 en sistemas heredados; SHA-256 o SHA-384 en implementaciones modernas) cubre la estructura AuthenticatedSafe para detectar manipulaciones |
| Derivación de claves | PBKDF1 (RFC 7292 Apéndice B) o PBKDF2 con recuento de iteraciones configurable refuerza el cifrado basado en contraseña contra ataques de fuerza bruta |
| Nombre Windows vs. IETF | .pfx es el sufijo original acuñado por Microsoft; .p12 es el nombre estándar de IETF; ambos son idénticos byte por byte y totalmente intercambiables |
| Almacenamiento de múltiples objetos | Un solo .pfx puede contener múltiples certificados y claves; por ejemplo, una cadena completa de certificados de entidad final, intermedios y raíz de la CA, además de la clave privada |
| Conversión CLI común | openssl pkcs12 -in archivo.pfx -out archivo.pem -nodes extrae a texto PEM; openssl pkcs12 -export -out archivo.pfx agrupa entradas PEM en un nuevo archivo |
| Soporte de plataformas | Nativo en Windows (Asistente para importación de certificados, certutil, PowerShell), macOS (Acceso a Llaveros), iOS, Android, Java (keytool) y la mayoría de las librerías TLS |
| Casos de uso típicos | Despliegue de certificados de servidor TLS/SSL, identidades de firma de código, claves de correo S/MIME, credenciales de cliente VPN y aprovisionamiento de tarjetas inteligentes |
| Lanzado | PKCS #12 v1.0 published 1999 by RSA; Microsoft .pfx predates and feeds into it |
| Estándar abierto | Sí · libre de regalías |
| Especificación | www.rfc-editor.org |