Class EncryptionHandler
java.lang.Object
org.apache.kerby.kerberos.kerb.crypto.EncryptionHandler
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 -
Method Summary
Modifier and TypeMethodDescriptionstatic 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.EncryptedDataencrypt(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.static EncTypeHandlergetEncHandler(int eType) Get the encryption handler.static EncTypeHandlergetEncHandler(String eType) Get the encryption handler.static EncTypeHandlergetEncHandler(org.apache.kerby.kerberos.kerb.type.base.EncryptionType eType) Get the encryption handler.static org.apache.kerby.kerberos.kerb.type.base.EncryptionTypegetEncryptionType(String eType) Get the encryption type.static booleanisImplemented(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.EncryptionKeymakeSubkey(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.EncryptionKeyrandom2Key(org.apache.kerby.kerberos.kerb.type.base.EncryptionType eType) Random to key.static org.apache.kerby.kerberos.kerb.type.base.EncryptionKeyrandom2Key(org.apache.kerby.kerberos.kerb.type.base.EncryptionType eType, byte[] randomBytes) Random to key.static org.apache.kerby.kerberos.kerb.type.base.EncryptionKeystring2Key(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.EncryptionKeystring2Key(String principalName, String passPhrase, org.apache.kerby.kerberos.kerb.type.base.EncryptionType eType) String to key.
-
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 testkey- The encryption keyusage- 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 datakey- The encryption keyusage- 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 datakey- The encryption keyusage- 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 namepassPhrase- The pass phraseeType- 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 stringsalt- The salts2kparams- The paramseType- 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 typerandomBytes- 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
-