Class CryptUtils

java.lang.Object
org.kapott.hbci.tools.CryptUtils

public class CryptUtils extends Object
Hilfsklasse zum Erzeugen und Pruefen von Signaturen und Hashes sowie zum Ver- und Entschluessen.
  • Field Details

  • Constructor Details

    • CryptUtils

      public CryptUtils()
  • Method Details

    • getSecurityProvider

      public static String getSecurityProvider()
      Liefert einen optional als Kernel-Parameter definierten Security-Provier.
      Returns:
      der Security-Provider oder NULL, wenn keiner definiert ist.
    • hash

      public static final String hash(String data, String alg) throws HBCI_Exception
      Hasht die Daten.
      Parameters:
      data - die zu hashenden Daten.
      alg - der zu verwendende Algorithmus.
      Returns:
      der Hash.
      Throws:
      HBCI_Exception
    • hash

      public static final byte[] hash(byte[] data, String alg) throws HBCI_Exception
      Hasht die Daten.
      Parameters:
      data - die zu hashenden Daten.
      alg - der zu verwendende Algorithmus.
      Returns:
      der Hash.
      Throws:
      HBCI_Exception
    • verifySignature

      public static final boolean verifySignature(byte[] data, byte[] signature, PublicKey key, String signAlg, String hashAlg) throws HBCI_Exception
      Prueft die Gueltigkeit der Signatur.
      Parameters:
      data - die zu pruefenden Daten.
      signature - die Signatur.
      key - der Public-Key zur Signatur.
      signAlg - der verwendete Signatur-Algorithmus.
      hashAlg - der verwendete Hash-Algorithmus.
      Returns:
      true, wenn die Signatur ok war.
      Throws:
      HBCI_Exception
    • sign

      public static final byte[] sign(byte[] data, PrivateKey key, String signAlg, String hashAlg) throws HBCI_Exception
      Signiert die Daten.
      Parameters:
      data - die zu hashenden Daten.
      key - der fuer die Signatur zu verwendende Private-Key.
      signAlg - der zu verwendende Signatur-Algorithmus.
      hashAlg - der zu verwendende Hash-Algorithmus.
      Returns:
      die Signatur.
      Throws:
      HBCI_Exception
    • getCryptDataSize

      public static int getCryptDataSize(RSAPublicKey key)
      Liefert die Anzahl der Bytes fuer den Schluessel.
      Parameters:
      key - der Schluessel.
      Returns:
      die Laenge in Bytes.
    • padLeft

      public static byte[] padLeft(byte[] buffer, RSAPublicKey key)
      Fuehrt ein Null-Padding links auf die Laenge des Schluessels durch.
      Parameters:
      buffer - der Buffer.
      key - der Schluessel.
      Returns:
      der ggf. angepasste Buffer.
    • padLeft

      public static byte[] padLeft(byte[] buffer, int size)
      Fuehrt ein Null-Padding links auf die angegebene Laenge durch.
      Parameters:
      buffer - der Buffer.
      size - die Laenge.
      Returns:
      der ggf. angepasste Buffer.