Klasse Api

java.lang.Object
org.iqtig.xpacker.Api

public class Api extends Object
Klasse zum Ver- und Entschlüsseln von Elementen in XML-Dateien.

Elemente werden symmetrisch mit einem zufällig erzeugten Schlüssel verschlüsselt.

Dieser Schlüsselt wird mit Hilfe eines asymmetrischen Schlüsselpaars ver- und entschlüsselt. Mit dem öffentlichen Schlüssel des Schlüsselpaars wird der symmetrische Schlüssel verschlüsselt und im XML-Dokument hinterlegt. Mit dem privaten Schlüssel des Schlüsselpaars kann der symmetrische Schlüssel anschließend entschlüsselt werden und mit diesem dann die verschlüsselten XML-Elemente.

  • Methodendetails

    • encrypt

      public static void encrypt(File xmlInFileName, File xmlOufFileName, File keyfileName, List<String> tags, String encryptedKeyTag) throws InvalidKeyException, org.apache.xml.security.exceptions.Base64DecodingException, Exception
      Verschlüsselt Elemente einer XML-Datei
      Parameter:
      xmlInFileName - Zu verschlüsselnde Datei
      xmlOufFileName - Ausgabedatei oder -verzeichnis
      keyfileName - Datei des öffentlichen Schlüssels
      tags - Liste von Tags, die verschlüsselt werden sollen
      encryptedKeyTag - Tag, in dem der symmetrische Schlüssel gespeichert werden soll
      Löst aus:
      InvalidKeyException - Exception die bei einem falschen Schlüssel auftreten kann
      org.apache.xml.security.exceptions.Base64DecodingException - Exception die bei einer falschen Encoding auftreten kann
      Exception - Exception die auftreten kann
    • encrypt

      public static void encrypt(File xmlInFileName, File xmlOufFileName, File keyfileName, List<String> tags) throws InvalidKeyException, org.apache.xml.security.exceptions.Base64DecodingException, Exception
      Verschlüsselt Elemente einer XML-Datei, wobei der symmetrische Schlüssel im Tag "encryption" gespeichert wird.
      Parameter:
      xmlInFileName - Zu verschlüsselnde Datei
      xmlOufFileName - Ausgabedatei oder -verzeichnis
      keyfileName - Datei des öffentlichen Schlüssels
      tags - Liste von Tags, die verschlüsselt werden sollen
      Löst aus:
      InvalidKeyException - Exception die bei einem falschen Schlüssel auftreten kann
      org.apache.xml.security.exceptions.Base64DecodingException - Exception die bei einer falschen Encoding auftreten kann
      Exception - Exception die auftreten kann
    • encrypt

      public static void encrypt(File xmlInFileName, File xmlOufFileName, PublicKey publicKey, String publicKeyId, List<String> tags) throws InvalidKeyException, org.apache.xml.security.exceptions.Base64DecodingException, Exception
      Verschlüsselt Elemente einer XML-Datei, wobei der symmetrische Schlüssel im Tag "encryption" gespeichert wird.
      Parameter:
      xmlInFileName - Zu verschlüsselnde Datei
      xmlOufFileName - Ausgabedatei oder -verzeichnis
      publicKey - Öffentlicher Schlüssel
      publicKeyId - Schlüssel-Id, die im Keyinfo-Element im XML als Id des Schlüssels abgelegt wird.
      tags - Liste von Tags, die verschlüsselt werden sollen
      Löst aus:
      InvalidKeyException - Exception die bei einem falschen Schlüssel auftreten kann
      org.apache.xml.security.exceptions.Base64DecodingException - Exception die bei einer falschen Encoding auftreten kann
      Exception - Exception die auftreten kann
    • encrypt

      public static void encrypt(File xmlInFileName, File xmlOufFileName, PublicKey publicKey, String publicKeyId, List<String> tags, String encryptedKeyTag) throws InvalidKeyException, org.apache.xml.security.exceptions.Base64DecodingException, Exception
      Verschlüsselt Elemente einer XML-Datei.
      Parameter:
      xmlInFileName - Zu verschlüsselnde Datei
      xmlOufFileName - Ausgabedatei oder -verzeichnis
      publicKey - Öffentlicher Schlüssel
      publicKeyId - Schlüssel-Id, die im Keyinfo-Element im XML als Id des Schlüssels abgelegt wird.
      tags - Liste von Tags, die verschlüsselt werden sollen
      encryptedKeyTag - Tag, in dem der symmetrische Schlüssel gespeichert werden soll
      Löst aus:
      InvalidKeyException - Exception die bei einem falschen Schlüssel auftreten kann
      org.apache.xml.security.exceptions.Base64DecodingException - Exception die bei einer falschen Encoding auftreten kann
      Exception - Exception die auftreten kann
    • decrypt

      public static void decrypt(File xmlInFileName, File xmlOufFileName, File keyfileName, List<String> tags, String encryptedKeyTag) throws InvalidKeyException, org.apache.xml.security.exceptions.Base64DecodingException, Exception
      Entschlüsselt Elemente einer XML-Datei
      Parameter:
      xmlInFileName - Zu entschlüsselnde Datei
      xmlOufFileName - Ausgabedatei oder -verzeichnis
      keyfileName - Datei des privaten Schlüsels
      tags - Liste von Tags, die entschlüsselt werden sollen
      encryptedKeyTag - Tag, in dem der symmetrische Schlüssel abgelegt ist.
      Löst aus:
      InvalidKeyException - Exception die bei einem falschen Schlüssel auftreten kann
      org.apache.xml.security.exceptions.Base64DecodingException - Exception die bei einer falschen Encoding auftreten kann
      Exception - Exception die auftreten kann
    • decrypt

      public static void decrypt(File xmlInFileName, File xmlOufFileName, File keyfileName, List<String> tags) throws InvalidKeyException, org.apache.xml.security.exceptions.Base64DecodingException, Exception
      Entschlüsselt Elemente einer XML-Datei
      Parameter:
      xmlInFileName - Zu entschlüsselnde Datei
      xmlOufFileName - Ausgabedatei oder -verzeichnis
      keyfileName - Datei des privaten Schlüsels
      tags - Liste von Tags, die entschlüsselt werden sollen
      Löst aus:
      InvalidKeyException - Exception die bei einem falschen Schlüssel auftreten kann
      org.apache.xml.security.exceptions.Base64DecodingException - Exception die bei einer falschen Encoding auftreten kann
      Exception - Exception die auftreten kann
    • decrypt

      public static void decrypt(File xmlInFileName, File xmlOufFileName, PrivateKey privateKey, List<String> tags) throws InvalidKeyException, org.apache.xml.security.exceptions.Base64DecodingException, Exception
      Entschlüsselt Elemente einer XML-Datei
      Parameter:
      xmlInFileName - Zu entschlüsselnde Datei
      xmlOufFileName - Ausgabedatei oder -verzeichnis
      privateKey - Privater Schlüssel
      tags - Liste von Tags, die entschlüsselt werden sollen
      Löst aus:
      InvalidKeyException - Exception die bei einem falschen Schlüssel auftreten kann
      org.apache.xml.security.exceptions.Base64DecodingException - Exception die bei einer falschen Encoding auftreten kann
      Exception - Exception die auftreten kann
    • decrypt

      public static void decrypt(File xmlInFileName, File xmlOufFileName, PrivateKey privateKey, List<String> tags, String encryptedKeyTag) throws InvalidKeyException, org.apache.xml.security.exceptions.Base64DecodingException, Exception
      Entschlüsselt Elemente einer XML-Datei
      Parameter:
      xmlInFileName - Zu entschlüsselnde Datei
      xmlOufFileName - Ausgabedatei oder -verzeichnis
      privateKey - Privater Schlüssel
      tags - Liste von Tags, die entschlüsselt werden sollen
      encryptedKeyTag - Tag, in dem der symmetrische Schlüssel abgelegt ist.
      Löst aus:
      InvalidKeyException - Exception die bei einem falschen Schlüssel auftreten kann
      org.apache.xml.security.exceptions.Base64DecodingException - Exception die bei einer falschen Encoding auftreten kann
      Exception - Exception die auftreten kann
    • keygen

      public static void keygen(File keyFilename) throws InvalidKeyException, org.apache.xml.security.exceptions.Base64DecodingException, Exception
      Erzeugt ein Schlüsselpaar.
      Parameter:
      keyFilename - Name oder Verzeichnis des Schlüssels. Wenn es ein Verzeichnis oder der Wert null ist, wird ein key.pri und key.pub angelegt.
      Löst aus:
      InvalidKeyException - Exception die bei einem falschen Schlüssel auftreten kann
      org.apache.xml.security.exceptions.Base64DecodingException - Exception die bei einer falschen Encoding auftreten kann
      Exception - Exception die auftreten kann
    • getModulus

      public static String getModulus(File publicKeyFile) throws org.iqtig.packer.shared.error.crypto.CryptoException
      Gibt den Modulus zum öffentlichen Schlüssel einer übergebenen Schlüssel-Datei zurück.
      Parameter:
      publicKeyFile - Datei, zu deren enthaltenem Schlüssel der Modulus zurückgegeben wird.
      Gibt zurück:
      Modulus base64-kodiert
      Löst aus:
      org.iqtig.packer.shared.error.crypto.CryptoException - Exception, die bei Fehlern beim Laden des öffentlichen Schlüssels auftreten kann.
    • keyHasBeenUsedForTagEncryption

      public static boolean keyHasBeenUsedForTagEncryption(File xmlFile, File publicKeyFile, String tag) throws org.iqtig.packer.shared.error.crypto.CryptoException, org.apache.xml.security.exceptions.XMLSecurityException, SAXException
      Methode gibt boolschen Wert zurück, der aussagt, ob das übergebene XML-Tag des übergebenen XML-Files mit dem öffentlichen Schlüssel des übergebenen Keyfiles verschlüsselt worden ist.
      Parameter:
      xmlFile - XML-File mit verschlüsselten Tags
      publicKeyFile - Datei mit öffentlichem Schlüssel, mit dem Tags des XML-Files potentiell verschlüsselt worden sind.
      tag - XML-Tag, das daraufhin geprüft wird, ob es mit dem öffentlichen Schlüssel verschlüsselt worden ist.
      Gibt zurück:
      true, falls XML-Tag mit öffentlichem Schlüssel verschlüsselt worden ist, false sonst.
      Löst aus:
      org.iqtig.packer.shared.error.crypto.CryptoException - Exception, die bei Fehlern beim Laden des öffentlichen Schlüssels auftreten kann.
      org.apache.xml.security.exceptions.XMLSecurityException - Exception, die beim Parsen der KeyInfo-Elemente auftreten kann.
      SAXException - Exception, die beim Parsen des Input-XML auftreten kann.