Class Api
- java.lang.Object
-
- org.iqtig.tpacker.cli.Api
-
public final class Api extends Object
Klasse, die Methoden zum Zippen, Ver- und Entschlüsseln von Dateien bereitstellt.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
decrypt(List<File> in, File out, String password)
Entschlüsselt Dateien.static void
decrypt(List<File> in, File out, String password, Charset characterSetPasswordDecrypt)
Entschlüsselt Dateien.static void
encrypt(List<File> in, File out, String password, Boolean timeStamp)
Verschlüsselt Dateien.static void
hybridDecrypt(List<File> in, File out, File keyFile)
Entschlüsselt eine hybrid verschlüsselte Datei.static void
hybridDecrypt(List<File> in, File out, File keyStoreFile, String keyAlias, String keyStorePassword, String keyEntryPassword)
Entschlüsselt eine hybrid verschlüsselte Datei.static void
hybridEncrypt(List<File> in, File out, File keyFile, Boolean timeStamp)
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.static void
unzip(List<File> in, File out)
Entzippt Dateien.static void
unzipDecrypt(List<File> in, File out, String password)
Entzippt und entschlüsselt Dateien in einem Schritt.static void
unzipDecrypt(List<File> in, File out, String password, Charset characterSetPasswordDecrypt)
Entzippt und entschlüsselt Dateien in einem Schritt.static void
unzipHybridDecrypt(List<File> in, File out, File keyFile)
Entzippt und entschlüsselt (hybrid) Dateien in einem Schritt.static void
unzipHybridDecrypt(List<File> in, File out, File keyStoreFile, String keyAlias, String keyStorePassword, String keyEntryPassword)
Entzippt und entschlüsselt (hybrid) Dateien in einem Schritt.static void
unzipHybridDecrypt(List<File> in, File out, PrivateKey privateKey)
Entzippt und entschlüsselt (hybrid) Dateien in einem Schritt.static void
zip(List<File> in, File out, Boolean timeStamp)
Zippt Dateien.static void
zipEncrypt(List<File> in, File out, String password, Boolean timeStamp)
Zippt und verschlüsselt Dateien in einem Schritt.static void
zipHybridEncrypt(List<File> in, File out, File keyFile, Boolean timeStamp)
Zippt und verschlüsselt Dateien hybrid in einem Schritt.static void
zipHybridEncrypt(List<File> in, File out, PublicKey publicKey, Boolean timeStamp)
Zippt und verschlüsselt Dateien hybrid in einem Schritt.
-
-
-
Method Detail
-
zip
public static void zip(List<File> in, File out, Boolean timeStamp) throws IOException
Zippt Dateien.- Parameters:
in
- Zu zippende Dateienout
- 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 Dateienout
- 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 Dateienout
- Dateiname inklusive Verzeichnispfad, wennin
nur eine Datei enthält. Sind mehrere Dateien inin
enthalten, ist ein Verzeichnispfad anzugeben.password
- Passwort für das VerschlüsselntimeStamp
- 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 Dateienout
- Dateiname inklusive Verzeichnispfad, wennin
nur eine Datei enthält. Sind mehrere Dateien inin
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 Dateienout
- Dateiname inklusive Verzeichnispfad, wennin
nur eine Datei enthält. Sind mehrere Dateien inin
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 Dateienout
- Dateiname inklusive Verzeichnispfad, wennin
nur eine Datei enthält. Sind mehrere Dateien inin
enthalten, ist ein Verzeichnispfad anzugeben.password
- Passwort für das EntschlüsselncharacterSetPasswordDecrypt
- 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 Dateienout
- Dateiname inklusive Verzeichnispfad, wennin
nur eine Datei enthält. Sind mehrere Dateien inin
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 Dateienout
- Dateiname inklusive Verzeichnispfad, wennin
nur eine Datei enthält. Sind mehrere Dateien inin
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 Dateienout
- Dateiname inklusive Verzeichnispfad, wennin
nur eine Datei enthält. Sind mehrere Dateien inin
enthalten, ist ein Verzeichnispfad anzugeben.password
- Passwort für das VerschlüsselntimeStamp
- 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 Dateienout
- 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 Dateienout
- 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 Dateienout
- Dateiname inklusive Verzeichnispfad, wennin
nur eine Datei enthält. Sind mehrere Dateien inin
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 Dateienout
- Dateiname inklusive Verzeichnispfad, wennin
nur eine Datei enthält. Sind mehrere Dateien inin
enthalten, ist ein Verzeichnispfad anzugeben.password
- Passwort für das EntschlüsselncharacterSetPasswordDecrypt
- 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 Dateienout
- 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 Dateienout
- 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 Dateienout
- 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.
-
-