Package de.svws_nrw.base.crypto
Klasse RSA
java.lang.Object
de.svws_nrw.base.crypto.RSA
Diese Klasse stellt Methoden zum Erzeugen von RSA-Schlüsselpaaren
sowie zum Ver- und Entschlüsseln von Daten mithilfe des RSA-Verfahrens
zur Verfügung. Dabei wird das RSA-Verfahren mit dem AES-Verfahren kombiniert.
Beim Verschlüsseln wird ein zufälliger AES-256 generiert. Dieser wird dann mit
dem RSA-Verfahren verschlüsselt und den Daten vorangestellt. Die eigentlich
zu transportierenden Daten werden dann angehängt und werden mit diesem
AES-Schlüssel und dem Vefahren
AESAlgo.CBC_PKCS5PADDING
verschlüsselt.-
Feldübersicht
Modifizierer und TypFeldBeschreibungstatic final int
Die Default-Bit-Länge für neu erzeugte RSA-Schlüsselpaare -
Konstruktorübersicht
KonstruktorBeschreibungRSA
(PrivateKey privateKey, PublicKey publicKey) Erstellt ein neues RSA-Objekt zum Ver- und Entschlüsseln von Daten. -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungstatic KeyPair
Erzeugt ein neues RSA-Schlüssel-Paar mit der Default-Schlüssellänge (sieheDEFAULT_KEY_LENGTH
.static KeyPair
createKeyWithLength
(int length) Erzeugt ein neues RSA-Schlüssel-Paar mit der angegeben Schlüssellänge.static PrivateKey
decodePrivateKey
(String key) Wandelt den Base-64-Kodierung Schlüssel in den zugehörigen PrivateKey um.static PublicKey
decodePublicKey
(String key) Wandelt den Base-64-Kodierung Schlüssel in den zugehörigen PublicKey um.byte[]
decrypt
(byte[] input) Entschlüsselt das übergebene Byte Array mithilfe einer Kombination von AES und RSA.byte[]
decryptBase64
(String input) Entschlüsselt den übergebenen Base64-String mithilfe einer Kombination von AES und RSA.static String
Gibt den Schlüssel in Base-64-Kodierung zurück.Gibt den privaten Schlüssel in Base-64-Kodierung zurück.Gibt den öffentlichen Schlüssel in Base-64-Kodierung zurück.byte[]
encrypt
(byte[] input) Verschlüsselt das übergebene Byte-Array mithilfe einer Kombination von AES und RSA.encryptBase64
(byte[] input) Verschlüsselt die übergebenen Daten mithilfe einer Kombination von AES und RSA und erstellt einen Base64-kodierten String aus dem Ergebnis.
-
Felddetails
-
DEFAULT_KEY_LENGTH
public static final int DEFAULT_KEY_LENGTHDie Default-Bit-Länge für neu erzeugte RSA-Schlüsselpaare- Siehe auch:
-
-
Konstruktordetails
-
RSA
Erstellt ein neues RSA-Objekt zum Ver- und Entschlüsseln von Daten.- Parameter:
privateKey
- der zu verwendende private RSA-Schlüssel oder nullpublicKey
- der zu verwendende öffentliche RSA-Schlüssel oder null
-
-
Methodendetails
-
encrypt
Verschlüsselt das übergebene Byte-Array mithilfe einer Kombination von AES und RSA.- Parameter:
input
- das zu verschlüsselnde Byte-Array- Gibt zurück:
- das verschlüsselte Byte-Array
- Löst aus:
RSAException
- eine Exception, falls ein Fehler beim Verschlüsseln auftritt
-
decrypt
Entschlüsselt das übergebene Byte Array mithilfe einer Kombination von AES und RSA.- Parameter:
input
- die verschlüsselten Daten- Gibt zurück:
- die entschlüsselten Daten
- Löst aus:
RSAException
- eine Exception, falls ein Fehler beim Entschlüsseln auftritt
-
encryptBase64
Verschlüsselt die übergebenen Daten mithilfe einer Kombination von AES und RSA und erstellt einen Base64-kodierten String aus dem Ergebnis.- Parameter:
input
- die unverschlüsselten Daten- Gibt zurück:
- die verschlüsselten Daten als Base64-String.
- Löst aus:
RSAException
- eine Exception, falls ein Fehler beim Verschlüsseln auftritt
-
decryptBase64
Entschlüsselt den übergebenen Base64-String mithilfe einer Kombination von AES und RSA.- Parameter:
input
- die verschlüsselten Base64-kodierten Daten- Gibt zurück:
- die entschlüsselten Daten
- Löst aus:
RSAException
- eine Exception, falls ein Fehler beim Entschlüsseln auftritt
-
createKey
Erzeugt ein neues RSA-Schlüssel-Paar mit der Default-Schlüssellänge (sieheDEFAULT_KEY_LENGTH
.- Gibt zurück:
- das RSA-Schlüsselpaar
- Löst aus:
RSAException
- falls kein RSA-Schlüssel generiert werden kann
-
createKeyWithLength
Erzeugt ein neues RSA-Schlüssel-Paar mit der angegeben Schlüssellänge.- Parameter:
length
- die Schlüssellänge- Gibt zurück:
- das RSA-Schlüsselpaar
- Löst aus:
RSAException
- falls kein RSA-Schlüssel generiert werden kann
-
encodeKey
Gibt den Schlüssel in Base-64-Kodierung zurück.- Parameter:
key
- der Schlüssel- Gibt zurück:
- der Schlüssel in Base-64-Kodierung
-
encodePublicKey
Gibt den öffentlichen Schlüssel in Base-64-Kodierung zurück.- Gibt zurück:
- der öffentliche Schlüssel in Base-64-Kodierung
- Löst aus:
RSAException
- falls der Schlüssel nicht vorhanden ist (null)
-
encodePrivateKey
Gibt den privaten Schlüssel in Base-64-Kodierung zurück.- Gibt zurück:
- der private Schlüssel in Base-64-Kodierung
- Löst aus:
RSAException
- falls der Schlüssel nicht vorhanden ist (null)
-
decodePublicKey
Wandelt den Base-64-Kodierung Schlüssel in den zugehörigen PublicKey um.- Parameter:
key
- der Base-64-kodierte Schlüssel- Gibt zurück:
- der öffentliche Schlüssel
- Löst aus:
RSAException
- falls der Schlüssel nicht erfolgreich dekodiert werden kann
-
decodePrivateKey
Wandelt den Base-64-Kodierung Schlüssel in den zugehörigen PrivateKey um.- Parameter:
key
- der Base-64-kodierte Schlüssel- Gibt zurück:
- der private Schlüssel
- Löst aus:
RSAException
- falls der Schlüssel nicht erfolgreich dekodiert werden kann
-