java.security
Class AlgorithmParameterGenerator
The
AlgorithmParameterGenerator
class is used to generate a
set of parameters to be used with a certain algorithm. Parameter generators
are constructed using the
getInstance()
factory methods (static
methods that return instances of a given class).
The object that will generate the parameters can be initialized in two
different ways: in an algorithm-independent manner, or in an
algorithm-specific manner:
- The algorithm-independent approach uses the fact that all parameter
generators share the concept of a "size" and a source of
randomness. The measure of size is universally shared by all
algorithm parameters, though it is interpreted differently for different
algorithms. For example, in the case of parameters for the DSA
algorithm, "size" corresponds to the size of the prime modulus (in
bits). When using this approach, algorithm-specific parameter generation
values - if any - default to some standard values, unless they can be
derived from the specified size.
- The other approach initializes a parameter generator object using
algorithm-specific semantics, which are represented by a set of
algorithm-specific parameter generation values. To generate Diffie-Hellman
system parameters, for example, the parameter generation values usually
consist of the size of the prime modulus and the size of the random
exponent, both specified in number of bits.
In case the client does not explicitly initialize the
AlgorithmParameterGenerator
(via a call to an
init()
method), each provider must supply (and document) a default initialization.
For example, the
GNU provider uses a default modulus prime size of
1024
bits for the generation of
DSA parameters.
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
getAlgorithm
public final String getAlgorithm()
Returns the standard name of the algorithm this parameter generator is
associated with.
- the string name of the algorithm.
getInstance
public static AlgorithmParameterGenerator getInstance(String algorithm)
throws NoSuchAlgorithmException
Generates an AlgorithmParameterGenerator
object that
implements the specified digest algorithm. If the default provider package
provides an implementation of the requested digest algorithm, an instance
of AlgorithmParameterGenerator
containing that implementation
is returned. If the algorithm is not available in the default package,
other packages are searched.
algorithm
- the string name of the algorithm this parameter generator
is associated with.
- the new
AlgorithmParameterGenerator
object.
getInstance
public static AlgorithmParameterGenerator getInstance(String algorithm,
Provider provider)
throws NoSuchAlgorithmException
Generates an AlgorithmParameterGenerator object for the requested
algorithm, as supplied from the specified provider, if such a parameter
generator is available from the provider. Note: the provider
doesn't have to be registered.
algorithm
- the string name of the algorithm.provider
- the provider.
- the new AlgorithmParameterGenerator object.
getProvider
public final Provider getProvider()
Returns the provider of this algorithm parameter generator object.
- the provider of this algorithm parameter generator object.
init
public final void init(int size)
Initializes this parameter generator for a certain
size. To create
the parameters, the
SecureRandom
implementation of the
highest-priority installed provider is used as the source of randomness.
(If none of the installed providers supply an implementation of
SecureRandom
, a system-provided source of randomness is used.)
size
- the size (number of bits).
init
public final void init(int size,
SecureRandom random)
Initializes this parameter generator for a certain size and source of
randomness.
size
- the size (number of bits).random
- the source of randomness.
init
public final void init(AlgorithmParameterSpec genParamSpec)
throws InvalidAlgorithmParameterException
Initializes this parameter generator with a set of algorithm-specific
parameter generation values. To generate the parameters, the
SecureRandom
implementation of the highest-priority installed provider is
used as the source of randomness. (If none of the installed providers
supply an implementation of
SecureRandom
, a system-provided source
of randomness is used.)
genParamSpec
- the set of algorithm-specific parameter generation
values.
AlgorithmParameterGenerator.java --- Algorithm Parameter Generator
Copyright (C) 1999, 2003, 2004 Free Software Foundation, Inc.
This file is part of GNU Classpath.
GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.
Linking this library statically or dynamically with other modules is
making a combined work based on this library. Thus, the terms and
conditions of the GNU General Public License cover the whole
combination.
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent
modules, and to copy and distribute the resulting executable under
terms of your choice, provided that you also meet, for each linked
independent module, the terms and conditions of the license of that
module. An independent module is a module which is not derived from
or based on this library. If you modify this library, you may extend
this exception to your version of the library, but you are not
obligated to do so. If you do not wish to do so, delete this
exception statement from your version.