Sdílet prostřednictvím


Rfc3161TimestampToken.VerifySignatureForSignerInfo Metoda

Definice

Ověří, že aktuální token je platným tokenem časového razítka pro zadaný 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

Parametry

signerInfo
SignerInfo

Informace o podepisující sadě CMS, pro které se má ověřit, že časové razítko bylo vytvořeno.

signerCertificate
X509Certificate2

Když tato metoda vrátí certifikát od autority časového razítka (TSA), která podepsala tento token, nebo null pokud nelze určit certifikát podepisujícího. Tento parametr je považován za neinicializovaný.

extraCandidates
X509Certificate2Collection

Volitelná kolekce certifikátů, které se mají považovat za certifikáty TSA (Timestamp Authority) a všechny certifikáty, které mohou být součástí tokenu.

Návraty

true Pokud byl nalezen certifikát TSA (Timestamp Authority), veřejný klíč certifikátu ověří podpis tokenu a token se shoduje s podpisem pro signerInfo, jinak false.

Výjimky

signerInfo je null.

Poznámky

Tato metoda ověřuje, že token časového razítka je platný pro Cryptographic Message Syntax (CMS) SignerInfopodle IETF RFC 3161 Dodatek A (Atribut časového razítka podpisu pomocí CMS).

Tato metoda vyžaduje, aby certifikát TSA má požadovanou rozšířenou hodnotu použití klíče (1.3.6.1.5.5.7.3.8), odpovídal identifikátoru ESSCertID nebo ESSCertID2 tokenu, má rozsah platnosti zahrnující hodnotu časového razítka tokenu a veřejný klíč, který úspěšně ověří podpis tokenu.

Po určení příslušného certifikátu TSA tato metoda určí, jestli hodnota podpisu z zadané signerInfo hodnoty odpovídá hodnotě hash a identifikátoru algoritmu z tokenu. signerInfo Pokud podpis odpovídá hodnotě hash tokenu a identifikátoru algoritmu, certifikát se ohlásí prostřednictvím signerCertificate a metoda vrátí true.

Pokud se signerInfo podpis neshoduje nebo se nepodařilo určit certifikát TSA, metoda ohlásí signerCertificate a null vrátí false.

Tato metoda nezohlední UnsignedAttributes z zvažovaných signerInfo dat ani nezjišťuje, zda signerInfo je podpis vhodný pro data, která podpis má podepsat.

Platí pro

Viz také