PLBuildModernDetachedCMS
Kryptografi, digitale signaturer
Beskrivelse
Bygger en detached CMS-SignedData omkring RSA-, ECDSA- eller Ed25519-signaturer for de algoritmer, som Windows CryptoAPI-meddelelseslaget ikke kan udtrykke
Signaturcertifikatet med dets kædekontekst, digest-algoritmen, DER'erne for commitment-type og signaturpolicy, tilbagekaldelsesmaterialet og padding-politikken kommer ind gennem parametre, mens CNG NCrypt, en ekstern digest-signer-callback eller Ed25519-stien i ren Pascal leverer den rå signatur
Syntaks
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;Parametre
| CertContext | Windows-CERT_CONTEXT-handle på signaturcertifikatet; Nil for den rene external-signer-sti |
|---|---|
| CertificateDER | DER-kodet signaturcertifikat, bruges til det indlejrede certifikat og issuer-/serial-referencerne |
| Ed25519Seed | 32-byte-seed ved Ed25519-signering uden CNG, ellers tom |
| Data | De allerede digestede interval-bytes, som den detachede signatur dækker |
| SubFilter | Mål-/SubFilter såsom /ETSI.CAdES.detached, der styrer valget af attributter |
| DigestAlgorithm | Digest-algoritme-ordinal, der matcher Ord(TPDFlibDigestAlgorithm): 2 SHA-256, 3 SHA-384, 4 SHA-512, 5 til 7 SHA-3-familien |
| CommitmentTypeDER | DER-kodet commitment-type-attribut, tom hvis ingen |
| SignaturePolicyDER | DER-kodet signaturpolicy-identifikator, tom hvis ingen |
| NCryptKeyHandle | Åbent CNG-nøglehandle; 0 lader funktionen selv åbne certifikatets private nøgle, eventuelt med UI |
| AllowPrivateKeyUI | Tillader CNG-dialogen til nøglefremskaffelse, når nøglen kræver brugerens tilstedeværelse |
| ExternalSigner | Callback, der modtager digesten og returnerer den rå signatur, til HSM eller fjernsignering |
| ExternalSender | Afsender, der sendes tilbage til ExternalSigner-callbacken |
| ExternalSignProcessID | Sign-proces-identifikator, der sendes tilbage til callbacken |
| ExternalSignatureAlgorithm | Én af PL_EXTERNAL_SIGNATURE_RSA_PKCS1, PL_EXTERNAL_SIGNATURE_ECDSA_DER, PL_EXTERNAL_SIGNATURE_ECDSA_P1363 |
| RSAPSSPadding | Vælger RSASSA-PSS-padding til RSA-signaturer |
| RevocationInfoDER | På forhånd indsamlede tilbagekaldelsesoplysninger, der indlejres som RevocationInfoChoices |
Returværdi
Det DER-kodede detachede CMS eller en tom streng, hvis noget signeringstrin fejler
Bemærkninger
Denne rutine er motoren bag de moderne signaturstier i sign-processen; at kalde den direkte bevarer fuld kontrol over commitment- og policy-attributter, mens de returnerede bytes falder på plads i PDF'ens /Contents-hul som med PLIsModernDetachedCMS-verificerede data
Se også
PLVerifyModernDetachedCMS, PLIsModernDetachedCMS, PLModernSignatureSizeEstimate, TPDFlibExternalDigestSignEvent, SetSignProcessExternalDigestSigner