Zurück |  | Weiter

## 3.21. Passwort

### Überblick

Generell gilt die Aussage, dass Sie alle Tests sowohl mit Dokumenten ohne Passwortschutz durchführen können, als auch mit passwortgeschützten Dokumenten. Der Syntaxunterschied zeigt sich beim ersten Zugriff auf die Dokumente. Die Syntax sieht folgendermaßen aus:

    // Access to password protected PDF
    AssertThat.document(filename, ownerPassword)

    // Test methods:
    .hasEncryptionLength(..)
    .hasOwnerPassword(..)
    .hasUserPassword(..)

| Wenn das Dokument nicht passwortgeschützt ist, wird nur der 1. Parameter benutzt.
| Wird der 2. Parameter benutzt, gilt das PDF-Dokument als passwortgeschützt.

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:
    @Test
    public void hasOwnerPassword() throws Exception {
      String filename = "documentUnderTest.pdf";
      String userPassword = "user-password";

      AssertThat.document(filename, userPassword)
                .hasOwnerPassword("owner-password")
      ;
    }

    // Verify the user-password of the document:
    @Test
    public void hasUserPassword() throws Exception {
      String filename = "documentUnderTest.pdf";
      String ownerPassword = "owner-password";

      AssertThat.document(filename, ownerPassword)
                .hasUserPassword("user-password")
      ;
    }

| Ö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.

### Test auf die Länge der Passwortverschlüsselung

Mit welcher Verschlüsselungslänge wurde verschlüsselt:

    @Test
    public void hasEncryptionLength() throws Exception {
      String filename = "documentUnderTest.pdf";
      String userPassword = "user-password";

      AssertThat.document(filename, userPassword)
                .hasEncryptionLength(128)
      ;
    }

Zurück | Nach oben | Weiter
3.20. Lesezeichen/Bookmarks und Sprungziele | Zum Anfang | 3.22. PDF/A