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 میشناسد |
| UseMachineKey | true یا مقدار ناصثر برای باز کردن کلید از دامنهٔ machine |
| AllowUI | true یا مقدار ناصثر برای مجاز کردن رابطهای کاربری PIN، رضایت یا تأیید ابری از provider |
مقادیر بازگشتی
| 1 | پیکربندی هویت به فرایند متصل شد |
|---|---|
| 0 | شناسهٔ فرایند، گواهی یا نام کلید نامعتبر بود |
ملاحظات
کلید هنگام اجرای فرایند امضا باز میشود و هیچ بایت کلید خصوصی وارد حافظهٔ کتابخانه نمیشود
وقتی AllowUI مقدار false باشد NCRYPT_SILENT_FLAG روی باز کردن کلید و امضا اعمال میشودامضای CMS تولیدشده با راستیآزمایی میشود
CertificateDER پیش از پذیرفته شدن بررسی میشود، پس کلیدی با الگوریتم یکسان اما ناهماهنگ رد میشودActiveX آرایهٔ بایتی variant میپذیرد و DLL از طول صریح گواهی استفاده میکند تا بایتهای صفر تعبیهشده حفظ شوند
همچنین ببینید
SetSignProcessCNGKeyFromFile, SetSignProcessCNGKeyByHandle, SetSignProcessPrivateKeyUI