Zurück |  | Weiter

## 3.18. Passwort

### Überblick

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.

### Tests auf das Password selber

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>

| Öffnen der Datei mit einem Passwort
| Überprüfen des anderen Passwortes

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.

### Test auf Verschlüsselungslänge

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>

Zurück | Nach oben | Weiter
3.17. Lesezeichen (Bookmarks) und Sprungziele | Zum Anfang | 3.19. Schriften