Generell gilt die Aussage, dass Sie alle Tests sowohl mit nicht-verschlüsselten als
auch mit passwortgeschützten PDF-Dokumenten durchführen können. Passwörter werden
beim Tag <assertThat />
angegeben.
Die Syntax sieht folgendermaßen aus:
<!-- Tags for tests with passwords: --> <hasEncryptionLength /> <hasOwnerPassword /> <hasUserPassword /> <!-- Access to encrypted PDF documents: --> <assertThat testDocument=".." (required) testPassword=".." (required if the PDF under test is encrypted) masterDocument=".." (required if a master PDF is used) masterPassword=".." (required if the master PDF is encrypted) />
Diese Syntax gilt unabhängig davon, ob das Dokument mit einem „User-Passwort“ oder einem „Owner-Passwort“ verschlüsselt wurde.
Es gibt Tests, die sich direkt auf ein Passwort beziehen. Wenn Sie ein PDF-Dokument mit einem Passwort öffnen (User- und Owner-Passwort), können Sie das andere Passwort auf seine Richtigkeit prüfen:
<!-- Verify the owner-password of the document: --> <testcase name="hasOwnerPassword"> <assertThat testDocument="content/diverseContentOnMultiplePages_encrypted.pdf" testPassword="user-password" > <hasOwnerPassword>owner-password</hasOwnerPassword> </assertThat> </testcase>
<!-- Verify the user-password of the document: --> <testcase name="hasUserPassword"> <assertThat testDocument="content/diverseContentOnMultiplePages_encrypted.pdf" testPassword="owner-password" > <hasUserPassword>user-password</hasUserPassword> </assertThat> </testcase>
Passwörter sollten im Source-Code lediglich für Testdokumente hart kodiert werden, wobei auch diese Aussage aus Sicherheitsgründen bedenklich ist. „Hart kodiert“ bedeutet aber auch, dass das Passwort nie wechselt.
Mit welcher Verschlüsselungslänge wurde verschlüsselt:
<testcase name="hasEncryptionLength"> <assertThat testDocument="content/diverseContentOnMultiplePages_encrypted.pdf" testPassword="user-password" > <hasEncryptionLength>128</hasEncryptionLength> </assertThat> </testcase>