¿Qué es el formato de archivo P7M?
Los archivos .p7m se encargan de almacenar mensajes de correo electrónico y documentos cifrados o firmados digitalmente como un contenedor binario PKCS#7/CMS. En dicho archivo, el contenido, cualquier adjunto, la firma criptográfica y la cadena de certificados del firmante se almacenan juntos. El formato es igualmente común como un envoltorio de documentos firmados de propósito general: un archivo real -como un PDF o una factura XML- se incrusta textualmente dentro de la carcasa .p7m, que añade la capa de firma por encima.
El contenedor es normalmente binario codificado en DER (bytes mágicos ASN.1 0x30 0x82 en el desplazamiento 0); también existe una variante de texto en Base64 de la misma estructura que comienza con MII.... A diferencia de .p7s, que es una firma separada que mantiene el documento de origen aparte, .p7m agrupa el documento original y la firma en un único archivo autónomo.
Acceso a mensajes cifrados
Los archivos .p7m tienen un propósito principal: la protección de la información contenida en un mensaje contra el acceso no autorizado de terceros. Para leer un .p7m cifrado es necesario poseer una clave privada que coincida con la clave pública que se utilizó para sellar el mensaje. La clave privada del destinatario sigue siendo la misma en todos los mensajes, por lo que el destinatario final tiene un acceso fácil a cada nuevo mensaje sin configuración adicional.
- Los archivos
.p7mse utilizan a menudo para enviar datos sensibles y protegidos en los sectores médico, financiero o empresarial. - Los archivos
.p7mutilizan el estándar Secure/Multipurpose Internet Mail Extensions (S/MIME) como método de firma y cifrado; la especificación subyacente es CMS (RFC 5652). - En la UE -especialmente en Italia-
.p7mes el contenedor estándar para las firmas electrónicas cualificadas CAdES (CMS Advanced Electronic Signatures), que tienen pleno valor legal. - Los mensajes firmados o cifrados en archivos
.p7msuelen aparecer bajo el nombre de archivosmime.p7m.
Dichos mensajes de correo electrónico .eml proporcionan solo información dentro de un encabezado, con un campo de contenido vacío visible para el cliente de correo. El texto y los archivos del mensaje se encuentran dentro del propio adjunto cifrado o firmado. Para extraer el documento interno o verificar una firma sin software dedicado, openssl smime -verify o openssl smime -decrypt son opciones comunes de línea de comandos.
Seguridad y protección
RIESGO: MEDIUMUn .p7m son datos, no un programa, por lo que no puede ejecutarse por sí solo, pero conlleva un significado de confianza que es importante. Para los archivos .p7m FIRMADOS, «abrirlos» es seguro, pero el objetivo es VERIFICAR: una firma válida le indica quién firmó y que el documento no ha sido alterado; compruebe que el certificado del firmante sea de confianza y no haya caducado ni haya sido revocado, no solo que «existe una firma». El documento interno (por ejemplo, un PDF) sigue mereciendo la precaución habitual una vez extraído. Para los .p7m CIFRADOS, necesita SU clave privada para descifrarlo; nunca envíe su clave privada a nadie ni suba un .p7m confidencial/cifrado a un «abridor» en línea aleatorio. Prefiera los servicios oficiales de verificación (Aruba/Agid) y las herramientas locales (Dike/OpenSSL) para documentos sensibles.
Detalles del formato
en pocas palabrasProgramas que abren archivos P7M
Detalles técnicos
especificación profunda| Formato de contenedor | PKCS#7 / CMS (Cryptographic Message Syntax) |
| Especificación reguladora | IETF RFC 5652 (CMS); anteriormente RFC 2315 (PKCS#7 v1.5) |
| Tipo MIME | application/pkcs7-mime |
| Nombre de archivo S/MIME predeterminado | smime.p7m |
| Codificación binaria | DER (Distinguished Encoding Rules) - estructura binaria ASN.1 |
| Codificación alternativa | Texto Base64 (comienza con «MII…») - misma estructura CMS, diferente codificación de transporte |
| Bytes mágicos (DER) | 0x30 0x82 en el desplazamiento 0 del archivo - etiqueta ASN.1 SEQUENCE seguida de un campo de longitud de 2 bytes |
| Tipos de contenido CMS | SignedData, EnvelopedData (cifrado), SignedAndEnvelopedData, CompressedData |
| Perfil de firma de la UE | CAdES (CMS Advanced Electronic Signatures, ETSI EN 319 122) - admite nivel cualificado bajo eIDAS |
| Certificados incrustados | Certificados del firmante X.509 y cadena de CA intermedia almacenados dentro del contenedor |
| Algoritmos de firma | RSA (PKCS#1 v1.5, PSS) y ECDSA; algoritmos de resumen SHA-256, SHA-384, SHA-512 |
| Algoritmos de cifrado | AES-128 y AES-256 (CBC/GCM); Triple-DES para compatibilidad heredada |
| Documento interno | Cualquier tipo de archivo (PDF, factura XML, texto plano, etc.) incrustado textualmente y extraíble |
| Requisito de descifrado | Clave privada del destinatario que coincida con el certificado de clave pública X.509 utilizado durante el cifrado |
| Uso legal | Formato estándar de firma electrónica cualificada para la administración pública (PA) italiana, correo certificado (PEC) y documentos transfronterizos de la UE |
| Lanzado | PKCS#7 (1990s); S/MIME / CMS standardized in RFC 5652. Heavily used for EU/Italian legal e-signatures (CAdES) |
| Estándar abierto | Sí · libre de regalías |
| Especificación | www.rfc-editor.org |