DAOpenFileWithEncryptionKeyA

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

توضیحات

پسوند A نشانگر نقطه ورود ANSI (char) در DLL است؛ سطح ActiveX/COM تنها شکل Unicode را در دسترس می‌گذارد. رفتار با DAOpenFileWithEncryptionKey یکسان است و آرگومان‌های رشته‌ای با صفحه کد جاری SetAnsiMode تفسیر می‌شوندیک PDF رمزشده را برای بازیابی یا بررسی مجاز باز می‌کند و به‌جای مشتق‌کردن کلید از گذرواژه، کلید هگزادسیمال رمزنگاری فایل را مستقیماً می‌پذیردفایل از طریق دستگیره فقط‌خواندنی مبدأ باز می‌شود و نمی‌توان درجا به آن افزود

نحو

Delphi

Function DLDAOpenFileWithEncryptionKeyA(InstanceID: Integer; InputFileName, EncryptionKeyHex: PAnsiChar; Options: Integer): Integer; Stdcall;

DLL

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 را فراخوانی کنیدرشته‌های ANSI پیش از پردازش درخواست، با صفحه کد جاری

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