Class EncryptionHandler

java.lang.Object
org.apache.kerby.kerberos.kerb.crypto.EncryptionHandler

public class EncryptionHandler extends Object
Encryption handler as the highest level API for encryption stuffs defined in Kerberos RFC3961. It supports all the encryption types. New encryption type should be added updating this.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static byte[]
    decrypt(byte[] data, org.apache.kerby.kerberos.kerb.type.base.EncryptionKey key, org.apache.kerby.kerberos.kerb.type.base.KeyUsage usage)
    Decrypt with the encryption key and key usage.
    static byte[]
    decrypt(org.apache.kerby.kerberos.kerb.type.base.EncryptedData data, org.apache.kerby.kerberos.kerb.type.base.EncryptionKey key, org.apache.kerby.kerberos.kerb.type.base.KeyUsage usage)
    Decrypt with the encryption key and key usage.
    static org.apache.kerby.kerberos.kerb.type.base.EncryptedData
    encrypt(byte[] plainText, org.apache.kerby.kerberos.kerb.type.base.EncryptionKey key, org.apache.kerby.kerberos.kerb.type.base.KeyUsage usage)
    Encrypt with the encryption key and key usage.
    getEncHandler(int eType)
    Get the encryption handler.
    Get the encryption handler.
    getEncHandler(org.apache.kerby.kerberos.kerb.type.base.EncryptionType eType)
    Get the encryption handler.
    static org.apache.kerby.kerberos.kerb.type.base.EncryptionType
    Get the encryption type.
    static boolean
    isImplemented(org.apache.kerby.kerberos.kerb.type.base.EncryptionType eType)
    Return true if the the encryption handler is implemented.
    static org.apache.kerby.kerberos.kerb.type.base.EncryptionKey
    makeSubkey(org.apache.kerby.kerberos.kerb.type.base.EncryptionKey encKey)
    Generate a secure and random key seeded with an existing encryption key.
    static org.apache.kerby.kerberos.kerb.type.base.EncryptionKey
    random2Key(org.apache.kerby.kerberos.kerb.type.base.EncryptionType eType)
    Random to key.
    static org.apache.kerby.kerberos.kerb.type.base.EncryptionKey
    random2Key(org.apache.kerby.kerberos.kerb.type.base.EncryptionType eType, byte[] randomBytes)
    Random to key.
    static org.apache.kerby.kerberos.kerb.type.base.EncryptionKey
    string2Key(String string, String salt, byte[] s2kparams, org.apache.kerby.kerberos.kerb.type.base.EncryptionType eType)
    String to key.
    static org.apache.kerby.kerberos.kerb.type.base.EncryptionKey
    string2Key(String principalName, String passPhrase, org.apache.kerby.kerberos.kerb.type.base.EncryptionType eType)
    String to key.

    Methods inherited from class java.lang.Object

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

    • EncryptionHandler

      public EncryptionHandler()
  • Method Details

    • getEncryptionType

      public static org.apache.kerby.kerberos.kerb.type.base.EncryptionType getEncryptionType(String eType) throws org.apache.kerby.kerberos.kerb.KrbException
      Get the encryption type.
      Parameters:
      eType - The encryption type string.
      Returns:
      The EncryptionType
      Throws:
      org.apache.kerby.kerberos.kerb.KrbException - e
    • getEncHandler

      public static EncTypeHandler getEncHandler(String eType) throws org.apache.kerby.kerberos.kerb.KrbException
      Get the encryption handler.
      Parameters:
      eType - The encryption type string
      Returns:
      The EncTypeHandler
      Throws:
      org.apache.kerby.kerberos.kerb.KrbException - e
    • getEncHandler

      public static EncTypeHandler getEncHandler(int eType) throws org.apache.kerby.kerberos.kerb.KrbException
      Get the encryption handler.
      Parameters:
      eType - The encryption type int
      Returns:
      The EncTypeHandler
      Throws:
      org.apache.kerby.kerberos.kerb.KrbException - e
    • getEncHandler

      public static EncTypeHandler getEncHandler(org.apache.kerby.kerberos.kerb.type.base.EncryptionType eType) throws org.apache.kerby.kerberos.kerb.KrbException
      Get the encryption handler.
      Parameters:
      eType - The encryption type
      Returns:
      The EncTypeHandler
      Throws:
      org.apache.kerby.kerberos.kerb.KrbException - e
    • encrypt

      public static org.apache.kerby.kerberos.kerb.type.base.EncryptedData encrypt(byte[] plainText, org.apache.kerby.kerberos.kerb.type.base.EncryptionKey key, org.apache.kerby.kerberos.kerb.type.base.KeyUsage usage) throws org.apache.kerby.kerberos.kerb.KrbException
      Encrypt with the encryption key and key usage.
      Parameters:
      plainText - The plain test
      key - The encryption key
      usage - The key usage
      Returns:
      The encrypted data
      Throws:
      org.apache.kerby.kerberos.kerb.KrbException - e
    • decrypt

      public static byte[] decrypt(byte[] data, org.apache.kerby.kerberos.kerb.type.base.EncryptionKey key, org.apache.kerby.kerberos.kerb.type.base.KeyUsage usage) throws org.apache.kerby.kerberos.kerb.KrbException
      Decrypt with the encryption key and key usage.
      Parameters:
      data - The encrypted data
      key - The encryption key
      usage - The key usage
      Returns:
      The decrypted data
      Throws:
      org.apache.kerby.kerberos.kerb.KrbException - e
    • decrypt

      public static byte[] decrypt(org.apache.kerby.kerberos.kerb.type.base.EncryptedData data, org.apache.kerby.kerberos.kerb.type.base.EncryptionKey key, org.apache.kerby.kerberos.kerb.type.base.KeyUsage usage) throws org.apache.kerby.kerberos.kerb.KrbException
      Decrypt with the encryption key and key usage.
      Parameters:
      data - The encrypted data
      key - The encryption key
      usage - The key usage
      Returns:
      The decrypted data
      Throws:
      org.apache.kerby.kerberos.kerb.KrbException - e
    • isImplemented

      public static boolean isImplemented(org.apache.kerby.kerberos.kerb.type.base.EncryptionType eType)
      Return true if the the encryption handler is implemented.
      Parameters:
      eType - The encryption type
      Returns:
      true if the encryption handler is implemented
    • string2Key

      public static org.apache.kerby.kerberos.kerb.type.base.EncryptionKey string2Key(String principalName, String passPhrase, org.apache.kerby.kerberos.kerb.type.base.EncryptionType eType) throws org.apache.kerby.kerberos.kerb.KrbException
      String to key.
      Parameters:
      principalName - The principal name
      passPhrase - The pass phrase
      eType - The encryption type
      Returns:
      The encryption key
      Throws:
      org.apache.kerby.kerberos.kerb.KrbException - e
    • string2Key

      public static org.apache.kerby.kerberos.kerb.type.base.EncryptionKey string2Key(String string, String salt, byte[] s2kparams, org.apache.kerby.kerberos.kerb.type.base.EncryptionType eType) throws org.apache.kerby.kerberos.kerb.KrbException
      String to key.
      Parameters:
      string - The string
      salt - The salt
      s2kparams - The params
      eType - The encryption type
      Returns:
      The encryption key
      Throws:
      org.apache.kerby.kerberos.kerb.KrbException - e
    • random2Key

      public static org.apache.kerby.kerberos.kerb.type.base.EncryptionKey random2Key(org.apache.kerby.kerberos.kerb.type.base.EncryptionType eType) throws org.apache.kerby.kerberos.kerb.KrbException
      Random to key.
      Parameters:
      eType - The encryption type
      Returns:
      The encryption key
      Throws:
      org.apache.kerby.kerberos.kerb.KrbException - e
    • random2Key

      public static org.apache.kerby.kerberos.kerb.type.base.EncryptionKey random2Key(org.apache.kerby.kerberos.kerb.type.base.EncryptionType eType, byte[] randomBytes) throws org.apache.kerby.kerberos.kerb.KrbException
      Random to key.
      Parameters:
      eType - The encryption type
      randomBytes - The random bytes
      Returns:
      The encryption key
      Throws:
      org.apache.kerby.kerberos.kerb.KrbException - e
    • makeSubkey

      public static org.apache.kerby.kerberos.kerb.type.base.EncryptionKey makeSubkey(org.apache.kerby.kerberos.kerb.type.base.EncryptionKey encKey)
      Generate a secure and random key seeded with an existing encryption key.
      Parameters:
      encKey - The encryption key
      Returns:
      encryption key