THotPDF.CryptKeyLength Property

 

THotPDF.CryptKeyLength

THotPDF

 

Sus  Anterior  Următor

Determină metoda de criptare a fișierului PDF

 

type

THPDFKeyType = ( k40,  k128,  aes128,  aes256 );

 

Sintaxă Delphi:

property CryptKeyLength: THPDFKeyType;

 

Sintaxă C++:

__property THPDFKeyType CryptKeyLength;

 

Descriere

Folosiți CryptKeyLength pentru a alege revizia standard a security handler-ului și cifrarea folosite când ActivateProtection este activată

 

Valoare                Semnificație


k40                        Standard security handler V=1, R=2, RC4 cu o cheie de 40 de biți (PDF 1.1+)

k128                        Standard security handler V=2, R=3, RC4 cu o cheie de 128 de biți (PDF 1.4+)

aes128                  Standard security handler V=4, R=4 cu crypt filter StdCF (CFM=AESV2). AES-128 în modul CBC cu umplere PKCS#7 și vector de inițializare aleator de 16 octeți conform ISO 32000-1 7.6.2 / 7.4.4.2 (PDF 1.6+). Din HotPDF v2.4.0 această opțiune criptează șirurile și fluxurile cu o implementare AES reală; versiunile mai vechi emiteau dicționarul AES, dar nu criptau efectiv conținutul

aes256                  Standard security handler V=5 cu crypt filter StdCF (CFM=AESV3). AES-256 în modul CBC cu umplere PKCS#7 și vector de inițializare aleator de 16 octeți conform Adobe Extension Level 3 / ISO 32000-2 7.6.4 (PDF 1.7+, acceptat de Acrobat 9 și mai nou, Foxit, Chrome și vizualizatoarele Apple/macOS). Disponibil din HotPDF v2.17.0. Revizia implicită este R=5 cu hash SHA-256 pentru parolă. Setați UseAES256R6 la true pentru a trece la R=6 cu algoritmul 2.B ISO 32000-2 "hash dance" (SHA-256 / SHA-384 / SHA-512 + mixer AES-128); R=6 este cerut de Acrobat DC și de validatoarele PDF/A-4. Disponibil din HotPDF v2.22.0

 

Public-Key Security Handler (PDF 1.7 7.6.5)

Pentru criptare bazată pe certificat (un document, mai mulți destinatari) apelați EnablePubKeyEncryption(seed, KeyType, EncryptMetadata) în loc să setați UserPassword / OwnerPassword. Aceleași valori CryptKeyLength se aplică cifrului simetric (k40 -> RC4-40 / V=1 + s4 SubFilter, k128 -> RC4-128 / V=2 + s5, aes128 -> AES-128 / V=4 + s5). Apelantul trebuie să construiască un blob PKCS#7 envelopedData pentru fiecare destinatar (Windows CryptoAPI, OpenSSL sau pycryptodome) și să adauge fiecare blob prin AddPubKeyRecipient; cheia de criptare a fișierului se derivă prin algoritmul 9 (SHA-1 al seed-ului concatenat cu binarele envelope-ului). Disponibil din HotPDF v2.33.0.

 

Exemplu de cod

HPDF.OwnerPassword := 'password';          // Set owner password (required to change security settings)
HPDF.UserPassword := 'user';               // Set user password (required to open the document)
HPDF.ProtectOptions := [poEdit, poAnnot];  // Disallow editing and annotations
HPDF.ActivateProtection := true;           // Enable PDF security

 

Vezi și: ActivateProtection, OwnerPassword, ProtectOptions, UserPassword