Package org.iqtig.xpacker
Class 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.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voiddecrypt(File xmlInFileName, File xmlOufFileName, File keyfileName, List<String> tags)Entschlüsselt Elemente einer XML-Dateistatic voiddecrypt(File xmlInFileName, File xmlOufFileName, File keyfileName, List<String> tags, String encryptedKeyTag)Entschlüsselt Elemente einer XML-Dateistatic voiddecrypt(File xmlInFileName, File xmlOufFileName, PrivateKey privateKey, List<String> tags)Entschlüsselt Elemente einer XML-Dateistatic voiddecrypt(File xmlInFileName, File xmlOufFileName, PrivateKey privateKey, List<String> tags, String encryptedKeyTag)Entschlüsselt Elemente einer XML-Dateistatic voidencrypt(File xmlInFileName, File xmlOufFileName, File keyfileName, List<String> tags)Verschlüsselt Elemente einer XML-Datei, wobei der symmetrische Schlüssel im Tag "encryption" gespeichert wird.static voidencrypt(File xmlInFileName, File xmlOufFileName, File keyfileName, List<String> tags, String encryptedKeyTag)Verschlüsselt Elemente einer XML-Dateistatic voidencrypt(File xmlInFileName, File xmlOufFileName, PublicKey publicKey, String publicKeyId, List<String> tags)Verschlüsselt Elemente einer XML-Datei, wobei der symmetrische Schlüssel im Tag "encryption" gespeichert wird.static voidencrypt(File xmlInFileName, File xmlOufFileName, PublicKey publicKey, String publicKeyId, List<String> tags, String encryptedKeyTag)Verschlüsselt Elemente einer XML-Datei.static StringgetModulus(File publicKeyFile)Gibt den Modulus zum öffentlichen Schlüssel einer übergebenen Schlüssel-Datei zurück.static voidkeygen(File keyFilename)Erzeugt ein Schlüsselpaar.static booleankeyHasBeenUsedForTagEncryption(File xmlFile, File publicKeyFile, String tag)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.
-
-
-
Method Detail
-
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- Parameters:
xmlInFileName- Zu verschlüsselnde DateixmlOufFileName- Ausgabedatei oder -verzeichniskeyfileName- Datei des öffentlichen Schlüsselstags- Liste von Tags, die verschlüsselt werden sollenencryptedKeyTag- Tag, in dem der symmetrische Schlüssel gespeichert werden soll- Throws:
InvalidKeyException- Exception die bei einem falschen Schlüssel auftreten kannorg.apache.xml.security.exceptions.Base64DecodingException- Exception die bei einer falschen Encoding auftreten kannException- 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.- Parameters:
xmlInFileName- Zu verschlüsselnde DateixmlOufFileName- Ausgabedatei oder -verzeichniskeyfileName- Datei des öffentlichen Schlüsselstags- Liste von Tags, die verschlüsselt werden sollen- Throws:
InvalidKeyException- Exception die bei einem falschen Schlüssel auftreten kannorg.apache.xml.security.exceptions.Base64DecodingException- Exception die bei einer falschen Encoding auftreten kannException- 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.- Parameters:
xmlInFileName- Zu verschlüsselnde DateixmlOufFileName- Ausgabedatei oder -verzeichnispublicKey- Öffentlicher SchlüsselpublicKeyId- 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- Throws:
InvalidKeyException- Exception die bei einem falschen Schlüssel auftreten kannorg.apache.xml.security.exceptions.Base64DecodingException- Exception die bei einer falschen Encoding auftreten kannException- 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.- Parameters:
xmlInFileName- Zu verschlüsselnde DateixmlOufFileName- Ausgabedatei oder -verzeichnispublicKey- Öffentlicher SchlüsselpublicKeyId- Schlüssel-Id, die im Keyinfo-Element im XML als Id des Schlüssels abgelegt wird.tags- Liste von Tags, die verschlüsselt werden sollenencryptedKeyTag- Tag, in dem der symmetrische Schlüssel gespeichert werden soll- Throws:
InvalidKeyException- Exception die bei einem falschen Schlüssel auftreten kannorg.apache.xml.security.exceptions.Base64DecodingException- Exception die bei einer falschen Encoding auftreten kannException- 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- Parameters:
xmlInFileName- Zu entschlüsselnde DateixmlOufFileName- Ausgabedatei oder -verzeichniskeyfileName- Datei des privaten Schlüselstags- Liste von Tags, die entschlüsselt werden sollenencryptedKeyTag- Tag, in dem der symmetrische Schlüssel abgelegt ist.- Throws:
InvalidKeyException- Exception die bei einem falschen Schlüssel auftreten kannorg.apache.xml.security.exceptions.Base64DecodingException- Exception die bei einer falschen Encoding auftreten kannException- 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- Parameters:
xmlInFileName- Zu entschlüsselnde DateixmlOufFileName- Ausgabedatei oder -verzeichniskeyfileName- Datei des privaten Schlüselstags- Liste von Tags, die entschlüsselt werden sollen- Throws:
InvalidKeyException- Exception die bei einem falschen Schlüssel auftreten kannorg.apache.xml.security.exceptions.Base64DecodingException- Exception die bei einer falschen Encoding auftreten kannException- 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- Parameters:
xmlInFileName- Zu entschlüsselnde DateixmlOufFileName- Ausgabedatei oder -verzeichnisprivateKey- Privater Schlüsseltags- Liste von Tags, die entschlüsselt werden sollen- Throws:
InvalidKeyException- Exception die bei einem falschen Schlüssel auftreten kannorg.apache.xml.security.exceptions.Base64DecodingException- Exception die bei einer falschen Encoding auftreten kannException- 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- Parameters:
xmlInFileName- Zu entschlüsselnde DateixmlOufFileName- Ausgabedatei oder -verzeichnisprivateKey- Privater Schlüsseltags- Liste von Tags, die entschlüsselt werden sollenencryptedKeyTag- Tag, in dem der symmetrische Schlüssel abgelegt ist.- Throws:
InvalidKeyException- Exception die bei einem falschen Schlüssel auftreten kannorg.apache.xml.security.exceptions.Base64DecodingException- Exception die bei einer falschen Encoding auftreten kannException- Exception die auftreten kann
-
keygen
public static void keygen(File keyFilename) throws InvalidKeyException, org.apache.xml.security.exceptions.Base64DecodingException, Exception
Erzeugt ein Schlüsselpaar.- Parameters:
keyFilename- Name oder Verzeichnis des Schlüssels. Wenn es ein Verzeichnis oder der Wert null ist, wird ein key.pri und key.pub angelegt.- Throws:
InvalidKeyException- Exception die bei einem falschen Schlüssel auftreten kannorg.apache.xml.security.exceptions.Base64DecodingException- Exception die bei einer falschen Encoding auftreten kannException- 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.- Parameters:
publicKeyFile- Datei, zu deren enthaltenem Schlüssel der Modulus zurückgegeben wird.- Returns:
- Modulus base64-kodiert
- Throws:
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.- Parameters:
xmlFile- XML-File mit verschlüsselten TagspublicKeyFile- 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.- Returns:
- true, falls XML-Tag mit öffentlichem Schlüssel verschlüsselt worden ist, false sonst.
- Throws:
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.
-
-