public abstract class AlgorithmParameterGeneratorSpi extends Object
AlgorithmParameterGenerator
class, which
is used to generate a set of parameters to be used with a certain algorithm.
All the abstract methods in this class must be implemented by each cryptographic service provider who wishes to supply the implementation of a parameter generator for a particular algorithm.
In case the client does not explicitly initialize the
AlgorithmParameterGenerator (via a call to an engineInit
method), each provider must supply (and document) a default initialization.
For example, the Sun provider uses a default modulus prime size of 1024
bits for the generation of DSA parameters.
AlgorithmParameterGenerator
,
AlgorithmParameters
,
AlgorithmParameterSpec
Constructor and Description |
---|
AlgorithmParameterGeneratorSpi() |
Modifier and Type | Method and Description |
---|---|
protected abstract AlgorithmParameters |
engineGenerateParameters()
Generates the parameters.
|
protected abstract void |
engineInit(AlgorithmParameterSpec genParamSpec,
SecureRandom random)
Initializes this parameter generator with a set of
algorithm-specific parameter generation values.
|
protected abstract void |
engineInit(int size,
SecureRandom random)
Initializes this parameter generator for a certain size
and source of randomness.
|
protected abstract void engineInit(int size, SecureRandom random)
size
- the size (number of bits).random
- the source of randomness.protected abstract void engineInit(AlgorithmParameterSpec genParamSpec, SecureRandom random) throws InvalidAlgorithmParameterException
genParamSpec
- the set of algorithm-specific parameter generation values.random
- the source of randomness.InvalidAlgorithmParameterException
- if the given parameter
generation values are inappropriate for this parameter generator.protected abstract AlgorithmParameters engineGenerateParameters()
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.