public class SymmetricKeyGenerator
extends java.lang.Object
Note: DES and Triple-DES (DES-EDE) keys are generated with odd parity. Parity may also be set and tested using the methods CryptoUtils.setKeyParity(oracle.security.crypto.core.SymmetricKey, int) and CryptoUtils.checkKeyParity(oracle.security.crypto.core.SymmetricKey, int).
| Modifier and Type | Field and Description |
|---|---|
protected static int |
AES128_DEFAULT_LENGTH
Default key length for AES128 (16 bytes).
|
protected static int |
AES192_DEFAULT_LENGTH
Default key length for AES192 (24 bytes).
|
protected static int |
AES256_DEFAULT_LENGTH
Default key length for AES256 (32 bytes).
|
protected AlgorithmIdentifier |
algID |
protected static int |
ARCFOUR_DEFAULT_LENGTH
Default key length for ARCFOUR (16 bytes).
|
protected static int |
BLOWFISH_DEFAULT_LENGTH
Default key length for BLOWFISH (56 bytes).
|
protected static int |
DES_DEFAULT_LENGTH
Default key length for DES (8 bytes).
|
protected static int |
DES_EDE3_DEFAULT_LENGTH
Default key length for DES_EDE3 (24 bytes).
|
protected static int |
RC2_DEFAULT_LENGTH
Default key length for RC2 (16 bytes).
|
| Constructor and Description |
|---|
SymmetricKeyGenerator()
Empty constructor.
|
| Modifier and Type | Method and Description |
|---|---|
SymmetricKey |
generateKey()
Generate a new random symmetric key using the default
RandomBitsSource and the length set by the algorithm identifier parameters or the default for the algorithm. |
SymmetricKey |
generateKey(int length)
Generate a new random symmetric key using the default
RandomBitsSource and the given length. |
SymmetricKey |
generateKey(RandomBitsSource rbs)
Generate a new random symmetric key of the length set by the algorithm identifier parameters, or the default for the algorithm.
|
SymmetricKey |
generateKey(RandomBitsSource rbs, int length)
Generate a new random symmetric key using the given
RandomBitsSource and length. |
AlgorithmIdentifier |
getAlgID()
Returns the AlgorithmIdentifier of this SymmetricKeyGenerator.
|
static SymmetricKeyGenerator |
getInstance(AlgorithmIdentifier algID)
Create a new
SymmetricKeyGenerator for the given algorithm. |
void |
setAlgID(AlgorithmIdentifier algID)
Set the algorithm identifier for the symmetric key algorithm.
|
protected static final int AES128_DEFAULT_LENGTH
protected static final int AES192_DEFAULT_LENGTH
protected static final int AES256_DEFAULT_LENGTH
protected static final int BLOWFISH_DEFAULT_LENGTH
protected static final int DES_DEFAULT_LENGTH
protected static final int DES_EDE3_DEFAULT_LENGTH
protected static final int ARCFOUR_DEFAULT_LENGTH
protected static final int RC2_DEFAULT_LENGTH
protected AlgorithmIdentifier algID
public static SymmetricKeyGenerator getInstance(AlgorithmIdentifier algID) throws java.lang.IllegalArgumentException
SymmetricKeyGenerator for the given algorithm.java.lang.IllegalArgumentExceptionpublic void setAlgID(AlgorithmIdentifier algID) throws AlgorithmIdentifierException
AlgorithmIdentifierExceptionAlgorithmIdentifier, CBCAlgorithmIdentifier, RC2AlgorithmIdentifierpublic AlgorithmIdentifier getAlgID()
public SymmetricKey generateKey(RandomBitsSource rbs, int length)
RandomBitsSource and length.rbs - The source of randomness used to generate the key material.length - The length, in bytes, of the key to be generated.public SymmetricKey generateKey(RandomBitsSource rbs)
rbs - The source of randomness used to generate the key material.public SymmetricKey generateKey(int length)
RandomBitsSource and the given length.length - The length, in bytes, of the key to be generated.public SymmetricKey generateKey()
RandomBitsSource and the length set by the algorithm identifier parameters or the default for the algorithm.