java.security

Class AlgorithmParameterGenerator


public class AlgorithmParameterGenerator
extends Object

AlgorithmParameterGenerator is used to generate algorithm parameters for specified algorithms.

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.

Since:
1.2
See Also:
AlgorithmParameters, AlgorithmParameterSpec

Constructor Summary

AlgorithmParameterGenerator(AlgorithmParameterGeneratorSpi paramGenSpi, Provider provider, String algorithm)
Constructs a new instance of AlgorithmParameterGenerator.

Method Summary

AlgorithmParameters
generateParameters()
String
getAlgorithm()
static AlgorithmParameterGenerator
getInstance(String algorithm)
Returns a new AlgorithmParameterGenerator instance which generates algorithm parameters for the specified algorithm.
static AlgorithmParameterGenerator
getInstance(String algorithm, String provider)
Returns a new AlgorithmParameterGenerator instance which generates algorithm parameters for the specified algorithm.
static AlgorithmParameterGenerator
getInstance(String algorithm, Provider provider)
Returns a new AlgorithmParameterGenerator instance which generates algorithm parameters for the specified algorithm.
Provider
getProvider()
void
init(int size)
Initializes this instance with the specified size.
void
init(int size, SecureRandom random)
Initializes this instance with the specified key-size and source of randomness.
void
init(AlgorithmParameterSpec genParamSpec)
Initializes this instance with the specified AlgorithmParameterSpec.
void
init(AlgorithmParameterSpec genParamSpec, SecureRandom random)
Initializes this instance with the specified AlgorithmParameterSpec and source of randomness.

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

AlgorithmParameterGenerator

protected AlgorithmParameterGenerator(AlgorithmParameterGeneratorSpi paramGenSpi,
                                      Provider provider,
                                      String algorithm)
Constructs a new instance of AlgorithmParameterGenerator.
Parameters:
paramGenSpi - the generator to use.
provider - the provider to use.
algorithm - the algorithm to use.

Method Details

generateParameters

public final AlgorithmParameters generateParameters()
Returns:
a new instance of AlgorithmParameters.

getAlgorithm

public final String getAlgorithm()
Returns:
the name of the algorithm.

getInstance

public static AlgorithmParameterGenerator getInstance(String algorithm)
            throws NoSuchAlgorithmException
Returns a new AlgorithmParameterGenerator instance which generates algorithm parameters for the specified algorithm.
Parameters:
algorithm - the name of algorithm to use.
Returns:
the new instance.
Throws:
NoSuchAlgorithmException - if algorithm is not implemented by any provider.
IllegalArgumentException - if algorithm is null or is an empty string.

getInstance

public static AlgorithmParameterGenerator getInstance(String algorithm,
                                                      String provider)
            throws NoSuchAlgorithmException,
                   NoSuchProviderException
Returns a new AlgorithmParameterGenerator instance which generates algorithm parameters for the specified algorithm.
Parameters:
algorithm - the name of algorithm to use.
provider - the name of the Provider to use.
Returns:
the new instance.
Throws:
NoSuchAlgorithmException - if the algorithm is not implemented by the named provider.
NoSuchProviderException - if the named provider was not found.
IllegalArgumentException - if either algorithm or provider is null or empty.

getInstance

public static AlgorithmParameterGenerator getInstance(String algorithm,
                                                      Provider provider)
            throws NoSuchAlgorithmException
Returns a new AlgorithmParameterGenerator instance which generates algorithm parameters for the specified algorithm.
Parameters:
algorithm - the name of algorithm to use.
provider - the Provider to use.
Returns:
the new instance.
Throws:
NoSuchAlgorithmException - if the algorithm is not implemented by Provider.
IllegalArgumentException - if either algorithm or provider is null, or if algorithm is an empty string.
Since:
1.4
See Also:
Provider

getProvider

public final Provider getProvider()
Returns:
the Provider of this generator.

init

public final void init(int size)
Initializes this instance with the specified size. Since no source of randomness is supplied, a default one will be used.
Parameters:
size - size (in bits) to use.

init

public final void init(int size,
                       SecureRandom random)
Initializes this instance with the specified key-size and source of randomness.
Parameters:
size - the size (in bits) to use.
random - the SecureRandom to use.

init

public final void init(AlgorithmParameterSpec genParamSpec)
            throws InvalidAlgorithmParameterException
Initializes this instance with the specified AlgorithmParameterSpec. Since no source of randomness is supplied, a default one will be used.
Parameters:
genParamSpec - the AlgorithmParameterSpec to use.
Throws:
InvalidAlgorithmParameterException - if genParamSpec is invalid.

init

public final void init(AlgorithmParameterSpec genParamSpec,
                       SecureRandom random)
            throws InvalidAlgorithmParameterException
Initializes this instance with the specified AlgorithmParameterSpec and source of randomness.
Parameters:
genParamSpec - the AlgorithmParameterSpec to use.
random - the SecureRandom to use.
Throws:
InvalidAlgorithmParameterException - if genParamSpec is invalid.

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.