Rfc3161TimestampToken.VerifySignatureForData 方法

定义

验证当前令牌是否为提供的数据的有效时间戳令牌。

public bool VerifySignatureForData (ReadOnlySpan<byte> data, out System.Security.Cryptography.X509Certificates.X509Certificate2 signerCertificate, System.Security.Cryptography.X509Certificates.X509Certificate2Collection extraCandidates = default);
public bool VerifySignatureForData (ReadOnlySpan<byte> data, out System.Security.Cryptography.X509Certificates.X509Certificate2? signerCertificate, System.Security.Cryptography.X509Certificates.X509Certificate2Collection? extraCandidates = default);
member this.VerifySignatureForData : ReadOnlySpan<byte> * X509Certificate2 * System.Security.Cryptography.X509Certificates.X509Certificate2Collection -> bool
Public Function VerifySignatureForData (data As ReadOnlySpan(Of Byte), ByRef signerCertificate As X509Certificate2, Optional extraCandidates As X509Certificate2Collection = Nothing) As Boolean

参数

data
ReadOnlySpan<Byte>

要根据此时间戳令牌验证的数据。

signerCertificate
X509Certificate2

此方法返回结果时,从签署此令牌的时间戳颁发机构 (TSA) 返回证书,如果无法确定签名者证书,则返回 null。 该参数未经初始化即被处理。

extraCandidates
X509Certificate2Collection

除了令牌中可能包含的任何证书之外,还可以考虑作为时间戳颁发机构 (TSA) 证书的可选证书集合。

返回

Boolean

如果找到了时间戳颁发机构(TSA)证书,证书公钥对令牌签名进行了验证,并且该令牌与提供的数据的哈希匹配,则为 true;否则,为 false

注解

此方法要求时间戳颁发机构 (TSA) 证书具有所需的扩展密钥使用值 (1.3.6.1.5.5.7.3.8) , 匹配令牌的嵌入式 ESSCertID 或 ESSCertID2 标识符,具有包含令牌时间戳值的有效范围,并且具有成功验证令牌签名的公钥。

确定适当的 TSA 证书后,此方法会计算使用令牌中嵌入的算法标识符的摘要 data 。 如果该摘要与令牌的嵌入摘要匹配,则通过 signerCertificate 该方法返回证书报告 true

如果摘要不匹配,或无法确定 TSA 证书,则该方法将报告 signerCertificatenull 返回 false

适用于

另请参阅