Class HdlSecurityProvider

  • Direct Known Subclasses:
    GenericProvider

    public abstract class HdlSecurityProvider
    extends java.lang.Object
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      java.security.KeyPair generateDHKeyPair​(int keySize)  
      java.security.KeyPair generateDHKeyPair​(java.math.BigInteger p, java.math.BigInteger g)  
      abstract byte[] generateSecretKey​(int keyAlg)
      Generate and encode a secret key for use with the given algorithm
      javax.crypto.Cipher getCipher​(int algorithm, byte[] secretKey, int direction)
      Deprecated.
      Use getCipher(int,byte[],int,byte[],int,int) in order to specify protocol version.
      abstract javax.crypto.Cipher getCipher​(int algorithm, byte[] secretKey, int direction, byte[] iv, int majorProtocolVersion, int minorProtocolVersion)
      Construct and return a Cipher object, initialized to either decrypt or encrypt using the given algorithm and secret key.
      byte[] getDESKeyFromDH​(javax.crypto.interfaces.DHPublicKey pub, javax.crypto.interfaces.DHPrivateKey priv)  
      static HdlSecurityProvider getInstance()  
      abstract int getIvSize​(int algorithm, int majorProtocolVersion, int minorProtocolVersion)
      Returns the length in bytes of the initialization vector used by the cipher generated by getCipher().
      byte[] getKeyFromDH​(javax.crypto.interfaces.DHPublicKey pub, javax.crypto.interfaces.DHPrivateKey priv, int algorithm)
      Using the given diffie-hellman key pair, generate a secret key with the given algorithm.
      • Methods inherited from class java.lang.Object

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

      • HdlSecurityProvider

        public HdlSecurityProvider()
    • Method Detail

      • getCipher

        @Deprecated
        public javax.crypto.Cipher getCipher​(int algorithm,
                                             byte[] secretKey,
                                             int direction)
                                      throws java.lang.Exception
        Deprecated.
        Use getCipher(int,byte[],int,byte[],int,int) in order to specify protocol version.
        Throws:
        java.lang.Exception
      • getCipher

        public abstract javax.crypto.Cipher getCipher​(int algorithm,
                                                      byte[] secretKey,
                                                      int direction,
                                                      byte[] iv,
                                                      int majorProtocolVersion,
                                                      int minorProtocolVersion)
                                               throws java.lang.Exception
        Construct and return a Cipher object, initialized to either decrypt or encrypt using the given algorithm and secret key. The direction parameter must be either Cipher.ENCRYPT_MODE or Cipher.DECRYPT_MODE. The algorithm parameter should be one of the HdlSecurityProvider.ENCRYPT_ALG_* constants. iv is the initialization vector, needed for decrypting with CBC.
        Throws:
        java.lang.Exception
      • getIvSize

        public abstract int getIvSize​(int algorithm,
                                      int majorProtocolVersion,
                                      int minorProtocolVersion)
        Returns the length in bytes of the initialization vector used by the cipher generated by getCipher(). Returns 0 if no initialization vector.
      • generateSecretKey

        public abstract byte[] generateSecretKey​(int keyAlg)
                                          throws java.lang.Exception
        Generate and encode a secret key for use with the given algorithm
        Throws:
        java.lang.Exception
      • generateDHKeyPair

        public java.security.KeyPair generateDHKeyPair​(int keySize)
                                                throws java.lang.Exception
        Throws:
        java.lang.Exception
      • generateDHKeyPair

        public java.security.KeyPair generateDHKeyPair​(java.math.BigInteger p,
                                                       java.math.BigInteger g)
                                                throws java.lang.Exception
        Throws:
        java.lang.Exception
      • getDESKeyFromDH

        public byte[] getDESKeyFromDH​(javax.crypto.interfaces.DHPublicKey pub,
                                      javax.crypto.interfaces.DHPrivateKey priv)
                               throws java.lang.Exception
        Throws:
        java.lang.Exception
      • getKeyFromDH

        public byte[] getKeyFromDH​(javax.crypto.interfaces.DHPublicKey pub,
                                   javax.crypto.interfaces.DHPrivateKey priv,
                                   int algorithm)
                            throws java.lang.Exception
        Using the given diffie-hellman key pair, generate a secret key with the given algorithm. The first four bytes of the secret key will identify the algorithm for the secret key (DES, AES, DESede)
        Throws:
        java.lang.Exception