The javax.crypto.spec package contains classes that define transparent java.security.spec.KeySpec and java.security.spec.AlgorithmParameterSpec representations of secret keys, Diffie-Hellman public and private keys, and parameters used by various cryptographic algorithms. The classes in this package are used in conjunction with java.security.KeyFactory, javax.crypto.SecretKeyFactory and java.security.AlgorithmParameters for converting opaque Key, and AlgorithmParameters objects to and from transparent representations. Figure 28-1 shows the class hierarchy of this package. In order to make good use of this package, you must be familiar with the specifications of the various cryptographic algorithms it supports and the basic mathematics that underlie those algorithms.
DESedeKeySpec | JCE 1.2 | |
|
||
javax.crypto.spec |
This class is a transparent representation of a DESede (triple-DES) key. The key is 24 bytes long.
public class DESedeKeySpec implements java.security.spec.KeySpec { | ||
// | Public Constructors | |
public DESedeKeySpec (byte[ ] key) throws java.security.InvalidKeyException; | ||
public DESedeKeySpec (byte[ ] key, int offset) throws java.security.InvalidKeyException; | ||
// | Public Constants | |
public static final int DES_EDE_KEY_LEN ; | =24 | |
// | Public Class Methods | |
public static boolean isParityAdjusted (byte[ ] key, int offset) throws java.security.InvalidKeyException; | ||
// | Public Instance Methods | |
public byte[ ] getKey (); | ||
} |
Hierarchy: Object-->DESedeKeySpec(java.security.spec.KeySpec)
DESKeySpec | JCE 1.2 | |
|
||
javax.crypto.spec |
This class is a transparent representation of a DES key. The key is eight bytes long.
public class DESKeySpec implements java.security.spec.KeySpec { | ||
// | Public Constructors | |
public DESKeySpec (byte[ ] key) throws java.security.InvalidKeyException; | ||
public DESKeySpec (byte[ ] key, int offset) throws java.security.InvalidKeyException; | ||
// | Public Constants | |
public static final int DES_KEY_LEN ; | =8 | |
// | Public Class Methods | |
public static boolean isParityAdjusted (byte[ ] key, int offset) throws java.security.InvalidKeyException; | ||
public static boolean isWeak (byte[ ] key, int offset) throws java.security.InvalidKeyException; | ||
// | Public Instance Methods | |
public byte[ ] getKey (); | ||
} |
Hierarchy: Object-->DESKeySpec(java.security.spec.KeySpec)
DHGenParameterSpec | JCE 1.2 | |
|
||
javax.crypto.spec |
This class is a transparent representation of the values needed to generate a set of Diffie-Hellman parameters (see DHParameterSpec). An instance of this class can be passed to the init() method of a java.security.AlgorithmParameterGenerator that computes Diffie-Hellman parameters.
public class DHGenParameterSpec implements java.security.spec.AlgorithmParameterSpec { | ||
// | Public Constructors | |
public DHGenParameterSpec (int primeSize, int exponentSize); | ||
// | Public Instance Methods | |
public int getExponentSize (); | ||
public int getPrimeSize (); | ||
} |
Hierarchy: Object-->DHGenParameterSpec(java.security.spec.AlgorithmParameterSpec)
DHParameterSpec | JCE 1.2 | |
|
||
javax.crypto.spec |
This class is a transparent representation of the set of parameters required by the Diffie-Hellman key-agreement algorithm. All parties to the key agreement must share these parameters and use them to generate a Diffie-Hellman public/private key pair.
public class DHParameterSpec implements java.security.spec.AlgorithmParameterSpec { | ||
// | Public Constructors | |
public DHParameterSpec (java.math.BigInteger p, java.math.BigInteger g); | ||
public DHParameterSpec (java.math.BigInteger p, java.math.BigInteger g, int l); | ||
// | Public Instance Methods | |
public java.math.BigInteger getG (); | ||
public int getL (); | ||
public java.math.BigInteger getP (); | ||
} |
Hierarchy: Object-->DHParameterSpec(java.security.spec.AlgorithmParameterSpec)
Returned By: javax.crypto.interfaces.DHKey.getParams()
DHPrivateKeySpec | JCE 1.2 | |
|
||
javax.crypto.spec |
This java.security.spec.KeySpec is a transparent representation of a Diffie-Hellman private key.
public class DHPrivateKeySpec implements java.security.spec.KeySpec { | ||
// | Public Constructors | |
public DHPrivateKeySpec (java.math.BigInteger x, java.math.BigInteger p, java.math.BigInteger g); | ||
// | Public Instance Methods | |
public java.math.BigInteger getG (); | ||
public java.math.BigInteger getP (); | ||
public java.math.BigInteger getX (); | ||
} |
Hierarchy: Object-->DHPrivateKeySpec(java.security.spec.KeySpec)
DHPublicKeySpec | JCE 1.2 | |
|
||
javax.crypto.spec |
This java.security.spec.KeySpec is a transparent representation of a Diffie-Hellman public key.
public class DHPublicKeySpec implements java.security.spec.KeySpec { | ||
// | Public Constructors | |
public DHPublicKeySpec (java.math.BigInteger y, java.math.BigInteger p, java.math.BigInteger g); | ||
// | Public Instance Methods | |
public java.math.BigInteger getG (); | ||
public java.math.BigInteger getP (); | ||
public java.math.BigInteger getY (); | ||
} |
Hierarchy: Object-->DHPublicKeySpec(java.security.spec.KeySpec)
IvParameterSpec | JCE 1.2 | |
|
||
javax.crypto.spec |
This java.security.spec.AlgorithmParameterSpec is a transparent representation of an initialization vector or IV. An IV is required for block ciphers used in feedback mode, such as DES in CBC mode.
public class IvParameterSpec implements java.security.spec.AlgorithmParameterSpec { | ||
// | Public Constructors | |
public IvParameterSpec (byte[ ] iv); | ||
public IvParameterSpec (byte[ ] iv, int offset, int len); | ||
// | Public Instance Methods | |
public byte[ ] getIV (); | ||
} |
Hierarchy: Object-->IvParameterSpec(java.security.spec.AlgorithmParameterSpec)
PBEKeySpec | JCE 1.2 | |
|
||
javax.crypto.spec |
This class is a transparent representation of a password used in password-based encryption (PBE). The password is stored as a char array rather than as a String, so that the characters of the password can be overwritten when they are no longer needed (for increased security).
public class PBEKeySpec implements java.security.spec.KeySpec { | ||
// | Public Constructors | |
public PBEKeySpec (char[ ] password); | ||
// | Public Instance Methods | |
public final char[ ] getPassword (); | ||
} |
Hierarchy: Object-->PBEKeySpec(java.security.spec.KeySpec)
PBEParameterSpec | JCE 1.2 | |
|
||
javax.crypto.spec |
This class is a transparent representation of the parameters used with the password-based encryption algorithm defined by PKCS#5.
public class PBEParameterSpec implements java.security.spec.AlgorithmParameterSpec { | ||
// | Public Constructors | |
public PBEParameterSpec (byte[ ] salt, int iterationCount); | ||
// | Public Instance Methods | |
public int getIterationCount (); | ||
public byte[ ] getSalt (); | ||
} |
Hierarchy: Object-->PBEParameterSpec(java.security.spec.AlgorithmParameterSpec)
RC2ParameterSpec | JCE 1.2 | |
|
||
javax.crypto.spec |
This class is a transparent representation of the parameters used by the RC2 encryption algorithm. An object of this class initializes a Cipher object that implements RC2. Note that the "SunJCE" provider supplied by Sun does not implement RC2.
public class RC2ParameterSpec implements java.security.spec.AlgorithmParameterSpec { | ||
// | Public Constructors | |
public RC2ParameterSpec (int effectiveKeyBits); | ||
public RC2ParameterSpec (int effectiveKeyBits, byte[ ] iv); | ||
public RC2ParameterSpec (int effectiveKeyBits, byte[ ] iv, int offset); | ||
// | Public Instance Methods | |
public int getEffectiveKeyBits (); | ||
public byte[ ] getIV (); | ||
} |
Hierarchy: Object-->RC2ParameterSpec(java.security.spec.AlgorithmParameterSpec)
RC5ParameterSpec | JCE 1.2 | |
|
||
javax.crypto.spec |
This class is a transparent representation of the parameters used by the RC5 encryption algorithm. An object of this class initializes a Cipher object that implements RC5. Note that the "SunJCE" provider supplied by Sun does not implement RC5.
public class RC5ParameterSpec implements java.security.spec.AlgorithmParameterSpec { | ||
// | Public Constructors | |
public RC5ParameterSpec (int version, int rounds, int wordSize); | ||
public RC5ParameterSpec (int version, int rounds, int wordSize, byte[ ] iv); | ||
public RC5ParameterSpec (int version, int rounds, int wordSize, byte[ ] iv, int offset); | ||
// | Public Instance Methods | |
public byte[ ] getIV (); | ||
public int getRounds (); | ||
public int getVersion (); | ||
public int getWordSize (); | ||
} |
Hierarchy: Object-->RC5ParameterSpec(java.security.spec.AlgorithmParameterSpec)
SecretKeySpec | JCE 1.2 | |
|
||
javax.crypto.spec | serializable |
This class is a transparent and algorithm-independent representation of a secret key. This class is useful only for encryption algorithms (such as DES and DESede) whose secret keys can be represented as arbitrary byte arrays and do not require auxiliary parameters. Note that SecretKeySpec implements the javax.crypto.SecretKey interface directly, so no algorithm-specific javax.crypto.SecretKeyFactory object is required.
public class SecretKeySpec implements java.security.spec.KeySpecjavax.crypto.SecretKey { | ||
// | Public Constructors | |
public SecretKeySpec (byte[ ] key, String algorithm); | ||
public SecretKeySpec (byte[ ] key, int offset, int len, String algorithm); | ||
// | Methods Implementing Key | |
public String getAlgorithm (); | ||
public byte[ ] getEncoded (); | ||
public String getFormat (); | ||
// | Public Methods Overriding Object | |
public boolean equals (Object obj); | ||
public int hashCode (); | ||
} |
Hierarchy: Object-->SecretKeySpec(java.security.spec.KeySpec,javax.crypto.SecretKey(java.security.Key(Serializable)))
Copyright © 2001 O'Reilly & Associates. All rights reserved.