PLVerifyModernDetachedCMS
Kryptografi, digitala signaturer
Beskrivning
Verifierar en signerare av ett modernt fristående CMS mot de ursprungliga databyten
Verifieraren tolkar SignedData, kontrollerar meddelandedigesten i de signerade attributen mot data och validerar den råa signaturen med signerarens certifikats publika nyckel: ren-Pascal-Ed25519, ECDSA över kurvparametrarna, eller RSA PKCS#1 och PSS via CNG
Syntax
Delphi
Function PLVerifyModernDetachedCMS(Const CMSBytes, Data: AnsiString;
SignerIndex: Integer; Out SignerCount: Integer;
Out NativeError: Cardinal): Integer;Parametrar
| CMSBytes | DER-kodat fristående CMS SignedData |
|---|---|
| Data | De ursprungliga täckta byten, samma indata som hasades vid signeringstillfället |
| SignerIndex | Nollbaserad signerare att verifiera |
| SignerCount | Tar emot antalet signerare som hittades i CMS:et |
| NativeError | Tar emot en grov falklass: 13 för felaktig inmatning, 50 för digestproblem, eller CNG-statusen för primitivet som misslyckades |
Returvärden
| 0 | CMS:et går att tolka men dess signaturalgoritm ligger inte i den moderna uppsättningen, så den här verifieraren är inte ansvarig |
|---|---|
| 1 | Signeraren verifierades |
| 2 | Ett tolknings-, digest- eller primitivsteg misslyckades; NativeError bär orsaken |
Anmärkningar
Jämförelsen av meddelandedigesten går i konstant tid och PSS-parametrarna måste ange samma digest som SignerInfo, i linje med RFC 4056; resultatet 0 säger åt anroparen att lämna blobben till plattformsverifieraren i stället
Se även
PLBuildModernDetachedCMS, PLIsModernDetachedCMS, PLCertificateSubjectAndIssuer