PLVerifyModernDetachedCMS
Crittografia, firme digitali
Descrizione
Verifica un firmatario di un CMS detached moderno contro i byte di dati originali
Il verificatore analizza il SignedData, controlla il message digest degli attributi firmati contro i dati e poi valida la firma grezza con la chiave pubblica del certificato del firmatario: Ed25519 in Pascal puro, ECDSA sui parametri della curva, oppure RSA PKCS#1 e PSS via CNG
Sintassi
Delphi
Function PLVerifyModernDetachedCMS(Const CMSBytes, Data: AnsiString;
SignerIndex: Integer; Out SignerCount: Integer;
Out NativeError: Cardinal): Integer;Parametri
| CMSBytes | CMS SignedData detached codificato DER |
|---|---|
| Data | I byte originali coperti, lo stesso input digerito al momento della firma |
| SignerIndex | Firmatario da verificare, in base zero |
| SignerCount | Riceve il numero di firmatari trovati nel CMS |
| NativeError | Riceve una classe di fallimento approssimativa: 13 per input malformato, 50 per problemi di digest, oppure lo stato CNG della primitiva fallita |
Valori restituiti
| 0 | Il CMS si analizza ma il suo algoritmo di firma non rientra nell'insieme moderno, quindi questo verificatore non ne è responsabile |
|---|---|
| 1 | Il firmatario è stato verificato con successo |
| 2 | Un passaggio di analisi, digest o primitiva è fallito; NativeError riporta il motivo |
Note
Il confronto del message digest avviene in tempo costante e i parametri PSS devono indicare lo stesso digest del SignerInfo, in linea con il RFC 4056; il risultato 0 dice al chiamante di consegnare il blob al verificatore della piattaforma
Vedere anche
PLBuildModernDetachedCMS, PLIsModernDetachedCMS, PLCertificateSubjectAndIssuer