Class CryptUtils


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

      Fields 
      Modifier and Type Field Description
      static java.lang.String CRYPT_ALG_AES
      Verschluesselungsalgorithmus AES.
      static java.lang.String CRYPT_ALG_AES_CBC
      Verschluesselungsalgorithmus AES mit CBC-Padding.
      static java.lang.String HASH_ALG_RIPE_MD160
      Hash-Algorithmus RIPEMD160.
      static java.lang.String HASH_ALG_SHA1
      Hash-Algorithmus SHA1.
      static java.lang.String HASH_ALG_SHA256
      Hash-Algorithmus SHA-256.
      static java.lang.String SIGN_ALG_RSA
      Signatur-Alorithmus RSASSA-PSS (PKCS1)
    • Constructor Summary

      Constructors 
      Constructor Description
      CryptUtils()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static byte[] hash​(byte[] data, java.lang.String alg)
      Hasht die Daten.
      static java.lang.String hash​(java.lang.String data, java.lang.String alg)
      Hasht die Daten.
      static byte[] padLeft​(byte[] buffer, java.security.interfaces.RSAPublicKey key)
      Fuehrt ein Null-Padding links auf die angegebene Laenge durch.
      static byte[] sign​(byte[] data, java.security.PrivateKey key, java.lang.String signAlg, java.lang.String hashAlg)
      Signiert die Daten.
      static boolean verifySignature​(byte[] data, byte[] signature, java.security.PublicKey key, java.lang.String signAlg, java.lang.String hashAlg)
      Prueft die Gueltigkeit der Signatur.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • HASH_ALG_RIPE_MD160

        public static final java.lang.String HASH_ALG_RIPE_MD160
        Hash-Algorithmus RIPEMD160.
        See Also:
        Constant Field Values
      • HASH_ALG_SHA256

        public static final java.lang.String HASH_ALG_SHA256
        Hash-Algorithmus SHA-256.
        See Also:
        Constant Field Values
      • HASH_ALG_SHA1

        public static final java.lang.String HASH_ALG_SHA1
        Hash-Algorithmus SHA1.
        See Also:
        Constant Field Values
      • SIGN_ALG_RSA

        public static final java.lang.String SIGN_ALG_RSA
        Signatur-Alorithmus RSASSA-PSS (PKCS1)
        See Also:
        Constant Field Values
      • CRYPT_ALG_AES

        public static final java.lang.String CRYPT_ALG_AES
        Verschluesselungsalgorithmus AES.
        See Also:
        Constant Field Values
      • CRYPT_ALG_AES_CBC

        public static final java.lang.String CRYPT_ALG_AES_CBC
        Verschluesselungsalgorithmus AES mit CBC-Padding.
        See Also:
        Constant Field Values
    • Constructor Detail

      • CryptUtils

        public CryptUtils()
    • Method Detail

      • hash

        public static final java.lang.String hash​(java.lang.String data,
                                                  java.lang.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,
                                        java.lang.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,
                                                    java.security.PublicKey key,
                                                    java.lang.String signAlg,
                                                    java.lang.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,
                                        java.security.PrivateKey key,
                                        java.lang.String signAlg,
                                        java.lang.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
      • padLeft

        public static byte[] padLeft​(byte[] buffer,
                                     java.security.interfaces.RSAPublicKey key)
        Fuehrt ein Null-Padding links auf die angegebene Laenge durch.
        Parameters:
        buffer - der Buffer.
        key - der Key.
        Returns:
        der ggf. angepasste Buffer.