DAOpenFileWithEncryptionKeyA

Gestione dei documenti, funzionalità di accesso diretto, sicurezza

Descrizione

La A finale denota il punto di ingresso DLL ANSI (char); la superficie ActiveX/COM espone solo la forma Unicode. Il comportamento è identico a DAOpenFileWithEncryptionKey e gli argomenti stringa vengono interpretati usando la tabella codici corrente di SetAnsiModeApre un PDF cifrato per recupero o analisi autorizzati accettando direttamente la chiave di crittografia del file esadecimale invece di derivarla da una passwordIl file viene aperto tramite un handle con sorgente di sola lettura e non può essere esteso sul posto

Sintassi

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

Parametri

InputFileNamePercorso e nome del PDF cifrato
EncryptionKeyHexChiave esadecimale ASCII di lunghezza pari senza prefisso né spazi; le revisioni da 2 a 4 richiedono la lunghezza esatta della chiave dichiarata dal dizionario di crittografia e le revisioni da 5 a 7 richiedono 32 byte
OptionsZero richiede un verificatore disponibile; PDF_RAW_KEY_ALLOW_UNVERIFIED consente una chiave altrimenti valida solo quando il documento non ha un verificatore utilizzabile

Valori restituiti

Non-zeroUn handle di file Direct Access
0L'input non poteva essere aperto; esaminare LastErrorCode, incluso PDFLIB_ERROR_RAW_ENCRYPTION_KEY_INVALID per sintassi, lunghezza, opzioni o verifica non valide

Osservazioni

I valori /U disponibili delle revisioni da 2 a 4 e i valori /Perms delle revisioni da 5 a 7 vengono sempre verificati; PDF_RAW_KEY_ALLOW_UNVERIFIED non accetta mai una mancata corrispondenzaChiamare

DAGetEncryptionKeyValidation dopo l'apertura per distinguere gli handle verificati da quelli esplicitamente non verificatiLe stringhe ANSI vengono convertite in formato esteso con la tabella codici corrente di

SetAnsiMode prima che la richiesta venga elaborataLa chiave è un materiale credenziale sensibile e va ottenuta, trasportata e archiviata con gli stessi controlli di una password del documento