Rfc3161TimestampToken.VerifySignatureForData 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
验证当前令牌是否为提供的数据的有效时间戳令牌。
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) 证书的可选证书集合。
返回
如果找到了时间戳颁发机构(TSA)证书,证书公钥对令牌签名进行了验证,并且该令牌与提供的数据的哈希匹配,则为 true
;否则,为 false
。
注解
此方法要求时间戳颁发机构 (TSA) 证书具有所需的扩展密钥使用值 (1.3.6.1.5.5.7.3.8) , 匹配令牌的嵌入 ESSCertID 或 ESSCertID2 标识符,具有包含令牌时间戳值的有效性范围,并且具有成功验证令牌签名的公钥。
确定适当的 TSA 证书后,此方法计算使用令牌中嵌入的 data
算法标识符的摘要。
如果该摘要与令牌的嵌入摘要匹配,则通过 signerCertificate
报告证书,并且 方法返回 true
。
如果摘要不匹配,或者无法确定 TSA 证书,该方法将报告 signerCertificate
为 null
并返回 false
。