class final readonly Core · roukmoute/pdf 0.6.2

PDF\Security\HistoricalRevision5SecurityHandler
Explicit historical R=5 protocol from adobe_supplement_iso32000.pdf, pages 19–21.
R=5 uses legacy unslowed SHA-256 password hashing. It is never a default handler.
This implements Algorithms 3.2a and 3.8–3.13, not modern R=6 or public-key security.

Read the source declaration ↗

Inheritance and contracts

This type declares no parent, interface or trait.

Construction

__construct()

public function __construct(PDF\Security\Aes256Backend $backend, PDF\Security\RandomSource $random)

Declared by PDF\Security\HistoricalRevision5SecurityHandler · View the code ↗

Declared methods

authenticate()

Owner validation precedes user validation, as required by Algorithm 3.2a.

Declared by PDF\Security\HistoricalRevision5SecurityHandler · View the code ↗

authenticatesOwner()

public function authenticatesOwner(PDF\Security\PreparedPassword $password, PDF\Security\Revision5EncryptionDictionary $dictionary): bool

Declared by PDF\Security\HistoricalRevision5SecurityHandler · View the code ↗

authenticatesUser()

public function authenticatesUser(PDF\Security\PreparedPassword $password, PDF\Security\Revision5EncryptionDictionary $dictionary): bool

Declared by PDF\Security\HistoricalRevision5SecurityHandler · View the code ↗

create()

Declared by PDF\Security\HistoricalRevision5SecurityHandler · View the code ↗

validatePermissions()

public function validatePermissions(PDF\Security\FileEncryptionKey $key, PDF\Security\Revision5EncryptionDictionary $dictionary): void
Algorithm 3.13 rejects inconsistent P, EncryptMetadata, reserved bytes and magic.

Declared by PDF\Security\HistoricalRevision5SecurityHandler · View the code ↗