PLVerifyModernDetachedCMS
Kryptografia, podpisy cyfrowe
Opis
Weryfikuje podpisującego nowoczesnego odłączonego CMS-a względem oryginalnych bajtów danych
Weryfikator parsuje SignedData, porównuje skrót atrybutów podpisanych z danymi, a potem waliduje surowy podpis kluczem publicznym certyfikatu podpisującego: czysto-pascalowe Ed25519, ECDSA po parametrach krzywej albo RSA PKCS#1 i PSS przez CNG
Składnia
Delphi
Function PLVerifyModernDetachedCMS(Const CMSBytes, Data: AnsiString;
SignerIndex: Integer; Out SignerCount: Integer;
Out NativeError: Cardinal): Integer;Parametry
| CMSBytes | Odłączone SignedData CMS kodowane w DER |
|---|---|
| Data | Oryginalne pokryte bajty, to samo wejście, które haszowano przy podpisie |
| SignerIndex | Podpisujący od zera do zweryfikowania |
| SignerCount | Przyjmuje liczbę podpisujących znalezionych w CMS |
| NativeError | Przyjmuje zgrubną klasę błędu: 13 dla zniekształconego wejścia, 50 dla kłopotów ze skrótem albo status CNG prymitywu, który zawiózł |
Wartości zwracane
| 0 | CMS parsuje, ale jego algorytm podpisu nie leży w nowoczesnym zbiorze, więc ten weryfikator nie ponosi odpowiedzialności |
|---|---|
| 1 | Podpisujący zweryfikowany pomyślnie |
| 2 | Krok parsowania, skrótu albo prymitywu zawiózł; NativeError niesie powód |
Uwagi
Porównanie skrótu komunikatu idzie w czasie stałym, a parametry PSS muszą wskazywać ten sam skrót co SignerInfo, w duchu RFC 4056; wynik 0 mówi wywołującemu, żeby przekazał blob weryfikatorowi platformy
Zobacz również
PLBuildModernDetachedCMS, PLIsModernDetachedCMS, PLCertificateSubjectAndIssuer