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 僅在文件沒有可用驗證器時,才允許其他方面有效的金鑰

傳回值

Non-zero直接存取檔案控制代碼
0無法開啟輸入;請檢查 LastErrorCode,語法、長度、選項或驗證無效時為 PDFLIB_ERROR_RAW_ENCRYPTION_KEY_INVALID

備註

可用的修訂版本 2 至 4 /U 值與修訂版本 5 至 7 /Perms 值一律會被檢查;PDF_RAW_KEY_ALLOW_UNVERIFIED 絕不接受不符合的金鑰開啟後請呼叫

DAGetEncryptionKeyValidation,以區分已驗證與明確未驗證的控制代碼在處理請求之前,ANSI 字串會以目前的

SetAnsiMode 字碼頁擴寬為寬字元金鑰屬於敏感憑證資料,其取得、傳輸與儲存應採用與文件密碼相同的控管措施