Rfc3161TimestampToken.VerifySignatureForSignerInfo Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Comprueba que el token actual es un token de marca de tiempo válido para la información SignerInfo proporcionada.
public bool VerifySignatureForSignerInfo (System.Security.Cryptography.Pkcs.SignerInfo signerInfo, out System.Security.Cryptography.X509Certificates.X509Certificate2? signerCertificate, System.Security.Cryptography.X509Certificates.X509Certificate2Collection? extraCandidates = default);
public bool VerifySignatureForSignerInfo (System.Security.Cryptography.Pkcs.SignerInfo signerInfo, out System.Security.Cryptography.X509Certificates.X509Certificate2 signerCertificate, System.Security.Cryptography.X509Certificates.X509Certificate2Collection extraCandidates = default);
member this.VerifySignatureForSignerInfo : System.Security.Cryptography.Pkcs.SignerInfo * X509Certificate2 * System.Security.Cryptography.X509Certificates.X509Certificate2Collection -> bool
Public Function VerifySignatureForSignerInfo (signerInfo As SignerInfo, ByRef signerCertificate As X509Certificate2, Optional extraCandidates As X509Certificate2Collection = Nothing) As Boolean
Parámetros
- signerInfo
- SignerInfo
La información del firmante de CMS para comprobar la marca de tiempo para la que se compiló.
- signerCertificate
- X509Certificate2
Cuando este método devuelve, el certificado de la autoridad de marca de tiempo (TSA) que firmó este token o null
si no se puede determinar un certificado de firmante. Este parámetro se trata como sin inicializar.
- extraCandidates
- X509Certificate2Collection
Colección opcional de certificados que se deben considerar como certificados de autoridad de marca de tiempo (TSA), además de los certificados que se puedan incluir en el token.
Devoluciones
Es true
si se ha encontrado el certificado de autoridad de marca de tiempo (TSA), la clave pública del certificado valida la firma del token y el token coincide con la firma de signerInfo
; de lo contrario, es false
.
Excepciones
signerInfo
es null
.
Comentarios
Este método comprueba que el token de marca de tiempo es válido para una sintaxis de mensajes criptográficos (CMS), SignerInfosegún IETF RFC 3161 Apéndice A (atributo de marca de tiempo de firma mediante CMS).
Este método requiere que el certificado TSA tenga el valor de uso de clave extendida necesario (1.3.6.1.5.5.7.3.8), coincide con el identificador ESSCertID incrustado o ESSCertID2 del token, tiene un intervalo de validez que abarca el valor de marca de tiempo del token y tiene una clave pública que valida correctamente la firma del token.
Después de determinar el certificado TSA adecuado, este método determina si el valor de firma del proporcionado signerInfo
coincide con el identificador de resumen y algoritmo del token.
Si la signerInfo
firma coincide con el identificador de algoritmo y el resumen del token, el certificado se notifica a través signerCertificate
de y el método devuelve true
.
Si la signerInfo
firma no coincide o no se pudo determinar el certificado de TSA, el método notifica signerCertificate
como null
y devuelve false
.
Este método no tiene en cuenta la UnsignedAttributes propiedad de , signerInfo
ni determina si la signerInfo
firma es adecuada para los datos que la firma pretende haber firmado.