PLVerifyModernDetachedCMS
Kryptographie, digitale Signaturen
Beschreibung
Verifiziert einen Signer eines modernen Detached CMS gegen die ursprünglichen Datenbytes
Der Verifizierer parst das SignedData, prüft den Message-Digest der signierten Attribute gegen die Daten und validiert dann die rohe Signatur mit dem Public-Key des Signer-Zertifikats: Pure-Pascal-Ed25519, ECDSA über die Kurvenparameter oder RSA PKCS#1 und PSS über CNG
Syntax
Delphi
Function PLVerifyModernDetachedCMS(Const CMSBytes, Data: AnsiString;
SignerIndex: Integer; Out SignerCount: Integer;
Out NativeError: Cardinal): Integer;Parameter
| CMSBytes | DER-kodiertes Detached-CMS-SignedData |
|---|---|
| Data | Die ursprünglich abgedeckten Bytes, dieselbe Eingabe, die zur Signaturzeit gedigestet wurde |
| SignerIndex | Nullbasierter, zu verifizierender Signer |
| SignerCount | Erhält die Anzahl der im CMS gefundenen Signer |
| NativeError | Erhält eine grobe Fehlerklasse, 13 für fehlerhafte Eingabe, 50 für Digest-Ärger oder den CNG-Status des gescheiterten Primitivs |
Rückgabewerte
| 0 | Das CMS parst, aber sein Signaturalgorithmus ist nicht im modernen Satz, dieser Verifizierer ist also nicht zuständig |
|---|---|
| 1 | Der Signer wurde erfolgreich verifiziert |
| 2 | Ein Parse-, Digest- oder Primitivschritt ist fehlgeschlagen; NativeError trägt den Grund |
Anmerkungen
Der Message-Digest-Vergleich läuft zeitkonstant, und die PSS-Parameter müssen denselben Digest benennen wie die SignerInfo, ganz nach RFC 4056; Ergebnis 0 sagt dem Aufrufer, das Blob stattdessen dem Plattform-Verifizierer zu übergeben
Siehe auch
PLBuildModernDetachedCMS, PLIsModernDetachedCMS, PLCertificateSubjectAndIssuer