DAOpenFileWithEncryptionKeyA

Gerenciamento de documentos, Funcionalidade de acesso direto, Segurança

Descrição

O sufixo A indica o ponto de entrada ANSI (char) da DLL; a superfície ActiveX/COM expõe somente a forma Unicode. O comportamento é idêntico ao de DAOpenFileWithEncryptionKey e os argumentos de string são interpretados usando a página de código atual de SetAnsiModeAbre um PDF criptografado para recuperação ou investigação autorizada aceitando diretamente a chave hexadecimal de criptografia de arquivo em vez de derivá-la de uma senhaO arquivo é aberto por meio de um handle de origem somente leitura e não pode receber acréscimos no próprio arquivo

Sintaxe

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

InputFileNameO caminho e o nome do PDF criptografado
EncryptionKeyHexUma chave ASCII hexadecimal de comprimento par sem prefixo ou espaço em branco; as revisões 2 a 4 exigem o comprimento exato de chave declarado pelo dicionário de criptografia e as revisões 5 a 7 exigem 32 bytes
OptionsZero exige um verificador disponível; PDF_RAW_KEY_ALLOW_UNVERIFIED permite uma chave válida em outras condições somente quando o documento não tem verificador utilizável

Valores retornados

Diferente de zeroUm handle de arquivo de acesso direto
0A entrada não pôde ser aberta; examine LastErrorCode, incluindo PDFLIB_ERROR_RAW_ENCRYPTION_KEY_INVALID para sintaxe, comprimento, opções ou verificação inválidas

Observações

Os valores /U de revisão 2 a 4 disponíveis e os valores /Perms de revisão 5 a 7 disponíveis são sempre verificados; PDF_RAW_KEY_ALLOW_UNVERIFIED nunca aceita uma não correspondênciaChame

DAGetEncryptionKeyValidation depois de abrir para distinguir handles verificados e explicitamente não verificadosAs strings ANSI são convertidas para caracteres largos com a página de código atual de

SetAnsiMode antes de a solicitação ser processadaA chave é material de credencial sensível e deve ser obtida, transportada e armazenada sob os mesmos controles de uma senha de documento