< prev index next >
src/java.base/share/conf/security/java.security
Print this page
rev 13987 : 8051408: NIST SP 800-90A SecureRandom implementations
@@ -118,27 +118,27 @@
#
# Sun Provider SecureRandom seed source.
#
-# Select the primary source of seed data for the "SHA1PRNG" and
+# Select the primary source of seed data for the "DRBG", "SHA1PRNG" and
# "NativePRNG" SecureRandom implementations in the "Sun" provider.
# (Other SecureRandom implementations might also use this property.)
#
# On Unix-like systems (for example, Solaris/Linux/MacOS), the
-# "NativePRNG" and "SHA1PRNG" implementations obtains seed data from
+# "NativePRNG", "DRBG", and "SHA1PRNG" implementations obtains seed data from
# special device files such as file:/dev/random.
#
# On Windows systems, specifying the URLs "file:/dev/random" or
# "file:/dev/urandom" will enable the native Microsoft CryptoAPI seeding
-# mechanism for SHA1PRNG.
+# mechanism for DRBG and SHA1PRNG.
#
# By default, an attempt is made to use the entropy gathering device
# specified by the "securerandom.source" Security property. If an
# exception occurs while accessing the specified URL:
#
-# SHA1PRNG:
+# DRBG and SHA1PRNG:
# the traditional system/thread activity algorithm will be used.
#
# NativePRNG:
# a default value of /dev/random will be used. If neither
# are available, the implementation will be disabled.
@@ -152,11 +152,11 @@
# Specifying this System property will override the
# "securerandom.source" Security property.
#
# In addition, if "file:/dev/random" or "file:/dev/urandom" is
# specified, the "NativePRNG" implementation will be more preferred than
-# SHA1PRNG in the Sun provider.
+# DRBG and SHA1PRNG in the Sun provider.
#
securerandom.source=file:/dev/random
#
# A list of known strong SecureRandom implementations.
@@ -167,17 +167,70 @@
#
# This is a comma-separated list of algorithm and/or algorithm:provider
# entries.
#
#ifdef windows
-securerandom.strongAlgorithms=Windows-PRNG:SunMSCAPI,SHA1PRNG:SUN
+securerandom.strongAlgorithms=Windows-PRNG:SunMSCAPI,DRBG:SUN
#endif
#ifndef windows
securerandom.strongAlgorithms=NativePRNGBlocking:SUN
#endif
#
+# Sun provider DRBG configuration and default instantiation request.
+#
+# NIST SP 800-90Ar1 lists several DRBG mechanisms, each can be configured with
+# a DRBG algorithm name, and can be instantiated with a security strength,
+# prediction resistance support, etc. This property defines the configuration
+# and the default instantiation request of "DRBG" SecureRandom implemented in
+# the SUN provider. Applications can request different instantiation parameters
+# like security strength/capability/personalization strings using
+# the getInstance(...,SecureRandomParameters,...) APIs with a
+# DrbgParameters.Instantiate object, but
+# other settings such as the mechanism and DRBG algorithm names are not
+# configurable by any API.
+#
+# Please note that the SUN implementation of DRBG always supports reseeding.
+#
+# The value of this property is a slash-separated list of all configurable
+# aspects. The aspects can appear in any order but the same aspect can only
+# appear at most once. Its BNF-style definition is:
+#
+# Value:
+# aspect { "," aspect }
+#
+# aspect:
+# mech_name | algorithm_name | strength | capability | df
+#
+# mech_name: default "Hash_DRBG"
+# "Hash_DRBG" | "HMAC_DRBG" | "CTR_DRBG"
+#
+# algorithm_name: For Hash_DRBG and HMAC_DRBG, default to "SHA-256".
+# For CTR_DRBG, default to "AES-128" when using the limited
+# cryptographic policy files, or "AES-256" for unlimited.
+# Any supported MessageDigest or Cipher algorithm name as described
+# in Section 10 of SP 800-90Ar1
+#
+# strength: default "128", or "112" if mech_name is CTR_DRBG
+# and algorithm_name is "3 Key TDEA"
+# "112" | "128" | "192" | "256"
+#
+# pr: default "none"
+# "pr_and_reseed" | "reseed_only" | "none"
+#
+# df: default "use_df", only applicable to CTR_DRBG
+# "use_df" | "no_df"
+#
+# Examples,
+# drbg=Hash_DRBG,SHA-1,112,none
+# drbg=CTR_DRBG,AES-256,256,pr_and_reseed,use_df
+#
+# The default value is an empty string, which is equivalent to
+# drbg=Hash_DRBG,SHA-256,128,none
+drbg=
+
+#
# Class to instantiate as the javax.security.auth.login.Configuration
# provider.
#
login.configuration.provider=sun.security.provider.ConfigFile
< prev index next >