Class CryptUtils


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

      • CryptUtils

        public CryptUtils()
    • Method Detail

      • 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.