class final readonly Core · roukmoute/pdf 0.6.2
PDF\Security\HistoricalRevision5SecurityHandlerExplicit 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.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 methods
authenticate()
public function authenticate(PDF\Security\PreparedPassword $password, PDF\Security\Revision5EncryptionDictionary $dictionary): ?PDF\Security\AuthenticatedFileKeyOwner validation precedes user validation, as required by Algorithm 3.2a.authenticatesOwner()
public function authenticatesOwner(PDF\Security\PreparedPassword $password, PDF\Security\Revision5EncryptionDictionary $dictionary): boolauthenticatesUser()
public function authenticatesUser(PDF\Security\PreparedPassword $password, PDF\Security\Revision5EncryptionDictionary $dictionary): boolcreate()
public function create(PDF\Security\PreparedPassword $user, PDF\Security\PreparedPassword $owner, PDF\Security\Revision5Permissions $permissions, PDF\Security\EncryptMetadata $metadata): PDF\Security\HistoricalRevision5EncryptionvalidatePermissions()
public function validatePermissions(PDF\Security\FileEncryptionKey $key, PDF\Security\Revision5EncryptionDictionary $dictionary): voidAlgorithm 3.13 rejects inconsistent P, EncryptMetadata, reserved bytes and magic.