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
| SignProcessID | Nilai yang dikembalikan oleh fungsi NewSignProcessFrom* |
|---|---|
| CertificateDER | Certificate X.509 RSA atau ECDSA terenkode DER lengkap yang berkorespondensi dengan private key |
| ProviderName | Nama Windows key storage provider, atau string kosong untuk Microsoft Software Key Storage Provider |
| KeyName | Nama key persisten yang dipahami provider |
| UseMachineKey | True atau nilai bukan nol untuk membuka key dari scope machine |
| AllowUI | True atau nilai bukan nol untuk mengizinkan user interface PIN, persetujuan, atau persetujuan-cloud dari provider |
Nilai yang dikembalikan
| 1 | Konfigurasi identitas ditempelkan ke proses |
|---|---|
| 0 | Process 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