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
| SignProcessID | Waarde geretourneerd door een NewSignProcessFrom*-functie |
|---|---|
| CertificateDER | Volledig DER-gecodeerd RSA- of ECDSA X.509-certificaat dat hoort bij de private key |
| ProviderName | Naam van de Windows-sleutelopslagprovider, of een lege string voor Microsoft Software Key Storage Provider |
| KeyName | Persistente sleutelnaam die de provider begrijpt |
| UseMachineKey | True of ongelijk aan nul om de sleutel vanuit machine-scope te openen |
| AllowUI | True of ongelijk aan nul om PIN-, toestemmings- of cloudgoedkeurings-gebruikersinterfaces van de provider toe te staan |
Retourwaarden
| 1 | De identiteitsconfiguratie is aan het proces gekoppeld |
|---|---|
| 0 | Het 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