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

CertContextWindowsowy handle CERT_CONTEXT certyfikatu podpisującego; Nil dla czysto zewnętrznej ścieżki
CertificateDERCertyfikat podpisujący kodowany w DER, używany do osadzonego certyfikatu i odniesień wystawcy oraz numeru seryjnego
Ed25519Seed32-bajtowe ziarno przy podpisywaniu Ed25519 bez CNG, poza tym puste
DataBajty już zhashowanego zakresu, które pokrywa odłączony podpis
SubFilterDocelowy /SubFilter jak /ETSI.CAdES.detached, sterujący doborem atrybutów
DigestAlgorithmPorządkowy algorytmu skrótu zgodny z Ord(TPDFlibDigestAlgorithm): 2 SHA-256, 3 SHA-384, 4 SHA-512, 5 do 7 rodzina SHA-3
CommitmentTypeDERAtrybut commitment type kodowany w DER, pusty, gdy go nie ma
SignaturePolicyDERIdentyfikator polityki podpisu kodowany w DER, pusty, gdy go nie ma
NCryptKeyHandleOtwarty handle klucza CNG; 0 pozwala funkcji otworzyć samą klucz prywatny certyfikatu, opcjonalnie pokazując UI
AllowPrivateKeyUIZezwala na okno pozyskania klucza CNG, gdy klucz wymaga obecności użytkownika
ExternalSignerProcedura zwrotna dostająca skrót i zwracająca surowy podpis, pod HSM albo podpis zdalny
ExternalSenderNadawca przekazywany z powrotem do procedury ExternalSigner
ExternalSignProcessIDIdentyfikator procesu podpisu przekazywany z powrotem do procedury zwrotnej
ExternalSignatureAlgorithmJeden z PL_EXTERNAL_SIGNATURE_RSA_PKCS1, PL_EXTERNAL_SIGNATURE_ECDSA_DER, PL_EXTERNAL_SIGNATURE_ECDSA_P1363
RSAPSSPaddingWybiera padding RSASSA-PSS dla podpisów RSA
RevocationInfoDERZgromadzone 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