SetSignProcessCNGKey

Sigurnost i potpisi

Opis

Attaches a named NCrypt private key and its DER-encoded X.509 certificate to a PDF signing process

Ključ se otvara izravno iz zatraženog pružatelja pohrane ključeva, omogućujući TPM-podržane, hardversko-token, cloud KSP i druge samo-CNG potpisne identitete bez izvoza privatnog ključa

Sintaksa

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);

Parametri

SignProcessIDValue returned by a NewSignProcessFrom* function
CertificateDERPotpun DER kodirani RSA ili ECDSA X.509 certifikat koji odgovara privatnom ključu
ProviderNameWindows key storage provider name, or an empty string for Microsoft Software Key Storage Provider
KeyNameTrajni naziv ključa koji pružatelj razumije
UseMachineKeyTrue ili različito od nule za otvaranje ključa iz opsega računala
AllowUITrue ili različito od nule za dopuštanje PIN, privola ili cloud-odobrenje korisničkih sučelja od pružatelja

Povratne vrijednosti

1Konfiguracija identiteta pridružena je procesu
0ID procesa, certifikat ili naziv ključa bili su nevaljani

Napomene

Ključ se otvara kada se proces potpisivanja izvršava, i nijedan bajt privatnog ključa ne ulazi u memoriju biblioteke

Kada je AllowUI false, NCRYPT_SILENT_FLAG primjenjuje se na otvaranje ključa i potpisivanje

Generirani CMS potpis provjerava se prema CertificateDER prije prihvaćanja, pa se isti algoritam s neodgovarajućim ključem odbija

ActiveX prihvaća varijantu niza bajtova, a DLL upotrebljava izričitu duljinu certifikata pa se ugrađeni nul-bajtovi zadržavaju

Vidi također

SetSignProcessCNGKeyFromFile, SetSignProcessCNGKeyByHandle, SetSignProcessPrivateKeyUI