Klasse RSA

java.lang.Object
de.svws_nrw.base.crypto.RSA

public class RSA extends Object
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

    Felder
    Modifizierer und Typ
    Feld
    Beschreibung
    static final int
    Die Default-Bit-Länge für neu erzeugte RSA-Schlüsselpaare
  • Konstruktorübersicht

    Konstruktoren
    Konstruktor
    Beschreibung
    RSA(PrivateKey privateKey, PublicKey publicKey)
    Erstellt ein neues RSA-Objekt zum Ver- und Entschlüsseln von Daten.
  • Methodenübersicht

    Modifizierer und Typ
    Methode
    Beschreibung
    static KeyPair
    Erzeugt ein neues RSA-Schlüssel-Paar mit der Default-Schlüssellänge (siehe DEFAULT_KEY_LENGTH.
    static KeyPair
    createKeyWithLength(int length)
    Erzeugt ein neues RSA-Schlüssel-Paar mit der angegeben Schlüssellänge.
    static PrivateKey
    Wandelt den Base-64-Kodierung Schlüssel in den zugehörigen PrivateKey um.
    static PublicKey
    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[]
    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.

    Von Klasse geerbte Methoden java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Felddetails

    • DEFAULT_KEY_LENGTH

      public static final int DEFAULT_KEY_LENGTH
      Die Default-Bit-Länge für neu erzeugte RSA-Schlüsselpaare
      Siehe auch:
  • Konstruktordetails

    • RSA

      public RSA(PrivateKey privateKey, PublicKey publicKey)
      Erstellt ein neues RSA-Objekt zum Ver- und Entschlüsseln von Daten.
      Parameter:
      privateKey - der zu verwendende private RSA-Schlüssel oder null
      publicKey - der zu verwendende öffentliche RSA-Schlüssel oder null
  • Methodendetails

    • encrypt

      public byte[] encrypt(byte[] input) throws RSAException
      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

      public byte[] decrypt(byte[] input) throws RSAException
      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

      public String encryptBase64(byte[] input) throws RSAException
      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

      public byte[] decryptBase64(String input) throws RSAException
      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

      public static KeyPair createKey() throws RSAException
      Erzeugt ein neues RSA-Schlüssel-Paar mit der Default-Schlüssellänge (siehe DEFAULT_KEY_LENGTH.
      Gibt zurück:
      das RSA-Schlüsselpaar
      Löst aus:
      RSAException - falls kein RSA-Schlüssel generiert werden kann
    • createKeyWithLength

      public static KeyPair createKeyWithLength(int length) throws RSAException
      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

      public static String encodeKey(Key key)
      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

      public String encodePublicKey() throws RSAException
      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

      public String encodePrivateKey() throws RSAException
      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

      public static PublicKey decodePublicKey(String key) throws RSAException
      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

      public static PrivateKey decodePrivateKey(String key) throws RSAException
      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