SetSignProcessCNGKey

امنیت و امضاها

توضیحات

کلید خصوصی NCrypt نام‌دار و گواهی X.509 کدگذاری‌شده با DER آن را به فرایند امضای PDF متصل می‌کند

کلید مستقیماً از provider ذخیره‌ساز کلید درخواستی باز می‌شود و هویت‌های امضای مبتنی بر TPM، توکن سخت‌افزاری، KSP ابری و دیگر هویت‌های فقط-CNG را بدون صدور کلید خصوصی ممکن می‌کند

نحو

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

پارامترها

SignProcessIDمقدار بازگردانده‌شده توسط یک تابع NewSignProcessFrom*
CertificateDERگواهی X.509 کامل RSA یا ECDSA کدگذاری‌شده با DER متناظر با کلید خصوصی
ProviderNameنام provider ذخیره‌ساز کلید Windows، یا رشتهٔ خالی برای Microsoft Software Key Storage Provider
KeyNameنام کلید ماندگاری که provider می‌شناسد
UseMachineKeytrue یا مقدار ناصثر برای باز کردن کلید از دامنهٔ machine
AllowUItrue یا مقدار ناصثر برای مجاز کردن رابط‌های کاربری PIN، رضایت یا تأیید ابری از provider

مقادیر بازگشتی

1پیکربندی هویت به فرایند متصل شد
0شناسهٔ فرایند، گواهی یا نام کلید نامعتبر بود

ملاحظات

کلید هنگام اجرای فرایند امضا باز می‌شود و هیچ بایت کلید خصوصی وارد حافظهٔ کتابخانه نمی‌شود

وقتی AllowUI مقدار false باشد NCRYPT_SILENT_FLAG روی باز کردن کلید و امضا اعمال می‌شودامضای CMS تولیدشده با راستی‌آزمایی می‌شود

CertificateDER پیش از پذیرفته شدن بررسی می‌شود، پس کلیدی با الگوریتم یکسان اما ناهماهنگ رد می‌شودActiveX آرایهٔ بایتی variant می‌پذیرد و DLL از طول صریح گواهی استفاده می‌کند تا بایت‌های صفر تعبیه‌شده حفظ شوند

همچنین ببینید

SetSignProcessCNGKeyFromFile, SetSignProcessCNGKeyByHandle, SetSignProcessPrivateKeyUI