PLBuildModernDetachedCMS
Kryptografia, podpisy cyfrowe
Opis
Buduje odłączony CMS SignedData wokół podpisów RSA, ECDSA lub Ed25519, dla algorytmów, których warstwa komunikatów CryptoAPI Windows nie potrafi wyrazić
Certyfikat podpisujący ze swoim kontekstem łańcucha, algorytm skrótu, DER-y commitment type i polityki podpisu, materiał odwołań oraz polityka paddingu wchodzą wszystko parametrami, a surowy podpis dostarcza CNG NCrypt, zewnętrzna procedura zwrotna podpisująca skrót albo czysto-pascalowa ścieżka Ed25519
Składnia
Delphi
Function PLBuildModernDetachedCMS(CertContext: Pointer;
Const CertificateDER, Ed25519Seed, Data, SubFilter: AnsiString;
DigestAlgorithm: Integer; Const CommitmentTypeDER,
SignaturePolicyDER: AnsiString; NCryptKeyHandle: TPLIntPtr= 0;
AllowPrivateKeyUI: Boolean= False;
ExternalSigner: TPDFlibExternalDigestSignEvent= Nil;
ExternalSender: TObject= Nil; ExternalSignProcessID: Integer= 0;
ExternalSignatureAlgorithm: Integer= 0;
RSAPSSPadding: Boolean= False;
Const RevocationInfoDER: AnsiString= ''): AnsiString;Parametry
| CertContext | Windowsowy handle CERT_CONTEXT certyfikatu podpisującego; Nil dla czysto zewnętrznej ścieżki |
|---|---|
| CertificateDER | Certyfikat podpisujący kodowany w DER, używany do osadzonego certyfikatu i odniesień wystawcy oraz numeru seryjnego |
| Ed25519Seed | 32-bajtowe ziarno przy podpisywaniu Ed25519 bez CNG, poza tym puste |
| Data | Bajty już zhashowanego zakresu, które pokrywa odłączony podpis |
| SubFilter | Docelowy /SubFilter jak /ETSI.CAdES.detached, sterujący doborem atrybutów |
| DigestAlgorithm | Porządkowy algorytmu skrótu zgodny z Ord(TPDFlibDigestAlgorithm): 2 SHA-256, 3 SHA-384, 4 SHA-512, 5 do 7 rodzina SHA-3 |
| CommitmentTypeDER | Atrybut commitment type kodowany w DER, pusty, gdy go nie ma |
| SignaturePolicyDER | Identyfikator polityki podpisu kodowany w DER, pusty, gdy go nie ma |
| NCryptKeyHandle | Otwarty handle klucza CNG; 0 pozwala funkcji otworzyć samą klucz prywatny certyfikatu, opcjonalnie pokazując UI |
| AllowPrivateKeyUI | Zezwala na okno pozyskania klucza CNG, gdy klucz wymaga obecności użytkownika |
| ExternalSigner | Procedura zwrotna dostająca skrót i zwracająca surowy podpis, pod HSM albo podpis zdalny |
| ExternalSender | Nadawca przekazywany z powrotem do procedury ExternalSigner |
| ExternalSignProcessID | Identyfikator procesu podpisu przekazywany z powrotem do procedury zwrotnej |
| ExternalSignatureAlgorithm | Jeden z PL_EXTERNAL_SIGNATURE_RSA_PKCS1, PL_EXTERNAL_SIGNATURE_ECDSA_DER, PL_EXTERNAL_SIGNATURE_ECDSA_P1363 |
| RSAPSSPadding | Wybiera padding RSASSA-PSS dla podpisów RSA |
| RevocationInfoDER | Zgromadzone wcześniej informacje o odwołaniach do osadzenia jako RevocationInfoChoices |
Wartość zwracana
Odłączony CMS kodowany w DER albo pusty łańcuch, gdy którykolwiek krok podpisu zawiedzie
Uwagi
Ta procedura to silnik stojący za nowoczesnymi ścieżkami podpisu procesu podpisywania; bezpośrednie wywołanie zachowuje pełną kontrolę nad atrybutami commitment i polityki, a zwrócone bajty wpadają w lukę /Contents PDF-a, jak przy danych zweryfikowanych przez PLIsModernDetachedCMS
Zobacz również
PLVerifyModernDetachedCMS, PLIsModernDetachedCMS, PLModernSignatureSizeEstimate, TPDFlibExternalDigestSignEvent, SetSignProcessExternalDigestSigner