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

CMSBytesDER-kodat fristående CMS SignedData
DataDe ursprungliga täckta byten, samma indata som hasades vid signeringstillfället
SignerIndexNollbaserad signerare att verifiera
SignerCountTar emot antalet signerare som hittades i CMS:et
NativeErrorTar emot en grov falklass: 13 för felaktig inmatning, 50 för digestproblem, eller CNG-statusen för primitivet som misslyckades

Returvärden

0CMS:et går att tolka men dess signaturalgoritm ligger inte i den moderna uppsättningen, så den här verifieraren är inte ansvarig
1Signeraren verifierades
2Ett 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