class final Core · roukmoute/pdf 0.6.2
PDF\Specification\Adobe\Dictionary\CryptFilterDictionaryTable3_22\CFMEntryAdobe table 3.22, /CFM; PDF type: name; Optional.Inheritance and contracts
Parent : PDF\Specification\SchemaEntry
Definition in the Adobe supplement
Table 3.22 · Entries common to all crypt filter dictionaries
PDF 1.7 · Adobe ExtensionLevel 3 · §3.5.4 · PDF page 22 ↗
/CFM name
(Optional) The method used, if any, by the consumer application to decrypt data. The following values are supported: None The application does not decrypt data but directs the input stream to the security handler for decryption. (See implementation note 30 in Appendix H.) V2 The application asks the security handler for the encryption key and implicitly decrypts data with Algorithm 3.1, using the RC4 algorithm. AESV2 (PDF 1.6) The application asks the security handler for the encryption key and implicitly decrypts data with Algorithm 3.1, using the AES-128 algorithm in Cipher Block Chaining (CBC) with padding mode with a 16-byte block size and an initialization vector that is randomly generated and placed as the first 16 bytes in the stream or string. The key size (Length) shall be 128 bits. AESV3 (ExtensionLevel 3) The application asks the security handler for the encryption key and implicitly decrypts data with Algorithm 3.1a, using the AES-256 algorithm in Cipher Block Chaining (CBC) with padding mode with a 16-byte block size and an initialization vector that is randomly generated and placed as the first 16 bytes in the stream or string. The key size (Length) shall be 256 bits. When the value is V2, AESV2, or AESV3, the application may ask once for this encryption key and cache the key for subsequent use for streams that use the same crypt filter. Therefore, there must be a one-to-one relationship between a crypt filter name and the corresponding encryption key. Only the values listed here are supported. Applications that encounter other values should report that the file is encrypted with an unsupported algorithm. Default value: None.
Qualifier: Optional
Each entry preserves its ISO or Adobe source. Related rules and mechanisms are described in supplement coverage.
Construction
__construct()
public function __construct(PDF\Syntax\Object\NameType|PDF\Syntax\Object\IndirectReference $value)Inherited methods
3 methods from parents and contracts
definition()
public function definition(): PDF\Specification\EntryDefinitionkey()
public function key(): PDF\Syntax\Object\NameTypevalue()
public function value(): PDF\Syntax\FileStructure\BasicTypeProperties
| Declaration | Origin and documentation |
|---|---|
public readonly PDF\Syntax\Object\NameType $key | PDF\Syntax\Object\DictionaryObject\Entry |
public readonly PDF\Syntax\FileStructure\BasicType $value | PDF\Syntax\Object\DictionaryObject\Entry |
Constants
| Name | PHP value | Origin |
|---|---|---|
KEY | | PDF\Specification\Adobe\Dictionary\CryptFilterDictionaryTable3_22\CFMEntry |
TABLE | | PDF\Specification\Adobe\Dictionary\CryptFilterDictionaryTable3_22\CFMEntry |
VARIABLE | | PDF\Specification\SchemaEntry |