Come ottengo l'oggetto chiave pubblica da un messaggio PKCS7?

1

Citando RFC4562 , Sintassi dei messaggi crittografici (CMS) , sezione < em> 5.6. Processo di verifica della firma :

The recipient MAY obtain the correct public key for the signer by any means, but the preferred method is from a certificate obtained from the SignedData certificates field.

Il campo dei certificati è un SET OF CertificateChoices che può essere uno dei seguenti:

  • Certificato
  • ExtendedCertificate
  • AttributeCertificateV1
  • AttributeCertificateV2
  • OtherCertificateFormat

I primi due hanno un campo subjectPublicKey ma gli ultimi tre non sembrano. Hanno campi Attributo che potrebbero contenere un subjectPublicKey , suppongo - ma se non lo fanno mi chiedo quale sia il motivo di includerli come possibili scelte?

    
posta neubert 15.08.2015 - 21:59
fonte

1 risposta

1

Come hai notato, la chiave pubblica è inclusa nel certificato . Tuttavia, un messaggio PKCS7 non richiede l'inclusione del certificato.

The person signing may or may not include their X.509 certificate for the recipient to use to verify the signature. If it is not included, the recipient has to obtain a copy of the signer's certificate by other means.

( link )

Tuttavia, ISO 14533 (se il prodotto di sicurezza utilizza questo standard) definisce il campo Certificato come obbligatorio per i dati firmati; AttributeCertificateV2 come condizionale; e, OtherCertificateFormat come condizionale. ( link )

Inoltre, per link , due dei cinque formati di certificato sono ora obsoleti:

      CertificateChoices ::= CHOICE {
   certificate Certificate,
   extendedCertificate [0] IMPLICIT ExtendedCertificate, -- Obsolete
   v1AttrCert [1] IMPLICIT AttributeCertificateV1,       -- Obsolete
   v2AttrCert [2] IMPLICIT AttributeCertificateV2,
   other [3] IMPLICIT OtherCertificateFormat }
    
risposta data 18.08.2015 - 23:28
fonte

Leggi altre domande sui tag