Class Api


  • public final class Api
    extends Object
    Klasse, die Methoden zum Zippen, Ver- und Entschlüsseln von Dateien bereitstellt.
    • Method Detail

      • zip

        public static void zip​(List<File> in,
                               File out,
                               Boolean timeStamp)
                        throws IOException
        Zippt Dateien.
        Parameters:
        in - Zu zippende Dateien
        out - Dateiname inklusive Verzeichnispfad, in dem die Datei abgelegt werden soll.
        timeStamp - Wenn true, wird an den Dateinamen das aktuelle Datum angehängt.
        Throws:
        IOException - Exception die auftreten kann
      • unzip

        public static void unzip​(List<File> in,
                                 File out)
                          throws IOException
        Entzippt Dateien.
        Parameters:
        in - Zu entzippende Dateien
        out - Verzeichnispfad, in dem die Dateien abgelegt werden sollen
        Throws:
        IOException - Exception die auftreten kann
      • encrypt

        public static void encrypt​(List<File> in,
                                   File out,
                                   String password,
                                   Boolean timeStamp)
                            throws IOException
        Verschlüsselt Dateien.
        Parameters:
        in - Zu verschlüsselnde Dateien
        out - Dateiname inklusive Verzeichnispfad, wenn in nur eine Datei enthält. Sind mehrere Dateien in in enthalten, ist ein Verzeichnispfad anzugeben.
        password - Passwort für das Verschlüsseln
        timeStamp - Wenn true, wird an den bzw. die Dateinamen das aktuelle Datum angehängt.
        Throws:
        IOException - Exception die auftreten kann
      • hybridEncrypt

        public static void hybridEncrypt​(List<File> in,
                                         File out,
                                         File keyFile,
                                         Boolean timeStamp)
                                  throws IOException
        Verschlüsselt Dateien im hybriden Verfahren, das heißt die Eingangsateien werden symmetrisch mit einem geheimen Schlüssel und dieser wiederrum asymmetrisch mit einem öffentlichen Schlüssel verschlüsselt.
        Parameters:
        in - zu verschlüsselnde Dateien
        out - Dateiname inklusive Verzeichnispfad, wenn in nur eine Datei enthält. Sind mehrere Dateien in in enthalten, ist ein Verzeichnispfad anzugeben.
        keyFile - Pfad zu der Datei, die den öffentlichen Schlüssel enthält.
        timeStamp - Wenn true, wird an den bzw. die Dateinamen das aktuelle Datum angehängt.
        Throws:
        IOException - Exception, die auftreten kann
      • decrypt

        public static void decrypt​(List<File> in,
                                   File out,
                                   String password)
                            throws IOException
        Entschlüsselt Dateien.
        Parameters:
        in - Zu entschlüsselnde Dateien
        out - Dateiname inklusive Verzeichnispfad, wenn in nur eine Datei enthält. Sind mehrere Dateien in in enthalten, ist ein Verzeichnispfad anzugeben.
        password - Passwort für das Entschlüsseln
        Throws:
        IOException - Exception die auftreten kann
      • decrypt

        public static void decrypt​(List<File> in,
                                   File out,
                                   String password,
                                   Charset characterSetPasswordDecrypt)
                            throws IOException
        Entschlüsselt Dateien.
        Parameters:
        in - Zu entschlüsselnde Dateien
        out - Dateiname inklusive Verzeichnispfad, wenn in nur eine Datei enthält. Sind mehrere Dateien in in enthalten, ist ein Verzeichnispfad anzugeben.
        password - Passwort für das Entschlüsseln
        characterSetPasswordDecrypt - Das optionale CharacterSet (Zeichencodierung), das zur Interpretation des Passworts zur Entschlüsselung verwendet werden soll.

        Eine Bestückung wird nur in Problemfällen empfohlen, d.h. wenn eine Entschlüsselung nicht möglich ist, obschon vermeintlich das korrekte Passwort zum Einsatz kommt.

        Hintergrund: Ab Vesion 4.2.11 codiert der TPacker das Passwort zur Ver- und Entschlüsselung einheitlich als 'UTF-8'. In Versionen davor hingegen konnte sich die 'Interpretation' des Passworts von Plattform zu Plattform unterscheiden. Dies führte zu Entschlüsselungsproblemen, bei Verwendung eines Passworts mit Sonderzeichen und abweichendem Standard-Encoding von Ziel- und Quellplattform.

        Der Parameter ist ausschließlich zur Problemlösung gedacht: Sofern mit dem TPacker (ab Version 4.2.11) Altdaten entschlüsselt werden müssen, die auf einer früheren Version, mit einem Sonderzeichen-Passwort, auf einer Plattform mit abweichendem Standard-Encoding, verschlüsselt wurden.

        Throws:
        IOException - Exception die auftreten kann
      • hybridDecrypt

        public static void hybridDecrypt​(List<File> in,
                                         File out,
                                         File keyFile)
                                  throws IOException
        Entschlüsselt eine hybrid verschlüsselte Datei.
        Parameters:
        in - zu entschlüsselnde Dateien
        out - Dateiname inklusive Verzeichnispfad, wenn in nur eine Datei enthält. Sind mehrere Dateien in in enthalten, ist ein Verzeichnispfad anzugeben.
        keyFile - Pfad zu Datei, die den privaten Schlüssel zur Entschlüsselung enthält.
        Throws:
        IOException - Exception, die auftreten kann
      • hybridDecrypt

        public static void hybridDecrypt​(List<File> in,
                                         File out,
                                         File keyStoreFile,
                                         String keyAlias,
                                         String keyStorePassword,
                                         String keyEntryPassword)
                                  throws IOException
        Entschlüsselt eine hybrid verschlüsselte Datei.
        Parameters:
        in - zu entschlüsselnde Dateien
        out - Dateiname inklusive Verzeichnispfad, wenn in nur eine Datei enthält. Sind mehrere Dateien in in enthalten, ist ein Verzeichnispfad anzugeben.
        keyStoreFile - Pfad zu Datei, die den PKCS12-Keystore enthält.
        keyAlias - Alias, unter dem der zu ladende Schlüssel abgespeichert ist.
        keyStorePassword - Passwort, mit der Keystore geschützt ist.
        keyEntryPassword - Passwort, mit dem der zu ladende Schlüsseleintrag geschützt ist.
        Throws:
        IOException - Exception, die auftreten kann
      • zipEncrypt

        public static void zipEncrypt​(List<File> in,
                                      File out,
                                      String password,
                                      Boolean timeStamp)
                               throws IOException
        Zippt und verschlüsselt Dateien in einem Schritt.
        Parameters:
        in - Zu zippende und verschlüsselnde Dateien
        out - Dateiname inklusive Verzeichnispfad, wenn in nur eine Datei enthält. Sind mehrere Dateien in in enthalten, ist ein Verzeichnispfad anzugeben.
        password - Passwort für das Verschlüsseln
        timeStamp - Wenn true, wird an den Dateinamen das aktuelle Datum angehängt.
        Throws:
        IOException - Exception die auftreten kann
      • zipHybridEncrypt

        public static void zipHybridEncrypt​(List<File> in,
                                            File out,
                                            File keyFile,
                                            Boolean timeStamp)
                                     throws IOException
        Zippt und verschlüsselt Dateien hybrid in einem Schritt.
        Parameters:
        in - zu zippende und verschlüsselnde Dateien
        out - Pfad zur Ausgabedatei, an den dann noch ".zip.aes" angehängt wird.
        keyFile - Pfad zur Datei, die den öffentlichen Schlüssel zur Verschlüsselung enthält.
        timeStamp - Wenn true, wird an den Dateinamen das aktuelle Datum angehängt.
        Throws:
        IOException - Exception, die auftreten kann.
      • zipHybridEncrypt

        public static void zipHybridEncrypt​(List<File> in,
                                            File out,
                                            PublicKey publicKey,
                                            Boolean timeStamp)
                                     throws IOException
        Zippt und verschlüsselt Dateien hybrid in einem Schritt.
        Parameters:
        in - zu zippende und verschlüsselnde Dateien
        out - Pfad zur Ausgabedatei, an den dann noch ".zip.aes" angehängt wird.
        publicKey - Öffentlicher Schlüssel, mit dem verschlüsselt wird.
        timeStamp - Wenn true, wird an den Dateinamen das aktuelle Datum angehängt.
        Throws:
        IOException - Exception, die auftreten kann.
      • unzipDecrypt

        public static void unzipDecrypt​(List<File> in,
                                        File out,
                                        String password)
                                 throws IOException
        Entzippt und entschlüsselt Dateien in einem Schritt.
        Parameters:
        in - Zu entzippende und entschlüsselnde Dateien
        out - Dateiname inklusive Verzeichnispfad, wenn in nur eine Datei enthält. Sind mehrere Dateien in in enthalten, ist ein Verzeichnispfad anzugeben.
        password - Passwort für das Entschlüsseln
        Throws:
        IOException - Exception die auftreten kann
      • unzipDecrypt

        public static void unzipDecrypt​(List<File> in,
                                        File out,
                                        String password,
                                        Charset characterSetPasswordDecrypt)
                                 throws IOException
        Entzippt und entschlüsselt Dateien in einem Schritt.
        Parameters:
        in - Zu entzippende und entschlüsselnde Dateien
        out - Dateiname inklusive Verzeichnispfad, wenn in nur eine Datei enthält. Sind mehrere Dateien in in enthalten, ist ein Verzeichnispfad anzugeben.
        password - Passwort für das Entschlüsseln
        characterSetPasswordDecrypt - Das optionale CharacterSet (Zeichencodierung), das zur Interpretation des Passworts zur Entschlüsselung verwendet werden soll.

        Eine Bestückung wird nur in Problemfällen empfohlen, d.h. wenn eine Entschlüsselung nicht möglich ist, obschon vermeintlich das korrekte Passwort zum Einsatz kommt.

        Hintergrund: Ab Vesion 4.2.11 codiert der TPacker das Passwort zur Ver- und Entschlüsselung einheitlich als 'UTF-8'. In Versionen davor hingegen konnte sich die 'Interpretation' des Passworts von Plattform zu Plattform unterscheiden. Dies führte zu Entschlüsselungsproblemen, bei Verwendung eines Passworts mit Sonderzeichen und abweichendem Standard-Encoding von Ziel- und Quellplattform.

        Der Parameter ist ausschließlich zur Problemlösung gedacht: Sofern mit dem TPacker (ab Version 4.2.11) Altdaten entschlüsselt werden müssen, die auf einer früheren Version, mit einem Sonderzeichen-Passwort, auf einer Plattform mit abweichendem Standard-Encoding, verschlüsselt wurden.

        Throws:
        IOException - Exception die auftreten kann
      • unzipHybridDecrypt

        public static void unzipHybridDecrypt​(List<File> in,
                                              File out,
                                              File keyFile)
                                       throws IOException
        Entzippt und entschlüsselt (hybrid) Dateien in einem Schritt.
        Parameters:
        in - zu entzippende und entschlüsselnde Dateien
        out - Verzeichnis, in das entpackt werden soll.
        keyFile - Datei, die privaten Schlüssel enthält.
        Throws:
        IOException - Exception, die auftreten kann.
      • unzipHybridDecrypt

        public static void unzipHybridDecrypt​(List<File> in,
                                              File out,
                                              PrivateKey privateKey)
                                       throws IOException
        Entzippt und entschlüsselt (hybrid) Dateien in einem Schritt.
        Parameters:
        in - zu entzippende und entschlüsselnde Dateien
        out - Verzeichnis, in das entpackt werden soll.
        privateKey - Privater Schlüssel, der zur Entschlüsselung herangezogen wird.
        Throws:
        IOException - Exception, die auftreten kann.
      • unzipHybridDecrypt

        public static void unzipHybridDecrypt​(List<File> in,
                                              File out,
                                              File keyStoreFile,
                                              String keyAlias,
                                              String keyStorePassword,
                                              String keyEntryPassword)
                                       throws IOException
        Entzippt und entschlüsselt (hybrid) Dateien in einem Schritt.
        Parameters:
        in - zu entzippende und entschlüsselnde Dateien
        out - Verzeichnis, in das entpackt werden soll.
        keyStoreFile - Pfad zu Datei, die den PKCS12-Keystore enthält.
        keyAlias - Alias, unter dem der zu ladende Schlüssel abgespeichert ist.
        keyStorePassword - Passwort, mit der Keystore geschützt ist.
        keyEntryPassword - Passwort, mit dem der zu ladende Schlüsseleintrag geschützt ist.
        Throws:
        IOException - Exception, die auftreten kann.