Segurança

AESCipher

AESCipher implementa a criptografia AES no modo CBC para matrizes de bytes incorporadas em Documentos em PDF.

byte[] key = ...; // 128, 192, or 256-bit key
byte[] data = "sensitive data".getBytes();

byte[] ciphertext = AESCipher.encrypt(key, data);
byte[] plaintext  = AESCipher.decrypt(key, ciphertext);

Para a criptografia determinística com um vetor de inicialização explícito:

byte[] iv = new byte[16]; // 128-bit IV
byte[] ciphertext = AESCipher.encryptWithIV(key, iv, data);
byte[] plaintext  = AESCipher.decryptWithIV(key, iv, ciphertext);

PdfFileSecurity

PdfFileSecurity Gerencia a encriptação de senhas e as permissões de acesso ao nível dos documentos. A Comissão encryptFile() método aceita uma senha de utilizador, a senhas do proprietário;, DocumentPrivilege objeto e tamanho da chave.

try (PdfFileSecurity security = new PdfFileSecurity("input.pdf", "secured.pdf")) {
    DocumentPrivilege priv = DocumentPrivilege.getForbidAll();
    priv.setAllowPrint(true);
    security.encryptFile("userPass", "ownerPass", priv, KeySize.x256);
}

decryptFile(ownerPassword) Remove a encriptação de um documento criptografado.

DocumentPrivilege

DocumentPrivilege representa as bandeiras de permissão para o documento criptografado. Utilização: getAllowAll() conceder todas as autorizações, getForbidAll() negar tudo, ou definir permissões individuais via setAllowPrint(), setAllowModifyContents(), setAllowCopy(), e setAllowModifyAnnotations().

Algoritmo Enum

A Comissão Algorithm enum seleciona a família de algoritmos criptográficos:

  • Algorithm.RC4 Código de fluxo RC4 legado
  • Algorithm.AES Codificação por bloco AES (recomendado)

Ver também:

 Português