Saltar al contenido
ecdsa.com

CMS (sintaxis de mensajes criptográficos)

El sucesor de PKCS #7 en el IETF (RFC 5652) para datos firmados, ensobrados (enveloped) y autenticados, que usan S/MIME, Authenticode, las firmas PDF, los sellos de tiempo RFC 3161 y muchos formatos de firmware.
También se escribePKCS #7PKCS7Cryptographic Message SyntaxSignedData

El tipo de contenido más habitual es SignedData: el contenido (o solo una referencia a él, en las firmas separadas), los certificados de los firmantes y un SignerInfo por firmante. Un SignerInfo suele incluir atributos firmados —como mínimo el tipo de contenido y el messageDigest del contenido, a menudo la hora de la firma—, y la firma se calcula sobre la codificación DER de esos atributos, no directamente sobre el contenido.

EnvelopedData cifra el contenido para los destinatarios mediante transporte de claves por destinatario (RSA), acuerdo de claves (ECDH) o, desde el RFC 9629, mecanismos KEM como ML-KEM (RFC 9936). AuthEnvelopedData añade cifrado de contenido AEAD (RFC 5083). Las etiquetas PEM son PKCS7 y CMS.

La mayoría de los fallos de verificación se deben a detalles: contenido separado que no es idéntico byte a byte a lo que se firmó (los finales de línea en S/MIME), una cadena de certificados que falta, atributos firmados recodificados con otro orden de SET OF o un algoritmo de resumen que el verificador ya no acepta. openssl cms -verify y el verificador de S/MIME muestran qué paso falló.

Estándares y referencias

Todos los términos