THotPDF.CryptKeyLength Property

 

THotPDF.CryptKeyLength

THotPDF

 

Boven  Vorige  Volgende

Bepaalt de versleutelingsmethode van het PDF-bestand

 

type

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

 

Delphi-syntaxis:

property CryptKeyLength: THPDFKeyType;

 

C++-syntaxis:

__property THPDFKeyType CryptKeyLength;

 

Beschrijving

Gebruik CryptKeyLength om de revisie van de standaard security handler en de cipher te kiezen die worden gebruikt wanneer ActivateProtection is ingeschakeld

 

Value                Meaning


k40                        Standaard security handler V=1, R=2, RC4 met een 40-bits sleutel (PDF 1.1+)

k128                        Standaard security handler V=2, R=3, RC4 met een 128-bits sleutel (PDF 1.4+)

aes128                  Standaard security handler V=4, R=4 met crypt filter StdCF (CFM=AESV2). AES-128 in CBC-modus met PKCS#7-opvulling en een willekeurige initialisatievector van 16 bytes volgens ISO 32000-1 7.6.2 / 7.4.4.2 (PDF 1.6+). Sinds HotPDF v2.4.0 versleutelt deze optie tekenreeksen en streams met een echte AES-implementatie; eerdere builds gaven wel de AES-dictionary uit maar versleutelden de inhoud niet echt

aes256                  Standaard security handler V=5 met crypt filter StdCF (CFM=AESV3). AES-256 in CBC-modus met PKCS#7-opvulling en een willekeurige initialisatievector van 16 bytes volgens Adobe Extension Level 3 / ISO 32000-2 7.6.4 (PDF 1.7+, geaccepteerd door Acrobat 9 en later, Foxit, Chrome en de Apple/macOS-viewers). Beschikbaar sinds HotPDF v2.17.0. De standaardrevisie is R=5 met SHA-256-wachtwoordhashing. Zet UseAES256R6 op true om over te schakelen naar R=6 met de ISO 32000-2-algoritme 2.B hash dance (SHA-256 / SHA-384 / SHA-512 + AES-128-mixer); R=6 is vereist door Acrobat DC en PDF/A-4-validators. Beschikbaar sinds HotPDF v2.22.0

 

Public-Key Security Handler (PDF 1.7 7.6.5)

Voor certificaatgebaseerde versleuteling (één document, meerdere ontvangers) roept u EnablePubKeyEncryption(seed, KeyType, EncryptMetadata) aan in plaats van UserPassword / OwnerPassword in te stellen. Dezelfde CryptKeyLength-waarden gelden voor de symmetrische cipher (k40 -> RC4-40 / V=1 + s4 SubFilter, k128 -> RC4-128 / V=2 + s5, aes128 -> AES-128 / V=4 + s5). De aanroeper moet één PKCS#7 envelopedData-blob per ontvanger maken (Windows CryptoAPI, OpenSSL of pycryptodome) en elke blob via AddPubKeyRecipient toevoegen ; de bestandversleutelingssleutel wordt afgeleid via algoritme 9 (SHA-1 van seed samengevoegd met de envelope-binaries). Beschikbaar sinds HotPDF v2.33.0

 

Codevoorbeeld

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

 

Zie ook: ActivateProtection, OwnerPassword, ProtectOptions, UserPassword