Al leer algunas partes de la especificación X.509, encontré la firma agregada dos veces: primero en AttributeCertificate
como signatureAlgorithm
y segundo en AttributeCertificateInfo
como signature
. ¿Podría explicarme por qué? Lo mismo ocurre con los campos de certificados básicos.
signature:
Este campo DEBE contener el mismo identificador de algoritmo que el campo SignatureAlgorithm en la secuencia Certificado
AttributeCertificate ::= SEQUENCE {
acinfo AttributeCertificateInfo,
signatureAlgorithm AlgorithmIdentifier,
signatureValue BIT STRING
}
AttributeCertificateInfo ::= SEQUENCE {
version AttCertVersion, -- version is v2
holder Holder,
issuer AttCertIssuer,
signature AlgorithmIdentifier,
serialNumber CertificateSerialNumber,
attrCertValidityPeriod AttCertValidityPeriod,
attributes SEQUENCE OF Attribute,
issuerUniqueID UniqueIdentifier OPTIONAL,
extensions Extensions OPTIONAL
}