AlgorithmParameterGeneratorSpi
Stay organized with collections
Save and categorize content based on your preferences.
This class defines the Service Provider Interface (SPI)
for the 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.
Public Constructor Summary
Inherited Method Summary
From class
java.lang.Object
Object
|
clone()
Creates and returns a copy of this Object .
|
boolean
|
equals( Object obj)
Compares this instance with the specified object and indicates if they
are equal.
|
void
|
finalize()
Invoked when the garbage collector has detected that this instance is no longer reachable.
|
final
Class<?>
|
getClass()
Returns the unique instance of Class that represents this
object's class.
|
int
|
hashCode()
Returns an integer hash code for this object.
|
final
void
|
notify()
Causes a thread which is waiting on this object's monitor (by means of
calling one of the wait() methods) to be woken up.
|
final
void
|
notifyAll()
Causes all threads which are waiting on this object's monitor (by means
of calling one of the wait() methods) to be woken up.
|
String
|
toString()
Returns a string containing a concise, human-readable description of this
object.
|
final
void
|
wait(long timeout, int nanos)
Causes the calling thread to wait until another thread calls the notify() or notifyAll() method of this object or until the
specified timeout expires.
|
final
void
|
wait(long timeout)
Causes the calling thread to wait until another thread calls the notify() or notifyAll() method of this object or until the
specified timeout expires.
|
final
void
|
wait()
Causes the calling thread to wait until another thread calls the notify() or notifyAll() method of this object.
|
Public Constructors
public
AlgorithmParameterGeneratorSpi
()
Protected Methods
protected
abstract
AlgorithmParameters
engineGenerateParameters
()
Generates the parameters.
Returns
- the new AlgorithmParameters object.
Initializes this parameter generator with a set of
algorithm-specific parameter generation values.
Parameters
genParamSpec |
the set of algorithm-specific parameter generation values. |
random |
the source of randomness. |
protected
abstract
void
engineInit
(int size, SecureRandom random)
Initializes this parameter generator for a certain size
and source of randomness.
Parameters
size |
the size (number of bits). |
random |
the source of randomness.
|
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-07-10 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-07-10 UTC."],[[["\u003cp\u003e\u003ccode\u003eAlgorithmParameterGeneratorSpi\u003c/code\u003e is a Service Provider Interface (SPI) for generating algorithm parameters.\u003c/p\u003e\n"],["\u003cp\u003eIt requires cryptographic providers to implement methods for initializing and generating algorithm parameters.\u003c/p\u003e\n"],["\u003cp\u003eProviders must offer default initialization if the client doesn't explicitly initialize the \u003ccode\u003eAlgorithmParameterGenerator\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe class includes methods for generating parameters and initializing the generator based on size or specific values.\u003c/p\u003e\n"]]],[],null,["# AlgorithmParameterGeneratorSpi\n\npublic abstract class **AlgorithmParameterGeneratorSpi** extends [Object](../../../reference/java/lang/Object.html) \nThis class defines the *Service Provider Interface* (**SPI** )\nfor the `AlgorithmParameterGenerator` class, which\nis used to generate a set of parameters to be used with a certain algorithm.\n\nAll the abstract methods in this class must be implemented by each\ncryptographic service provider who wishes to supply the implementation\nof a parameter generator for a particular algorithm.\n\nIn case the client does not explicitly initialize the\nAlgorithmParameterGenerator (via a call to an `engineInit`\nmethod), each provider must supply (and document) a default initialization.\nFor example, the Sun provider uses a default modulus prime size of 1024\nbits for the generation of DSA parameters. \n\n##### See Also\n\n- [AlgorithmParameterGenerator](../../../reference/java/security/AlgorithmParameterGenerator.html)\n- [AlgorithmParameters](../../../reference/java/security/AlgorithmParameters.html)\n- [AlgorithmParameterSpec](../../../reference/java/security/spec/AlgorithmParameterSpec.html) \n\n### Public Constructor Summary\n\n|---|-------------------------------------------------------------------------------------------------------------------------------------------|\n| | [AlgorithmParameterGeneratorSpi](../../../reference/java/security/AlgorithmParameterGeneratorSpi.html#AlgorithmParameterGeneratorSpi())() |\n\n### Protected Method Summary\n\n|-------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| abstract [AlgorithmParameters](../../../reference/java/security/AlgorithmParameters.html) | [engineGenerateParameters](../../../reference/java/security/AlgorithmParameterGeneratorSpi.html#engineGenerateParameters())() Generates the parameters. |\n| abstract void | [engineInit](../../../reference/java/security/AlgorithmParameterGeneratorSpi.html#engineInit(java.security.spec.AlgorithmParameterSpec,%20java.security.SecureRandom))([AlgorithmParameterSpec](../../../reference/java/security/spec/AlgorithmParameterSpec.html) genParamSpec, [SecureRandom](../../../reference/java/security/SecureRandom.html) random) Initializes this parameter generator with a set of algorithm-specific parameter generation values. |\n| abstract void | [engineInit](../../../reference/java/security/AlgorithmParameterGeneratorSpi.html#engineInit(int,%20java.security.SecureRandom))(int size, [SecureRandom](../../../reference/java/security/SecureRandom.html) random) Initializes this parameter generator for a certain size and source of randomness. |\n\n### Inherited Method Summary\n\nFrom class [java.lang.Object](../../../reference/java/lang/Object.html) \n\n|-------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [Object](../../../reference/java/lang/Object.html) | [clone](../../../reference/java/lang/Object.html#clone())() Creates and returns a copy of this `Object`. |\n| boolean | [equals](../../../reference/java/lang/Object.html#equals(java.lang.Object))([Object](../../../reference/java/lang/Object.html) obj) Compares this instance with the specified object and indicates if they are equal. |\n| void | [finalize](../../../reference/java/lang/Object.html#finalize())() Invoked when the garbage collector has detected that this instance is no longer reachable. |\n| final [Class](../../../reference/java/lang/Class.html)\\\u003c?\\\u003e | [getClass](../../../reference/java/lang/Object.html#getClass())() Returns the unique instance of [Class](../../../reference/java/lang/Class.html) that represents this object's class. |\n| int | [hashCode](../../../reference/java/lang/Object.html#hashCode())() Returns an integer hash code for this object. |\n| final void | [notify](../../../reference/java/lang/Object.html#notify())() Causes a thread which is waiting on this object's monitor (by means of calling one of the `wait()` methods) to be woken up. |\n| final void | [notifyAll](../../../reference/java/lang/Object.html#notifyAll())() Causes all threads which are waiting on this object's monitor (by means of calling one of the `wait()` methods) to be woken up. |\n| [String](../../../reference/java/lang/String.html) | [toString](../../../reference/java/lang/Object.html#toString())() Returns a string containing a concise, human-readable description of this object. |\n| final void | [wait](../../../reference/java/lang/Object.html#wait(long,%20int))(long timeout, int nanos) Causes the calling thread to wait until another thread calls the `notify()` or `notifyAll()` method of this object or until the specified timeout expires. |\n| final void | [wait](../../../reference/java/lang/Object.html#wait(long))(long timeout) Causes the calling thread to wait until another thread calls the `notify()` or `notifyAll()` method of this object or until the specified timeout expires. |\n| final void | [wait](../../../reference/java/lang/Object.html#wait())() Causes the calling thread to wait until another thread calls the `notify()` or `notifyAll()` method of this object. |\n\nPublic Constructors\n-------------------\n\n#### public\n**AlgorithmParameterGeneratorSpi**\n()\n\n\u003cbr /\u003e\n\nProtected Methods\n-----------------\n\n#### protected abstract [AlgorithmParameters](../../../reference/java/security/AlgorithmParameters.html)\n**engineGenerateParameters**\n()\n\nGenerates the parameters. \n\n##### Returns\n\n- the new AlgorithmParameters object. \n\n#### protected abstract void\n**engineInit**\n([AlgorithmParameterSpec](../../../reference/java/security/spec/AlgorithmParameterSpec.html) genParamSpec, [SecureRandom](../../../reference/java/security/SecureRandom.html) random)\n\nInitializes this parameter generator with a set of\nalgorithm-specific parameter generation values. \n\n##### Parameters\n\n| genParamSpec | the set of algorithm-specific parameter generation values. |\n| random | the source of randomness. |\n|--------------|------------------------------------------------------------|\n\n##### Throws\n\n| [InvalidAlgorithmParameterException](../../../reference/java/security/InvalidAlgorithmParameterException.html) | if the given parameter generation values are inappropriate for this parameter generator. |\n|----------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------|\n\n#### protected abstract void\n**engineInit**\n(int size, [SecureRandom](../../../reference/java/security/SecureRandom.html) random)\n\nInitializes this parameter generator for a certain size\nand source of randomness. \n\n##### Parameters\n\n| size | the size (number of bits). |\n| random | the source of randomness. |\n|--------|----------------------------|"]]