Class Argon2PasswordStorageSchemeCfgDefn
- java.lang.Object
-
- org.forgerock.opendj.config.AbstractManagedObjectDefinition<C,S>
-
- org.forgerock.opendj.config.ManagedObjectDefinition<Argon2PasswordStorageSchemeCfgClient,Argon2PasswordStorageSchemeCfg>
-
- org.forgerock.opendj.server.config.meta.Argon2PasswordStorageSchemeCfgDefn
-
public final class Argon2PasswordStorageSchemeCfgDefn extends ManagedObjectDefinition<Argon2PasswordStorageSchemeCfgClient,Argon2PasswordStorageSchemeCfg>
An interface for querying the Argon2 Password Storage Scheme managed object definition meta information.The Argon2 Password Storage Scheme provides a mechanism for encoding user passwords using the Argon2 message digest algorithm.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classArgon2PasswordStorageSchemeCfgDefn.Argon2VariantDefines the set of permissible values for the "argon2-variant" property.static classArgon2PasswordStorageSchemeCfgDefn.RehashPolicyDefines the set of permissible values for the "rehash-policy" property.
-
Method Summary
-
Methods inherited from class org.forgerock.opendj.config.AbstractManagedObjectDefinition
getAggregationPropertyDefinition, getAggregationPropertyDefinitions, getAllAggregationPropertyDefinitions, getAllChildren, getAllConstraints, getAllPropertyDefinitions, getAllRelationDefinitions, getAllReverseAggregationPropertyDefinitions, getAllReverseRelationDefinitions, getAllTags, getChild, getChildren, getConstraints, getDeprecated, getDescription, getDescription, getName, getParent, getPropertyDefinition, getPropertyDefinitions, getRelationDefinition, getRelationDefinitions, getReverseAggregationPropertyDefinitions, getReverseRelationDefinitions, getSynopsis, getSynopsis, getUserFriendlyName, getUserFriendlyName, getUserFriendlyPluralName, getUserFriendlyPluralName, hasChildren, hasOption, hasTag, initialize, isChildOf, isParentOf, isTop, registerConstraint, registerDeprecated, registerOption, registerPropertyDefinition, registerRelationDefinition, registerTag, resolveManagedObjectDefinition, toString, toString
-
-
-
-
Method Detail
-
getInstance
public static Argon2PasswordStorageSchemeCfgDefn getInstance()
Get the Argon2 Password Storage Scheme configuration definition singleton.- Returns:
- Returns the Argon2 Password Storage Scheme configuration definition singleton.
-
createClientConfiguration
public Argon2PasswordStorageSchemeCfgClient createClientConfiguration(ManagedObject<? extends Argon2PasswordStorageSchemeCfgClient> impl)
Description copied from class:ManagedObjectDefinitionCreates a client configuration view of the provided managed object. Modifications made to the underlying managed object will be reflected in the client configuration view and vice versa.- Specified by:
createClientConfigurationin classManagedObjectDefinition<Argon2PasswordStorageSchemeCfgClient,Argon2PasswordStorageSchemeCfg>- Parameters:
impl- The managed object.- Returns:
- Returns a client configuration view of the provided managed object.
-
createServerConfiguration
public Argon2PasswordStorageSchemeCfg createServerConfiguration(ServerManagedObject<? extends Argon2PasswordStorageSchemeCfg> impl)
Description copied from class:ManagedObjectDefinitionCreates a server configuration view of the provided server managed object.- Specified by:
createServerConfigurationin classManagedObjectDefinition<Argon2PasswordStorageSchemeCfgClient,Argon2PasswordStorageSchemeCfg>- Parameters:
impl- The server managed object.- Returns:
- Returns a server configuration view of the provided server managed object.
-
getServerConfigurationClass
public Class<Argon2PasswordStorageSchemeCfg> getServerConfigurationClass()
Description copied from class:ManagedObjectDefinitionGets the server configuration class instance associated with this managed object definition.- Specified by:
getServerConfigurationClassin classManagedObjectDefinition<Argon2PasswordStorageSchemeCfgClient,Argon2PasswordStorageSchemeCfg>- Returns:
- Returns the server configuration class instance associated with this managed object definition.
-
getArgon2IterationsPropertyDefinition
public IntegerPropertyDefinition getArgon2IterationsPropertyDefinition()
Get the "argon2-iterations" property definition.The number of iterations to perform.
By default, changes to this setting impact only newly created and updated passwords. However, if the rehash-policy is set to always or only-increase, it causes the server to recalculate each user's password hash on their next authentication, and write the new hash to the user's entry on disk. Changing the number of iterations therefore leads to a short-term spike in CPU and disk use as the server updates each user's password when they next authenticate. Longer term, increasing this setting results in more secure passwords at the expense of much higher CPU consumption and lower throughput.
- Returns:
- Returns the "argon2-iterations" property definition.
-
getArgon2LengthPropertyDefinition
public IntegerPropertyDefinition getArgon2LengthPropertyDefinition()
Get the "argon2-length" property definition.The length of the produced hash.
By default, changes to this setting impact only newly created and updated passwords. However, if the rehash-policy is set to always or only-increase, it causes the server to recalculate each user's password hash on their next authentication, and write the new hash to the user's entry on disk. Changing the length of the produced hash therefore leads to a short-term spike in CPU and disk use as the server updates each user's password when they next authenticate. Longer term, increasing this setting results in more secure passwords at the expense of much higher CPU consumption and lower throughput.
- Returns:
- Returns the "argon2-length" property definition.
-
getArgon2MemoryPropertyDefinition
public IntegerPropertyDefinition getArgon2MemoryPropertyDefinition()
Get the "argon2-memory" property definition.The amount of memory to use for a single hash, expressed in kibibytes.
By default, changes to this setting impact only newly created and updated passwords. However, if the rehash-policy is set to always or only-increase, it causes the server to recalculate each user's password hash on their next authentication, and write the new hash to the user's entry on disk. Changing the amount of memory to use therefore leads to a short-term spike in CPU and disk use as the server updates each user's password when they next authenticate. Longer term, increasing this setting results in more secure passwords at the expense of longer response times and lower throughput.
- Returns:
- Returns the "argon2-memory" property definition.
-
getArgon2MemoryPoolSizePropertyDefinition
public IntegerPropertyDefinition getArgon2MemoryPoolSizePropertyDefinition()
Get the "argon2-memory-pool-size" property definition.The amount of memory dedicated to Argon2 password hashing, expressed in kibibytes.
This amount of memory places an upper limit on the number of argon2 password hashes which can be computed concurrently. Every bind request using argon2 password hashing will acquire memory from this pool, and release it once computation has completed. When the pool is empty, incoming bind requests using argon2 will be paused, waiting for concurrent argon2 computation to finish and return memory to the pool.
- Returns:
- Returns the "argon2-memory-pool-size" property definition.
-
getArgon2ParallelismPropertyDefinition
public IntegerPropertyDefinition getArgon2ParallelismPropertyDefinition()
Get the "argon2-parallelism" property definition.The number of threads to use in parallel to compute a hash.
The number of threads should not exceed twice the number of physical CPU cores that are dedicated to password hashing. By default, changes to this setting impact only newly created and updated passwords. However, if the rehash-policy is set to always or only-increase, it causes the server to recalculate each user's password hash on their next authentication, and write the new hash to the user's entry on disk. Changing the amount of parallelism to use therefore leads to a short-term spike in CPU and disk use as the server updates each user's password when they next authenticate. Longer term, increasing this setting results in more secure passwords at the expense of much higher CPU consumption and lower throughput.
- Returns:
- Returns the "argon2-parallelism" property definition.
-
getArgon2SaltLengthPropertyDefinition
public IntegerPropertyDefinition getArgon2SaltLengthPropertyDefinition()
Get the "argon2-salt-length" property definition.The length of the salt used during the hash.
By default, changes to this setting impact only newly created and updated passwords.
- Returns:
- Returns the "argon2-salt-length" property definition.
-
getArgon2VariantPropertyDefinition
public EnumPropertyDefinition<Argon2PasswordStorageSchemeCfgDefn.Argon2Variant> getArgon2VariantPropertyDefinition()
Get the "argon2-variant" property definition.The variant of Argon2 algorithm to use (between I, D and ID).
Argon2D maximizes resistance to GPU cracking attacks. Argon2I is optimized to resist side-channel attacks. Argon2ID is a hybrid version that combines both approaches and has stronger resistance to attacks, but it's more expensive. By default, changes to this setting impact only newly created and updated passwords. However, if the rehash-policy is set to always or only-increase, it causes the server to recalculate each user's password hash on their next authentication, and writes the new hash to the user's entry on disk. Changing the variant of Argon2 algorithm to use therefore leads to a short-term spike in CPU and disk use as the server updates each user's password when they next authenticate. Longer term, increasing this setting results in more secure passwords at the expense of much higher CPU consumption and lower throughput.
- Returns:
- Returns the "argon2-variant" property definition.
-
getEnabledPropertyDefinition
public BooleanPropertyDefinition getEnabledPropertyDefinition()
Get the "enabled" property definition.Indicates whether the Argon2 Password Storage Scheme is enabled for use.
- Returns:
- Returns the "enabled" property definition.
-
getJavaClassPropertyDefinition
public ClassPropertyDefinition getJavaClassPropertyDefinition()
Get the "java-class" property definition.Specifies the fully-qualified name of the Java class that provides the Argon2 Password Storage Scheme implementation.
- Returns:
- Returns the "java-class" property definition.
-
getRehashPolicyPropertyDefinition
public EnumPropertyDefinition<Argon2PasswordStorageSchemeCfgDefn.RehashPolicy> getRehashPolicyPropertyDefinition()
Get the "rehash-policy" property definition.Indicates whether the server should rehash passwords after the cost has been changed.
Passwords will be rehashed when a user successfully authenticates. Note that rehashing will increase the write load on the server.
- Returns:
- Returns the "rehash-policy" property definition.
-
-