Rfc3161TimestampToken.VerifySignatureForSignerInfo Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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.