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 void
decrypt(File xmlInFileName, File xmlOufFileName, File keyfileName, List<String> tags)
Entschlüsselt Elemente einer XML-Dateistatic void
decrypt(File xmlInFileName, File xmlOufFileName, File keyfileName, List<String> tags, String encryptedKeyTag)
Entschlüsselt Elemente einer XML-Dateistatic void
decrypt(File xmlInFileName, File xmlOufFileName, PrivateKey privateKey, List<String> tags)
Entschlüsselt Elemente einer XML-Dateistatic void
decrypt(File xmlInFileName, File xmlOufFileName, PrivateKey privateKey, List<String> tags, String encryptedKeyTag)
Entschlüsselt Elemente einer XML-Dateistatic void
encrypt(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 void
encrypt(File xmlInFileName, File xmlOufFileName, File keyfileName, List<String> tags, String encryptedKeyTag)
Verschlüsselt Elemente einer XML-Dateistatic void
encrypt(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 void
encrypt(File xmlInFileName, File xmlOufFileName, PublicKey publicKey, String publicKeyId, List<String> tags, String encryptedKeyTag)
Verschlüsselt Elemente einer XML-Datei.static String
getModulus(File publicKeyFile)
Gibt den Modulus zum öffentlichen Schlüssel einer übergebenen Schlüssel-Datei zurück.static void
keygen(File keyFilename)
Erzeugt ein Schlüsselpaar.static boolean
keyHasBeenUsedForTagEncryption(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.
-
-