Защита на сигурността

AESCipher (AES-шифър)

AESCipher прилага AES криптиране в режим CBC за байтовите масиви, вградени в 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);

За детерминистично криптиране с експлицитен вектор за инициализация:

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

PdfFileSecurity

PdfFileSecurity управлява шифроване на пароли и разрешения за достъп на ниво документ. Съветът на ЕС encryptFile() методът приема парола на потребителя, собственикската пароля;, DocumentPrivilege обект и размер на ключа.

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) премахва криптирането от шифрен документ.

DocumentPrivilege

DocumentPrivilege представлява знаците за разрешение на криптирания документ. Използване на: getAllowAll() да издава всички разрешения, getForbidAll() да отрича всичко, или да задавате индивидуални разрешения чрез: setAllowPrint(), setAllowModifyContents(), setAllowCopy(), и setAllowModifyAnnotations().

Алгоритм Enum

Съветът на ЕС Algorithm enum избира семейството на криптографските алгоритми:

  • Algorithm.RC4 наследен RC4 поточен шифр
  • Algorithm.AES Блок шифър AES (препоръчително)

Вижте също:

 Български