SetSignProcessCNGKey

Beveiliging en handtekeningen

Beschrijving

Koppelt een benoemde NCrypt-privésleutel en het bijbehorende DER-gecodeerde X.509-certificaat aan een PDF-ondertekenproces

De sleutel wordt rechtstreeks geopend vanuit de gevraagde key storage provider, waardoor TPM-gestuurde, hardwaretoken-, cloud-KSP- en andere uitsluitend CNG-ondertekeningsidentiteiten mogelijk zijn zonder de private key te exporteren

Syntaxis

Delphi

Function TPDFlib.SetSignProcessCNGKey(SignProcessID: Integer; Const CertificateDER: AnsiString; Const ProviderName, KeyName: WideString; UseMachineKey, AllowUI: Boolean): Integer;

ActiveX

Function PDFlib::SetSignProcessCNGKey(SignProcessID As Long, CertificateDER As Variant, ProviderName As String, KeyName As String, UseMachineKey As Long, AllowUI As Long) As Long

DLL

int DLSetSignProcessCNGKey(int InstanceID, int SignProcessID, const char* CertificateDER, int CertificateLength, const wchar_t* ProviderName, const wchar_t* KeyName, int UseMachineKey, int AllowUI);

Parameters

SignProcessIDWaarde geretourneerd door een NewSignProcessFrom*-functie
CertificateDERVolledig DER-gecodeerd RSA- of ECDSA X.509-certificaat dat hoort bij de private key
ProviderNameNaam van de Windows-sleutelopslagprovider, of een lege string voor Microsoft Software Key Storage Provider
KeyNamePersistente sleutelnaam die de provider begrijpt
UseMachineKeyTrue of ongelijk aan nul om de sleutel vanuit machine-scope te openen
AllowUITrue of ongelijk aan nul om PIN-, toestemmings- of cloudgoedkeurings-gebruikersinterfaces van de provider toe te staan

Retourwaarden

1De identiteitsconfiguratie is aan het proces gekoppeld
0Het proces-ID, certificaat of de sleutelnaam was ongeldig

Opmerkingen

De sleutel wordt geopend wanneer het signproces draait, en er komen geen private-key-bytes in het librarygeheugen

Wanneer AllowUI onwaar is, wordt NCRYPT_SILENT_FLAG toegepast op sleutelopenen en ondertekenen

De gegenereerde CMS-handtekening wordt tegen CertificateDER geverifieerd voordat ze wordt geaccepteerd, dus een sleutel met hetzelfde algoritme maar niet-overeenkomend wordt geweigerd

ActiveX accepteert een byte-array-variant en de DLL gebruikt een expliciete certificaatlengte zodat ingebedde nulbytes behouden blijven

Zie ook

SetSignProcessCNGKeyFromFile, SetSignProcessCNGKeyByHandle, SetSignProcessPrivateKeyUI