PLBuildModernDetachedCMS
Kryptografi, digitala signaturer
Beskrivning
Bygger ett fristående CMS SignedData kring RSA-, ECDSA- eller Ed25519-signaturer, för de algoritmer som Windows CryptoAPI-meddelandelagret inte kan uttrycka
Signeringscertifikatet med sin kedjekontext, digest-algoritmen, DER-kodningarna av commitment type och signaturpolicy, återkallningsmaterialet och utfyllnadspolicyn kommer alla in via parametrar, och den råa signaturen levereras av CNG NCrypt, en extern digest-signerarcallback eller ren-Pascal-Ed25519-vägen
Syntax
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;Parametrar
| CertContext | Windows-CERT_CONTEXT-handle för signeringscertifikatet; Nil för den rent externa vägen |
|---|---|
| CertificateDER | DER-kodat signeringscertifikat, använt för det inbäddade certifikatet och utfärdar- och serienummerreferenserna |
| Ed25519Seed | 32-bytes-seed vid Ed25519-signering utan CNG, annars tom |
| Data | De redan digestade intervallbyten som den fristående signaturen täcker |
| SubFilter | Mål-/SubFilter som /ETSI.CAdES.detached, som styr attributvalet |
| DigestAlgorithm | Digest-algoritmsordinal som matchar Ord(TPDFlibDigestAlgorithm): 2 SHA-256, 3 SHA-384, 4 SHA-512, 5 till 7 SHA-3-familjen |
| CommitmentTypeDER | DER-kodat commitment type-attribut, tomt när inget finns |
| SignaturePolicyDER | DER-kodat signaturpolicy-id, tomt när inget finns |
| NCryptKeyHandle | Öppet CNG-nyckelhandle; 0 låter funktionen öppna certifikatets privata nyckel själv, med UI om så önskas |
| AllowPrivateKeyUI | Tillåter dialogen för CNG-nyckelanskaffning när nyckeln kräver användarens närvaro |
| ExternalSigner | Callback som tar emot digisten och returnerar den råa signaturen, för HSM eller fjärrsignering |
| ExternalSender | Avsändare som skickas tillbaka till ExternalSigner-callbacken |
| ExternalSignProcessID | Signeringsprocess-ID som skickas tillbaka till callbacken |
| ExternalSignatureAlgorithm | En av PL_EXTERNAL_SIGNATURE_RSA_PKCS1, PL_EXTERNAL_SIGNATURE_ECDSA_DER, PL_EXTERNAL_SIGNATURE_ECDSA_P1363 |
| RSAPSSPadding | Väljer RSASSA-PSS-utfyllnad för RSA-signaturer |
| RevocationInfoDER | Församlad återkallningsinformation att bädda in som RevocationInfoChoices |
Returvärde
Det DER-kodade fristående CMS:et, eller en tom sträng när något signeringssteg misslyckas
Anmärkningar
Rutinen är motorn bakom signaturprocessens moderna signaturvägar; att anropa den direkt behåller full kontroll över commitment- och policyattributen, och de returnerade byten passar i PDF:ens /Contents-hål som med data verifierade av PLIsModernDetachedCMS
Se även
PLVerifyModernDetachedCMS, PLIsModernDetachedCMS, PLModernSignatureSizeEstimate, TPDFlibExternalDigestSignEvent, SetSignProcessExternalDigestSigner