Serializable
, Comparable<DrbgParameters.Capability>
, Constable
DrbgParameters
public static enum DrbgParameters.Capability extends Enum<DrbgParameters.Capability>
When this object is passed to a SecureRandom.getInstance()
call, it is the requested minimum capability. When it's returned from SecureRandom.getParameters()
, it is the effective capability.
Please note that while the Instantiate_function
defined in NIST SP 800-90Ar1 only includes a prediction_resistance_flag
parameter, the Capability
type includes an extra value RESEED_ONLY
because reseeding is an optional function. If NONE
is used in an Instantiation
object in calling the SecureRandom.getInstance
method, the returned DRBG instance is not guaranteed to support reseeding. If RESEED_ONLY
or PR_AND_RESEED
is used, the instance must support reseeding.
The table below lists possible effective values if a certain capability is requested, i.e.
Capability requested = ...; SecureRandom s = SecureRandom.getInstance("DRBG", DrbgParameters(-1, requested, null)); Capability effective = ((DrbgParametes.Initiate) s.getParameters()) .getCapability();
Requested Value | Possible Effective Values |
---|---|
NONE | NONE, RESEED_ONLY, PR_AND_RESEED |
RESEED_ONLY | RESEED_ONLY, PR_AND_RESEED |
PR_AND_RESEED | PR_AND_RESEED |
A DRBG implementation supporting prediction resistance must also support reseeding.
Enum.EnumDesc<E extends Enum<E>>
Enum Constant | Description |
---|---|
NONE |
Neither prediction resistance nor reseed. |
PR_AND_RESEED |
Both prediction resistance and reseed. |
RESEED_ONLY |
Reseed but no prediction resistance. |
Modifier and Type | Method | Description |
---|---|---|
boolean |
supportsPredictionResistance() |
Returns whether this capability supports prediction resistance. |
boolean |
supportsReseeding() |
Returns whether this capability supports reseeding. |
static DrbgParameters.Capability |
valueOf |
Returns the enum constant of this class with the specified name. |
static DrbgParameters.Capability[] |
values() |
Returns an array containing the constants of this enum class, in the order they are declared. |
public static final DrbgParameters.Capability PR_AND_RESEED
public static final DrbgParameters.Capability RESEED_ONLY
public static final DrbgParameters.Capability NONE
public static DrbgParameters.Capability[] values()
public static DrbgParameters.Capability valueOf(String name)
name
- the name of the enum constant to be returned.IllegalArgumentException
- if this enum class has no constant with the specified nameNullPointerException
- if the argument is nullpublic boolean supportsReseeding()
true
for PR_AND_RESEED
and RESEED_ONLY
, and false
for NONE
public boolean supportsPredictionResistance()
true
for PR_AND_RESEED
, and false
for RESEED_ONLY
and NONE
© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/security/DrbgParameters.Capability.html