Rfc3161TimestampToken.VerifySignatureForSignerInfo Metoda

Definicja

Sprawdza, czy bieżący token jest prawidłowym tokenem sygnatury czasowej dla podanego SignerInfoelementu .

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

Parametry

signerInfo
SignerInfo

Informacje o podpisywaniu usługi CMS w celu sprawdzenia, czy sygnatura czasowa została utworzona.

signerCertificate
X509Certificate2

Gdy ta metoda zostanie zwrócona, certyfikat z urzędu sygnatury czasowej (TSA), który podpisał ten token, lub null jeśli nie można określić certyfikatu osoby podpisujące. Ten parametr jest traktowany jako niezainicjowany.

extraCandidates
X509Certificate2Collection

Opcjonalna kolekcja certyfikatów do rozważenia jako certyfikaty urzędu sygnatury czasowej (TSA) oprócz wszystkich certyfikatów, które mogą być uwzględnione w tokenie.

Zwraca

true jeśli certyfikat urzędu sygnatury czasowej (TSA) został znaleziony, klucz publiczny certyfikatu weryfikuje podpis tokenu, a token jest zgodny z podpisem ; signerInfow przeciwnym razie false.

Wyjątki

signerInfo to null.

Uwagi

Ta metoda sprawdza, czy token sygnatury czasowej jest prawidłowy dla składni komunikatów kryptograficznych (CMS), SignerInfozgodnie z dodatkiem IETF RFC 3161 A (sygnatura czasowa atrybutu sygnatury czasowej przy użyciu narzędzia CMS).

Ta metoda wymaga, aby certyfikat TSA miał wymaganą wartość rozszerzonego użycia klucza (1.3.6.1.5.5.7.3.8), pasuje do osadzonego identyfikatora ESSCertID lub ESSCertID2 tokenu, ma zakres ważności obejmujący wartość znacznika czasu tokenu i ma klucz publiczny, który pomyślnie weryfikuje podpis tokenu.

Po określeniu odpowiedniego certyfikatu TSA ta metoda określa, czy wartość podpisu z podanej signerInfo metody jest zgodna z identyfikatorem skrótu i algorytmu z tokenu. signerInfo Jeśli podpis jest zgodny z identyfikatorem skrótu tokenu i identyfikatorem algorytmu, certyfikat jest zgłaszany za pośrednictwem metody signerCertificate , a metoda zwraca truewartość .

signerInfo Jeśli podpis nie jest zgodny lub nie można określić certyfikatu TSA, metoda zgłasza signerCertificate jako null i zwraca wartość false.

Ta metoda nie bierze pod uwagę UnsignedAttributessignerInfo ani nie określa, czy signerInfo podpis jest odpowiedni dla danych, które podpis rzekomo podpisał.

Dotyczy

Zobacz też