DAOpenFileWithEncryptionKeyA

Gestión de documentos, funcionalidad de acceso directo, seguridad

Descripción

El sufijo A denota el punto de entrada DLL ANSI (char); la superficie ActiveX/COM expone únicamente la forma Unicode. El comportamiento es idéntico al de DAOpenFileWithEncryptionKey y los argumentos de cadena se interpretan con la página de código actual de SetAnsiModeAbre un PDF cifrado para recuperación o investigación autorizadas aceptando directamente la clave de cifrado de archivo hexadecimal en lugar de derivarla de una contraseñaEl archivo se abre a través de un manejador de solo lectura del origen y no puede anexarse in situ

Sintaxis

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

Parámetros

InputFileNameLa ruta y el nombre del PDF cifrado
EncryptionKeyHexUna clave hexadecimal ASCII de longitud par, sin prefijo ni espacios en blanco; las revisiones 2 a 4 requieren la longitud de clave exacta declarada en el diccionario de cifrado y las revisiones 5 a 7 requieren 32 bytes
OptionsCero exige un verificador disponible; PDF_RAW_KEY_ALLOW_UNVERIFIED permite una clave válida en todo lo demás solo cuando el documento no tiene verificador utilizable

Valores devueltos

Distinto de ceroUn manejador de archivo de Direct Access
0No se pudo abrir la entrada; examine LastErrorCode, incluido PDFLIB_ERROR_RAW_ENCRYPTION_KEY_INVALID para sintaxis, longitud, opciones o verificación no válidas

Observaciones

Los valores /U disponibles de las revisiones 2 a 4 y los valores /Perms de las revisiones 5 a 7 se comprueban siempre; PDF_RAW_KEY_ALLOW_UNVERIFIED nunca acepta una discrepanciaLlame a

DAGetEncryptionKeyValidation después de abrir para distinguir los manejadores verificados de los explícitamente no verificadosLas cadenas ANSI se ensanchan con la página de código actual de

SetAnsiMode antes de procesar la peticiónLa clave es material de credenciales sensible y debe obtenerse, transportarse y almacenarse bajo los mismos controles que una contraseña de documento