PLVerifyModernDetachedCMS
Kryptografi, digitale signaturer
Beskrivelse
Verificerer en signerer af et moderne detached CMS mod de originale databytes
Verificeringen parser SignedData, tjekker message-digesten i de signerede attributter mod dataene og validerer derefter den rå signatur med signerer-certifikatets offentlige nøgle: Ed25519 i ren Pascal, ECDSA over kurveparametrene eller RSA PKCS#1 og PSS gennem CNG
Syntaks
Delphi
Function PLVerifyModernDetachedCMS(Const CMSBytes, Data: AnsiString;
SignerIndex: Integer; Out SignerCount: Integer;
Out NativeError: Cardinal): Integer;Parametre
| CMSBytes | DER-kodet detached CMS-SignedData |
|---|---|
| Data | De originale dækkede bytes, samme input som blev digestedet på signeringstidspunktet |
| SignerIndex | Nulbaseret signerer, der skal verificeres |
| SignerCount | Modtager antallet af signerer, der blev fundet i CMS'et |
| NativeError | Modtager en grov fejlklasse, 13 for misdannet input, 50 for digest-problemer eller CNG-status for det fejlede primitiv |
Returværdier
| 0 | CMS'et parses, men dets signaturalgoritme er ikke i det moderne sæt, så denne verificering er ikke ansvarlig |
|---|---|
| 1 | Signereren blev verificeret |
| 2 | Et parse-, digest- eller primitivtrin fejlede; NativeError bærer årsagen |
Bemærkninger
Sammenligningen af message-digests er tidskonstant, og PSS-parametrene skal nævne samme digest som SignerInfo, helt efter RFC 4056; resultatet 0 siger til kalderen, at klumpen i stedet skal overlades til platformverificeringen
Se også
PLBuildModernDetachedCMS, PLIsModernDetachedCMS, PLCertificateSubjectAndIssuer