|
Bestemmer krypteringsmetoden for PDF-filen
type
THPDFKeyType = ( k40, k128, aes128, aes256 );
Delphi syntax:
property CryptKeyLength: THPDFKeyType;
C++ syntax:
__property THPDFKeyType CryptKeyLength;
Beskrivelse
Bruk CryptKeyLength til å velge revisjonen av standard sikkerhetshåndterer og chifferet som brukes når ActivateProtection er aktivert
Value Meaning
k40 Standard sikkerhetshåndterer V=1, R=2, RC4 med 40-bit nøkkel (PDF 1.1+)
k128 Standard sikkerhetshåndterer V=2, R=3, RC4 med 128-bit nøkkel (PDF 1.4+)
aes128 Standard sikkerhetshåndterer V=4, R=4 med kryptofilter StdCF (CFM=AESV2). AES-128 i CBC-modus med PKCS#7-fylling og en tilfeldig initieringsvektor på 16 byte etter ISO 32000-1 7.6.2 / 7.4.4.2 (PDF 1.6+). Siden HotPDF v2.4.0 krypterer dette alternativet strenger og strømmer med en ekte AES-implementering; tidligere bygninger skrev AES-ordboken, men krypterte ikke faktisk innhold
aes256 Standard sikkerhetshåndterer V=5 med kryptofilter StdCF (CFM=AESV3). AES-256 i CBC-modus med PKCS#7-fylling og en tilfeldig initieringsvektor på 16 byte etter Adobe Extension Level 3 / ISO 32000-2 7.6.4 (PDF 1.7+, akseptert av Acrobat 9 og nyere, Foxit, Chrome og Apple/macOS-viserne). Tilgjengelig siden HotPDF v2.17.0. Standardrevisjonen er R=5 med SHA-256-passordhashing. Sett UseAES256R6 til true for å bytte til R=6 med ISO 32000-2-algoritme 2.B "hash dance" (SHA-256 / SHA-384 / SHA-512 + AES-128-mikser); R=6 kreves av Acrobat DC og PDF/A-4-validerere. Tilgjengelig siden HotPDF v2.22.0
Public-Key Security Handler (PDF 1.7 7.6.5)
For sertifikatbasert kryptering (ett dokument, flere mottakere) kaller du EnablePubKeyEncryption(seed, KeyType, EncryptMetadata) i stedet for å sette UserPassword / OwnerPassword. De samme CryptKeyLength-verdiene gjelder for den symmetriske chifferen (k40 -> RC4-40 / V=1 + s4 SubFilter, k128 -> RC4-128 / V=2 + s5, aes128 -> AES-128 / V=4 + s5). Kalleren må bygge én PKCS#7 envelopedData-blokk per mottaker (Windows CryptoAPI, OpenSSL eller pycryptodome) og legge til hver blokk gjennom AddPubKeyRecipient; filkrypteringsnøkkelen avledes gjennom algoritme 9 (SHA-1 av seed satt sammen med envelope-binærene). Tilgjengelig siden HotPDF v2.33.0.
Kodeeksempel
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
Se også: ActivateProtection, OwnerPassword, ProtectOptions, UserPassword
|