AlgorithmParameterspublic class AlgorithmParameters extends Object This class is used as an opaque representation of cryptographic parameters.
An AlgorithmParameters object for managing the parameters
for a particular algorithm can be obtained by
calling one of the getInstance factory methods
(static methods that return instances of a given class).
There are two ways to request such an implementation: by
specifying either just an algorithm name, or both an algorithm name
and a package provider.
- If just an algorithm name is specified, the system will
determine if there is an AlgorithmParameters
implementation for the algorithm requested
available in the environment, and if there is more than one, if
there is a preferred one.
- If both an algorithm name and a package provider are specified,
the system will determine if there is an implementation
in the package requested, and throw an exception if there
is not.
Once an AlgorithmParameters object is returned, it must be
initialized via a call to init , using an appropriate parameter
specification or parameter encoding.
A transparent parameter specification is obtained from an
AlgorithmParameters object via a call to
getParameterSpec , and a byte encoding of the parameters is
obtained via a call to getEncoded . |
Fields Summary |
---|
private Provider | provider | private AlgorithmParametersSpi | paramSpi | private String | algorithm | private boolean | initialized |
Constructors Summary |
---|
protected AlgorithmParameters(AlgorithmParametersSpi paramSpi, Provider provider, String algorithm)Creates an AlgorithmParameters object.
this.paramSpi = paramSpi;
this.provider = provider;
this.algorithm = algorithm;
|
Methods Summary |
---|
public final java.lang.String | getAlgorithm()Returns the name of the algorithm associated with this parameter object.
return this.algorithm;
| public final byte[] | getEncoded()Returns the parameters in their primary encoding format.
The primary encoding format for parameters is ASN.1, if an ASN.1
specification for this type of parameters exists.
if (this.initialized == false) {
throw new IOException("not initialized");
}
return paramSpi.engineGetEncoded();
| public final byte[] | getEncoded(java.lang.String format)Returns the parameters encoded in the specified scheme.
If format is null, the
primary encoding format for parameters is used. The primary encoding
format is ASN.1, if an ASN.1 specification for these parameters
exists.
if (this.initialized == false) {
throw new IOException("not initialized");
}
return paramSpi.engineGetEncoded(format);
| public static java.security.AlgorithmParameters | getInstance(java.lang.String algorithm)Generates a parameter object for the specified algorithm.
If the default provider package provides an implementation of the
requested algorithm, an instance of AlgorithmParameters containing that
implementation is returned.
If the algorithm is not available in the default
package, other packages are searched.
The returned parameter object must be initialized via a call to
init , using an appropriate parameter specification or
parameter encoding.
try {
Object[] objs = Security.getImpl(algorithm, "AlgorithmParameters",
(String)null);
return new AlgorithmParameters((AlgorithmParametersSpi)objs[0],
(Provider)objs[1],
algorithm);
} catch(NoSuchProviderException e) {
throw new NoSuchAlgorithmException(algorithm + " not found");
}
| public static java.security.AlgorithmParameters | getInstance(java.lang.String algorithm, java.lang.String provider)Generates a parameter object for the specified algorithm, as supplied
by the specified provider, if such an algorithm is available from the
provider.
The returned parameter object must be initialized via a call to
init , using an appropriate parameter specification or
parameter encoding.
if (provider == null || provider.length() == 0)
throw new IllegalArgumentException("missing provider");
Object[] objs = Security.getImpl(algorithm, "AlgorithmParameters",
provider);
return new AlgorithmParameters((AlgorithmParametersSpi)objs[0],
(Provider)objs[1],
algorithm);
| public static java.security.AlgorithmParameters | getInstance(java.lang.String algorithm, java.security.Provider provider)Generates a parameter object for the specified algorithm, as supplied
by the specified provider, if such an algorithm is available from the
provider. Note: the provider doesn't have to be registered.
The returned parameter object must be initialized via a call to
init , using an appropriate parameter specification or
parameter encoding.
if (provider == null)
throw new IllegalArgumentException("missing provider");
Object[] objs = Security.getImpl(algorithm, "AlgorithmParameters",
provider);
return new AlgorithmParameters((AlgorithmParametersSpi)objs[0],
(Provider)objs[1],
algorithm);
| public final T | getParameterSpec(java.lang.Class paramSpec)Returns a (transparent) specification of this parameter object.
paramSpec identifies the specification class in which
the parameters should be returned. It could, for example, be
DSAParameterSpec.class , to indicate that the
parameters should be returned in an instance of the
DSAParameterSpec class.
if (this.initialized == false) {
throw new InvalidParameterSpecException("not initialized");
}
return paramSpi.engineGetParameterSpec(paramSpec);
| public final java.security.Provider | getProvider()Returns the provider of this parameter object.
return this.provider;
| public final void | init(java.security.spec.AlgorithmParameterSpec paramSpec)Initializes this parameter object using the parameters
specified in paramSpec .
if (this.initialized)
throw new InvalidParameterSpecException("already initialized");
paramSpi.engineInit(paramSpec);
this.initialized = true;
| public final void | init(byte[] params)Imports the specified parameters and decodes them according to the
primary decoding format for parameters. The primary decoding
format for parameters is ASN.1, if an ASN.1 specification for this type
of parameters exists.
if (this.initialized)
throw new IOException("already initialized");
paramSpi.engineInit(params);
this.initialized = true;
| public final void | init(byte[] params, java.lang.String format)Imports the parameters from params and decodes them
according to the specified decoding scheme.
If format is null, the
primary decoding format for parameters is used. The primary decoding
format is ASN.1, if an ASN.1 specification for these parameters
exists.
if (this.initialized)
throw new IOException("already initialized");
paramSpi.engineInit(params, format);
this.initialized = true;
| public final java.lang.String | toString()Returns a formatted string describing the parameters.
if (this.initialized == false) {
return null;
}
return paramSpi.engineToString();
|
|