The java.security.spec package contains classes that define transparent representations for DSA and RSA public and private keys and for X.509 and PKCS#8 encodings of those keys. It also defines a transparent representation for DSA algorithm parameters. The classes in this package are used in conjunction with java.security.KeyFactory and java.security.AlgorithmParameters for converting opaque Key and AlgorithmParameters objects to and from transparent representations. Figure 21-1 shows the class hierarchy of this package.
This package is not frequently used. To make use of it, you must be somewhat familiar with the mathematics that underlies DSA and RSA public-key encryption and the encoding standards that specify how keys are encoded as byte streams.
AlgorithmParameterSpec | Java 1.2 | |
|
||
java.security.spec |
This interface defines no methods; it marks classes that define a transparent representation of cryptographic parameters. You can use an AlgorithmParameterSpec object to initialize an opaque java.security.AlgorithmParameters object.
public interface AlgorithmParameterSpec { | ||
} |
Implementations: DSAParameterSpec, RSAKeyGenParameterSpec, javax.crypto.spec.DHGenParameterSpec, javax.crypto.spec.DHParameterSpec, javax.crypto.spec.IvParameterSpec, javax.crypto.spec.PBEParameterSpec, javax.crypto.spec.RC2ParameterSpec, javax.crypto.spec.RC5ParameterSpec
Passed To: Too many methods to list.
Returned By: java.security.AlgorithmParameters.getParameterSpec(), java.security.AlgorithmParametersSpi.engineGetParameterSpec()
DSAParameterSpec | Java 1.2 | |
|
||
java.security.spec |
This class represents algorithm parameters used with DSA public-key cryptography.
public class DSAParameterSpec implements AlgorithmParameterSpecjava.security.interfaces.DSAParams { | ||
// | Public Constructors | |
public DSAParameterSpec (java.math.BigInteger p, java.math.BigInteger q, java.math.BigInteger g); | ||
// | Methods Implementing DSAParams | |
public java.math.BigInteger getG (); | ||
public java.math.BigInteger getP (); | ||
public java.math.BigInteger getQ (); | ||
} |
Hierarchy: Object-->DSAParameterSpec(AlgorithmParameterSpec,java.security.interfaces.DSAParams)
DSAPrivateKeySpec | Java 1.2 | |
|
||
java.security.spec |
This class is a transparent representation of a DSA private key.
public class DSAPrivateKeySpec implements KeySpec { | ||
// | Public Constructors | |
public DSAPrivateKeySpec (java.math.BigInteger x, java.math.BigInteger p, java.math.BigInteger q, java.math.BigInteger g); | ||
// | Public Instance Methods | |
public java.math.BigInteger getG (); | ||
public java.math.BigInteger getP (); | ||
public java.math.BigInteger getQ (); | ||
public java.math.BigInteger getX (); | ||
} |
Hierarchy: Object-->DSAPrivateKeySpec(KeySpec)
DSAPublicKeySpec | Java 1.2 | |
|
||
java.security.spec |
This class is a transparent representation of a DSA public key.
public class DSAPublicKeySpec implements KeySpec { | ||
// | Public Constructors | |
public DSAPublicKeySpec (java.math.BigInteger y, java.math.BigInteger p, java.math.BigInteger q, java.math.BigInteger g); | ||
// | Public Instance Methods | |
public java.math.BigInteger getG (); | ||
public java.math.BigInteger getP (); | ||
public java.math.BigInteger getQ (); | ||
public java.math.BigInteger getY (); | ||
} |
Hierarchy: Object-->DSAPublicKeySpec(KeySpec)
EncodedKeySpec | Java 1.2 | |
|
||
java.security.spec |
This abstract class represents a public or private key in an encoded format. It serves as the superclass for encoding-specific classes.
public abstract class EncodedKeySpec implements KeySpec { | ||
// | Public Constructors | |
public EncodedKeySpec (byte[ ] encodedKey); | ||
// | Public Instance Methods | |
public byte[ ] getEncoded (); | ||
public abstract String getFormat (); | ||
} |
Hierarchy: Object-->EncodedKeySpec(KeySpec)
Subclasses: PKCS8EncodedKeySpec, X509EncodedKeySpec
InvalidKeySpecException | Java 1.2 | |
|
||
java.security.spec | serializable checked |
Signals a problem with a KeySpec.
public class InvalidKeySpecException extends java.security.GeneralSecurityException { | ||
// | Public Constructors | |
public InvalidKeySpecException (); | ||
public InvalidKeySpecException (String msg); | ||
} |
Hierarchy: Object-->Throwable(Serializable)-->Exception-->java.security.GeneralSecurityException-->InvalidKeySpecException
Thrown By: java.security.KeyFactory.{generatePrivate(), generatePublic(), getKeySpec()}, java.security.KeyFactorySpi.{engineGeneratePrivate(), engineGeneratePublic(), engineGetKeySpec()}, javax.crypto.SecretKeyFactory.{generateSecret(), getKeySpec()}, javax.crypto.SecretKeyFactorySpi.{engineGenerateSecret(), engineGetKeySpec()}
InvalidParameterSpecException | Java 1.2 | |
|
||
java.security.spec | serializable checked |
Signals a problem with an AlgorithmParameterSpec.
public class InvalidParameterSpecException extends java.security.GeneralSecurityException { | ||
// | Public Constructors | |
public InvalidParameterSpecException (); | ||
public InvalidParameterSpecException (String msg); | ||
} |
Hierarchy: Object-->Throwable(Serializable)-->Exception-->java.security.GeneralSecurityException-->InvalidParameterSpecException
Thrown By: java.security.AlgorithmParameters.{getParameterSpec(), init()}, java.security.AlgorithmParametersSpi.{engineGetParameterSpec(), engineInit()}
KeySpec | Java 1.2 | |
|
||
java.security.spec |
This interface defines no methods; it marks classes that define a transparent representation of a cryptographic key. Use a java.security.KeyFactory to convert a KeySpec to and from an opaque java.security.Key.
public interface KeySpec { | ||
} |
Implementations: DSAPrivateKeySpec, DSAPublicKeySpec, EncodedKeySpec, RSAPrivateKeySpec, RSAPublicKeySpec, javax.crypto.spec.DESedeKeySpec, javax.crypto.spec.DESKeySpec, javax.crypto.spec.DHPrivateKeySpec, javax.crypto.spec.DHPublicKeySpec, javax.crypto.spec.PBEKeySpec, javax.crypto.spec.SecretKeySpec
Passed To: java.security.KeyFactory.{generatePrivate(), generatePublic()}, java.security.KeyFactorySpi.{engineGeneratePrivate(), engineGeneratePublic()}, javax.crypto.SecretKeyFactory.generateSecret(), javax.crypto.SecretKeyFactorySpi.engineGenerateSecret()
Returned By: java.security.KeyFactory.getKeySpec(), java.security.KeyFactorySpi.engineGetKeySpec(), javax.crypto.SecretKeyFactory.getKeySpec(), javax.crypto.SecretKeyFactorySpi.engineGetKeySpec()
PKCS8EncodedKeySpec | Java 1.2 | |
|
||
java.security.spec |
This class represents a private key, encoded according to the PKCS#8 standard.
public class PKCS8EncodedKeySpec extends EncodedKeySpec { | ||
// | Public Constructors | |
public PKCS8EncodedKeySpec (byte[ ] encodedKey); | ||
// | Public Methods Overriding EncodedKeySpec | |
public byte[ ] getEncoded (); | ||
public final String getFormat (); | ||
} |
Hierarchy: Object-->EncodedKeySpec(KeySpec)-->PKCS8EncodedKeySpec
RSAKeyGenParameterSpec | Java 1.3 Beta | |
|
||
java.security.spec |
This class represents parameters that generate public/private key pairs for RSA cryptography.
public class RSAKeyGenParameterSpec implements AlgorithmParameterSpec { | ||
// | Public Constructors | |
public RSAKeyGenParameterSpec (int keysize, java.math.BigInteger publicExponent); | ||
// | Public Constants | |
public static final java.math.BigInteger F0 ; | ||
public static final java.math.BigInteger F4 ; | ||
// | Public Instance Methods | |
public int getKeysize (); | ||
public java.math.BigInteger getPublicExponent (); | ||
} |
Hierarchy: Object-->RSAKeyGenParameterSpec(AlgorithmParameterSpec)
RSAPrivateCrtKeySpec | Java 1.2 | |
|
||
java.security.spec |
This class is a transparent representation of an RSA private key including, for convenience, the Chinese remainder theorem values associated with the key.
public class RSAPrivateCrtKeySpec extends RSAPrivateKeySpec { | ||
// | Public Constructors | |
public RSAPrivateCrtKeySpec (java.math.BigInteger modulus, java.math.BigInteger publicExponent, java.math.BigInteger privateExponent, java.math.BigInteger primeP, java.math.BigInteger primeQ, java.math.BigInteger primeExponentP, java.math.BigInteger primeExponentQ, java.math.BigInteger crtCoefficient); | ||
// | Property Accessor Methods (by property name) | |
public java.math.BigInteger getCrtCoefficient (); | ||
public java.math.BigInteger getPrimeExponentP (); | ||
public java.math.BigInteger getPrimeExponentQ (); | ||
public java.math.BigInteger getPrimeP (); | ||
public java.math.BigInteger getPrimeQ (); | ||
public java.math.BigInteger getPublicExponent (); | ||
} |
Hierarchy: Object-->RSAPrivateKeySpec(KeySpec)-->RSAPrivateCrtKeySpec
RSAPrivateKeySpec | Java 1.2 | |
|
||
java.security.spec |
This class is a transparent representation of an RSA private key.
public class RSAPrivateKeySpec implements KeySpec { | ||
// | Public Constructors | |
public RSAPrivateKeySpec (java.math.BigInteger modulus, java.math.BigInteger privateExponent); | ||
// | Public Instance Methods | |
public java.math.BigInteger getModulus (); | ||
public java.math.BigInteger getPrivateExponent (); | ||
} |
Hierarchy: Object-->RSAPrivateKeySpec(KeySpec)
Subclasses: RSAPrivateCrtKeySpec
RSAPublicKeySpec | Java 1.2 | |
|
||
java.security.spec |
This class is a transparent representation of an RSA public key.
public class RSAPublicKeySpec implements KeySpec { | ||
// | Public Constructors | |
public RSAPublicKeySpec (java.math.BigInteger modulus, java.math.BigInteger publicExponent); | ||
// | Public Instance Methods | |
public java.math.BigInteger getModulus (); | ||
public java.math.BigInteger getPublicExponent (); | ||
} |
Hierarchy: Object-->RSAPublicKeySpec(KeySpec)
X509EncodedKeySpec | Java 1.2 | |
|
||
java.security.spec |
This class represents a public or private key encoded according to the X.509 standard.
public class X509EncodedKeySpec extends EncodedKeySpec { | ||
// | Public Constructors | |
public X509EncodedKeySpec (byte[ ] encodedKey); | ||
// | Public Methods Overriding EncodedKeySpec | |
public byte[ ] getEncoded (); | ||
public final String getFormat (); | ||
} |
Hierarchy: Object-->EncodedKeySpec(KeySpec)-->X509EncodedKeySpec
Copyright © 2001 O'Reilly & Associates. All rights reserved.