Rfc3161TimestampToken.VerifySignatureForSignerInfo Método

Definição

Verifica se o token atual é um token de carimbo de data/hora válido para os SignerInfo fornecidos.

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

As informações de signatário da CMS para verificar se o carimbo de data/hora foi criado.

signerCertificate
X509Certificate2

Quando esse método retornar, o certificado da TSA (autoridade de carimbo de data/hora) que tiver assinado esse token ou null se um certificado de signatário não puder ser determinado. Esse parâmetro é tratado como não inicializado.

extraCandidates
X509Certificate2Collection

Uma coleção opcional de certificados a serem considerados como certificados da TSA (autoridade de carimbo de data/hora), além de outros certificados que possam ser incluídos com o token.

Retornos

true se o certificado da TSA (autoridade de carimbo de data/hora) foi encontrado, a chave pública do certificado valida a assinatura do token e o token corresponde à assinatura de signerInfo; caso contrário, false.

Exceções

signerInfo é null.

Comentários

Esse método verifica se o token de carimbo de data/hora é válido para uma SINTAXe de Mensagem Criptográfica (CMS), SignerInfode acordo com o Apêndice A do RFC 3161 do IETF (atributo de carimbo de data/hora de assinatura usando CMS).

Esse método exige que o certificado TSA tenha o valor de uso de chave estendida necessário (1.3.6.1.5.5.7.3.8), corresponde ao identificador ESSCertID ou ESSCertID2 inserido do token, tem um intervalo de validade que abrange o valor de carimbo de data/hora do token e tem uma chave pública que valida com êxito a assinatura do token.

Depois de determinar o certificado TSA apropriado, esse método determina se o valor de assinatura do fornecido signerInfo corresponde ao resumo e ao identificador de algoritmo do token. Se a signerInfo assinatura corresponder ao resumo do token e ao identificador de algoritmo, o certificado será relatado por meio do signerCertificate e o método retornará true.

Se a signerInfo assinatura não corresponder ou o certificado TSA não puder ser determinado, o método relatará signerCertificate como null e retornará false.

Esse método não considera o UnsignedAttributessignerInfo do em consideração, nem determina se a signerInfo assinatura é apropriada para os dados que a assinatura pretende ter assinado.

Aplica-se a

Confira também