Поделиться через


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, метод сообщает как signerCertificatenull и возвращает .false

Этот метод не принимает UnsignedAttributes рассматриваемого signerInfo объекта и не определяет, подходит ли signerInfo подпись для данных, которые подпись якобы подписана.

Применяется к

См. также раздел