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), в дополнение к любым сертификатам, которые могут быть добавлены в маркер.
Возвращаемое значение
Значение true
, если сертификат центра меток времени (TSA) найден, открытый ключ сертификата проверяет подпись маркера, а маркер соответствует хэшу для предоставленных данных; в противном случае — значение false
.
Комментарии
Для этого метода требуется, чтобы сертификат центра метки времени (TSA) получил требуемое расширенное значение использования ключа (1.3.6.1.5.5.7.3.8), соответствует встроенному идентификатору ESSCertID или ESSCertID2 маркера, имеет диапазон допустимости, охватывающий значение метки времени маркера, и открытый ключ, который успешно проверяет подпись маркера.
После определения соответствующего сертификата TSA этот метод вычисляет хэш с помощью идентификатора алгоритма, внедренного data
в маркер.
Если этот дайджест соответствует встроенному дайджесту маркера, сертификат передается через signerCertificate
, а метод возвращает true
.
Если дайджест не совпадает или не удалось определить сертификат TSA, метод сообщает как signerCertificate
null
и возвращает false
.