¿Cómo obtengo la clave pública del sujeto de un mensaje PKCS7?

1

Cotizando RFC4562 , Sintaxis criptográfica de mensajes (CMS) , sección < em> 5.6. Proceso de verificación de la firma :

  

El destinatario PUEDE obtener la clave pública correcta para el firmante por cualquier medio, pero el método preferido es a partir de un certificado obtenido del campo de certificados SignedData.

El campo de certificados es un SET OF CertificateChoices que puede ser cualquiera de los siguientes:

  • certificado
  • ExtendedCertificate
  • AttributeCertificateV1
  • AttributeCertificateV2
  • OtroCertificateFormat

Los dos primeros tienen un campo subjectPublicKey pero los tres últimos no lo parecen. Tienen campos de atributo que podrían contener un subjectPublicKey , supongo, pero si no lo hacen, me pregunto cuál es el punto de incluirlos como posibles opciones.

    
pregunta neubert 15.08.2015 - 21:59
fuente

1 respuesta

1

Como ha indicado, la clave pública se incluye en el Certificado . Sin embargo, un mensaje PKCS7 no exige la inclusión del Certificado.

  

La persona que firma puede o no incluir su certificado X.509 para que el destinatario lo use para verificar la firma. Si no está incluido, el destinatario debe obtener una copia del certificado del firmante por otros medios.

( enlace )

Sin embargo, ISO 14533 (si el producto de seguridad utiliza este estándar) define el campo Certificado como Obligatorio para los datos firmados; AttributeCertificateV2 como condicional; y, OtherCertificateFormat como condicional. ( enlace )

También, por enlace , dos de los cinco formatos de certificado ahora están obsoletos:

      CertificateChoices ::= CHOICE {
   certificate Certificate,
   extendedCertificate [0] IMPLICIT ExtendedCertificate, -- Obsolete
   v1AttrCert [1] IMPLICIT AttributeCertificateV1,       -- Obsolete
   v2AttrCert [2] IMPLICIT AttributeCertificateV2,
   other [3] IMPLICIT OtherCertificateFormat }
    
respondido por el Scott 18.08.2015 - 23:28
fuente

Lea otras preguntas en las etiquetas