Rfc3161TimestampToken.VerifySignatureForSignerInfo Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Проверяет, является ли текущий маркер допустимым маркером метки времени для предоставленного SignerInfo.
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
Параметры
- signerInfo
- SignerInfo
Сведения о подписавшем CMS для проверки создания метки времени.
- signerCertificate
- X509Certificate2
Когда этот метод возвращает управление, сертификат из центра меток времени (TSA), который подписал этот маркер, или null
, если не удается определить сертификат подписавшего. Этот параметр обрабатывается как неинициализированный.
- extraCandidates
- X509Certificate2Collection
Необязательная коллекция сертификатов, которые можно рассматривать как сертификаты центра меток времени (TSA), в дополнение к любым сертификатам, которые могут быть добавлены в маркер.
Возвращаемое значение
Значение true
, если сертификат центра меток времени (TSA) найден, открытый ключ сертификата проверяет подпись маркера, а маркер соответствует подписи для signerInfo
; в противном случае — значение false
.
Исключения
signerInfo
имеет значение null
.
Комментарии
Этот метод проверяет допустимость маркера метки времени для синтаксиса криптографических сообщений (CMS) SignerInfoв соответствии с приложением IETF RFC 3161 (атрибут метки времени подписи с помощью CMS).
Для этого метода требуется, чтобы сертификат TSA получил требуемое расширенное значение использования ключа (1.3.6.1.5.5.7.3.8), соответствует встроенному идентификатору ESSCertID или ESSCertID2 маркера, имеет диапазон допустимости, охватывающий значение метки времени маркера, и открытый ключ, который успешно проверяет подпись маркера.
После определения соответствующего сертификата TSA этот метод определяет, совпадает ли значение подписи из предоставленного signerInfo
хэша и идентификатора алгоритма из маркера.
Если сигнатура signerInfo
соответствует хэшу и идентификатору алгоритма маркера, сертификат передается через signerCertificate
и метод возвращает true
.
signerInfo
Если подпись не совпадает или не удалось определить сертификат TSA, метод сообщает как signerCertificate
null
и возвращает .false
Этот метод не принимает UnsignedAttributes рассматриваемого signerInfo
объекта и не определяет, подходит ли signerInfo
подпись для данных, которые подпись якобы подписана.