DAOpenFileWithEncryptionKey

مدیریت سند، قابلیت دسترسی مستقیم، امنیت

توضیحات

یک PDF رمزشده را برای بازیابی یا بررسی مجاز باز می‌کند و به‌جای مشتق‌کردن کلید از گذرواژه، کلید هگزادسیمال رمزنگاری فایل را مستقیماً می‌پذیردفایل از طریق دستگیره فقط‌خواندنی مبدأ باز می‌شود و نمی‌توان درجا به آن افزود

نحو

Delphi

Function TPDFlib.DAOpenFileWithEncryptionKey(Const InputFileName, EncryptionKeyHex: WideString; Options: Integer = 0): Integer;

DLL

int DLDAOpenFileWithEncryptionKey(int InstanceID, const wchar_t * InputFileName, const wchar_t * EncryptionKeyHex, int Options);
int DLDAOpenFileWithEncryptionKeyA(int InstanceID, const char * InputFileName, const char * EncryptionKeyHex, int Options);

پارامترها

InputFileNameمسیر و نام PDF رمزشده
EncryptionKeyHexکلید هگزادسیمال ASCII با طول زوج، بدون پیشوند یا فضای سفید؛ بازنگری‌های 2 تا 4 طول دقیق کلید اعلام‌شده در دیکشنری رمزنگاری و بازنگری‌های 5 تا 7 مقدار 32 بایت را می‌طلبند
Optionsصفر یعنی وجود تأییدکننده در دسترس لازم است؛ PDF_RAW_KEY_ALLOW_UNVERIFIED تنها زمانی اجازه می‌دهد کلید در سایر موارد معتبر پذیرفته شود که سند تأییدکننده قابل‌استفاده‌ای نداشته باشد

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

غیرصفریک دستگیره فایل Direct Access
0ورودی باز نشد؛ LastErrorCode را بررسی کنید، از جمله PDFLIB_ERROR_RAW_ENCRYPTION_KEY_INVALID برای نحو، طول، گزینه یا تأیید نامعتبر

توضیحات

مقادیر /U بازنگری‌های 2 تا 4 موجود و مقادیر /Perms بازنگری‌های 5 تا 7 همیشه بررسی می‌شوند؛ PDF_RAW_KEY_ALLOW_UNVERIFIED هرگز ناهمخوانی را نمی‌پذیردپس از بازکردن، برای تمایز دستگیره‌های تأییدشده و آشکارا تأییدنشده

DAGetEncryptionKeyValidation را فراخوانی کنیدکلید یک ابزار اعتبارسنجی حساس است و باید با همان کنترل‌های گذرواژه سند به‌دست آید، منتقل و ذخیره شود