SetSignProcessCNGKey

Keamanan dan tanda tangan

Deskripsi

Menempelkan private key NCrypt bernama beserta certificate X.509 terenkode DER-nya ke proses penandatanganan PDF

Key dibuka langsung dari key storage provider yang diminta, mengaktifkan signing identity berbasis TPM, hardware token, cloud KSP, dan lainnya yang hanya CNG tanpa mengekspor private key

Sintaks

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

Parameter

SignProcessIDNilai yang dikembalikan oleh fungsi NewSignProcessFrom*
CertificateDERCertificate X.509 RSA atau ECDSA terenkode DER lengkap yang berkorespondensi dengan private key
ProviderNameNama Windows key storage provider, atau string kosong untuk Microsoft Software Key Storage Provider
KeyNameNama key persisten yang dipahami provider
UseMachineKeyTrue atau nilai bukan nol untuk membuka key dari scope machine
AllowUITrue atau nilai bukan nol untuk mengizinkan user interface PIN, persetujuan, atau persetujuan-cloud dari provider

Nilai yang dikembalikan

1Konfigurasi identitas ditempelkan ke proses
0Process id, certificate, atau nama key tidak valid

Catatan

Key dibuka saat sign process dieksekusi, dan tidak ada byte private key yang masuk ke memori library

Saat AllowUI false, NCRYPT_SILENT_FLAG diterapkan pada pembukaan key dan penandatanganan Signature CMS yang dihasilkan diverifikasi terhadap

CertificateDER sebelum diterima, sehingga key yang sama algoritmanya tetapi tidak cocok ditolak ActiveX menerima variant byte array, dan DLL memakai panjang certificate eksplisit sehingga byte nol di tengah tetap dipertahankan

Lihat juga

SetSignProcessCNGKeyFromFile, SetSignProcessCNGKeyByHandle, SetSignProcessPrivateKeyUI