jdk/src/share/lib/security/java.security
changeset 14959 f302e9445be7
parent 14958 cffa218ca1ed
parent 14807 adb5171c554e
child 14960 ea7606a9683e
equal deleted inserted replaced
14958:cffa218ca1ed 14959:f302e9445be7
     1 #
       
     2 # This is the "master security properties file".
       
     3 #
       
     4 # An alternate java.security properties file may be specified
       
     5 # from the command line via the system property
       
     6 #
       
     7 #    -Djava.security.properties=<URL>
       
     8 #
       
     9 # This properties file appends to the master security properties file.
       
    10 # If both properties files specify values for the same key, the value
       
    11 # from the command-line properties file is selected, as it is the last
       
    12 # one loaded.
       
    13 #
       
    14 # Also, if you specify
       
    15 #
       
    16 #    -Djava.security.properties==<URL> (2 equals),
       
    17 #
       
    18 # then that properties file completely overrides the master security
       
    19 # properties file.
       
    20 #
       
    21 # To disable the ability to specify an additional properties file from
       
    22 # the command line, set the key security.overridePropertiesFile
       
    23 # to false in the master security properties file. It is set to true
       
    24 # by default.
       
    25 
       
    26 # In this file, various security properties are set for use by
       
    27 # java.security classes. This is where users can statically register
       
    28 # Cryptography Package Providers ("providers" for short). The term
       
    29 # "provider" refers to a package or set of packages that supply a
       
    30 # concrete implementation of a subset of the cryptography aspects of
       
    31 # the Java Security API. A provider may, for example, implement one or
       
    32 # more digital signature algorithms or message digest algorithms.
       
    33 #
       
    34 # Each provider must implement a subclass of the Provider class.
       
    35 # To register a provider in this master security properties file,
       
    36 # specify the Provider subclass name and priority in the format
       
    37 #
       
    38 #    security.provider.<n>=<className>
       
    39 #
       
    40 # This declares a provider, and specifies its preference
       
    41 # order n. The preference order is the order in which providers are
       
    42 # searched for requested algorithms (when no specific provider is
       
    43 # requested). The order is 1-based; 1 is the most preferred, followed
       
    44 # by 2, and so on.
       
    45 #
       
    46 # <className> must specify the subclass of the Provider class whose
       
    47 # constructor sets the values of various properties that are required
       
    48 # for the Java Security API to look up the algorithms or other
       
    49 # facilities implemented by the provider.
       
    50 #
       
    51 # There must be at least one provider specification in java.security.
       
    52 # There is a default provider that comes standard with the JDK. It
       
    53 # is called the "SUN" provider, and its Provider subclass
       
    54 # named Sun appears in the sun.security.provider package. Thus, the
       
    55 # "SUN" provider is registered via the following:
       
    56 #
       
    57 #    security.provider.1=sun.security.provider.Sun
       
    58 #
       
    59 # (The number 1 is used for the default provider.)
       
    60 #
       
    61 # Note: Providers can be dynamically registered instead by calls to
       
    62 # either the addProvider or insertProviderAt method in the Security
       
    63 # class.
       
    64 
       
    65 #
       
    66 # List of providers and their preference orders (see above):
       
    67 #
       
    68 security.provider.1=sun.security.provider.Sun
       
    69 security.provider.2=sun.security.rsa.SunRsaSign
       
    70 security.provider.3=sun.security.ec.SunEC
       
    71 security.provider.4=com.sun.net.ssl.internal.ssl.Provider
       
    72 security.provider.5=com.sun.crypto.provider.SunJCE
       
    73 security.provider.6=sun.security.jgss.SunProvider
       
    74 security.provider.7=com.sun.security.sasl.Provider
       
    75 security.provider.8=org.jcp.xml.dsig.internal.dom.XMLDSigRI
       
    76 security.provider.9=sun.security.smartcardio.SunPCSC
       
    77 
       
    78 #
       
    79 # Select the source of seed data for SecureRandom. By default an
       
    80 # attempt is made to use the entropy gathering device specified by
       
    81 # the securerandom.source property. If an exception occurs when
       
    82 # accessing the URL then the traditional system/thread activity
       
    83 # algorithm is used.
       
    84 #
       
    85 # On Solaris and Linux systems, if file:/dev/urandom is specified and it
       
    86 # exists, a special SecureRandom implementation is activated by default.
       
    87 # This "NativePRNG" reads random bytes directly from /dev/urandom.
       
    88 #
       
    89 # On Windows systems, the URLs file:/dev/random and file:/dev/urandom
       
    90 # enables use of the Microsoft CryptoAPI seed functionality.
       
    91 #
       
    92 securerandom.source=file:/dev/urandom
       
    93 #
       
    94 # The entropy gathering device is described as a URL and can also
       
    95 # be specified with the system property "java.security.egd". For example,
       
    96 #   -Djava.security.egd=file:/dev/urandom
       
    97 # Specifying this system property will override the securerandom.source
       
    98 # setting.
       
    99 
       
   100 #
       
   101 # Class to instantiate as the javax.security.auth.login.Configuration
       
   102 # provider.
       
   103 #
       
   104 login.configuration.provider=com.sun.security.auth.login.ConfigFile
       
   105 
       
   106 #
       
   107 # Default login configuration file
       
   108 #
       
   109 #login.config.url.1=file:${user.home}/.java.login.config
       
   110 
       
   111 #
       
   112 # Class to instantiate as the system Policy. This is the name of the class
       
   113 # that will be used as the Policy object.
       
   114 #
       
   115 policy.provider=sun.security.provider.PolicyFile
       
   116 
       
   117 # The default is to have a single system-wide policy file,
       
   118 # and a policy file in the user's home directory.
       
   119 policy.url.1=file:${java.home}/lib/security/java.policy
       
   120 policy.url.2=file:${user.home}/.java.policy
       
   121 
       
   122 # whether or not we expand properties in the policy file
       
   123 # if this is set to false, properties (${...}) will not be expanded in policy
       
   124 # files.
       
   125 policy.expandProperties=true
       
   126 
       
   127 # whether or not we allow an extra policy to be passed on the command line
       
   128 # with -Djava.security.policy=somefile. Comment out this line to disable
       
   129 # this feature.
       
   130 policy.allowSystemProperty=true
       
   131 
       
   132 # whether or not we look into the IdentityScope for trusted Identities
       
   133 # when encountering a 1.1 signed JAR file. If the identity is found
       
   134 # and is trusted, we grant it AllPermission.
       
   135 policy.ignoreIdentityScope=false
       
   136 
       
   137 #
       
   138 # Default keystore type.
       
   139 #
       
   140 keystore.type=jks
       
   141 
       
   142 #
       
   143 # List of comma-separated packages that start with or equal this string
       
   144 # will cause a security exception to be thrown when
       
   145 # passed to checkPackageAccess unless the
       
   146 # corresponding RuntimePermission ("accessClassInPackage."+package) has
       
   147 # been granted.
       
   148 package.access=sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils.,com.sun.org.glassfish.external.,com.sun.org.glassfish.gmbal.,jdk.internal.
       
   149 
       
   150 #
       
   151 # List of comma-separated packages that start with or equal this string
       
   152 # will cause a security exception to be thrown when
       
   153 # passed to checkPackageDefinition unless the
       
   154 # corresponding RuntimePermission ("defineClassInPackage."+package) has
       
   155 # been granted.
       
   156 #
       
   157 # by default, none of the class loaders supplied with the JDK call
       
   158 # checkPackageDefinition.
       
   159 #
       
   160 package.definition=sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,com.sun.org.apache.xerces.internal.utils.,com.sun.org.apache.xalan.internal.utils.,com.sun.org.glassfish.external.,com.sun.org.glassfish.gmbal.,jdk.internal.
       
   161 
       
   162 #
       
   163 # Determines whether this properties file can be appended to
       
   164 # or overridden on the command line via -Djava.security.properties
       
   165 #
       
   166 security.overridePropertiesFile=true
       
   167 
       
   168 #
       
   169 # Determines the default key and trust manager factory algorithms for
       
   170 # the javax.net.ssl package.
       
   171 #
       
   172 ssl.KeyManagerFactory.algorithm=SunX509
       
   173 ssl.TrustManagerFactory.algorithm=PKIX
       
   174 
       
   175 #
       
   176 # The Java-level namelookup cache policy for successful lookups:
       
   177 #
       
   178 # any negative value: caching forever
       
   179 # any positive value: the number of seconds to cache an address for
       
   180 # zero: do not cache
       
   181 #
       
   182 # default value is forever (FOREVER). For security reasons, this
       
   183 # caching is made forever when a security manager is set. When a security
       
   184 # manager is not set, the default behavior in this implementation
       
   185 # is to cache for 30 seconds.
       
   186 #
       
   187 # NOTE: setting this to anything other than the default value can have
       
   188 #       serious security implications. Do not set it unless
       
   189 #       you are sure you are not exposed to DNS spoofing attack.
       
   190 #
       
   191 #networkaddress.cache.ttl=-1
       
   192 
       
   193 # The Java-level namelookup cache policy for failed lookups:
       
   194 #
       
   195 # any negative value: cache forever
       
   196 # any positive value: the number of seconds to cache negative lookup results
       
   197 # zero: do not cache
       
   198 #
       
   199 # In some Microsoft Windows networking environments that employ
       
   200 # the WINS name service in addition to DNS, name service lookups
       
   201 # that fail may take a noticeably long time to return (approx. 5 seconds).
       
   202 # For this reason the default caching policy is to maintain these
       
   203 # results for 10 seconds.
       
   204 #
       
   205 #
       
   206 networkaddress.cache.negative.ttl=10
       
   207 
       
   208 #
       
   209 # Properties to configure OCSP for certificate revocation checking
       
   210 #
       
   211 
       
   212 # Enable OCSP
       
   213 #
       
   214 # By default, OCSP is not used for certificate revocation checking.
       
   215 # This property enables the use of OCSP when set to the value "true".
       
   216 #
       
   217 # NOTE: SocketPermission is required to connect to an OCSP responder.
       
   218 #
       
   219 # Example,
       
   220 #   ocsp.enable=true
       
   221 
       
   222 #
       
   223 # Location of the OCSP responder
       
   224 #
       
   225 # By default, the location of the OCSP responder is determined implicitly
       
   226 # from the certificate being validated. This property explicitly specifies
       
   227 # the location of the OCSP responder. The property is used when the
       
   228 # Authority Information Access extension (defined in RFC 3280) is absent
       
   229 # from the certificate or when it requires overriding.
       
   230 #
       
   231 # Example,
       
   232 #   ocsp.responderURL=http://ocsp.example.net:80
       
   233 
       
   234 #
       
   235 # Subject name of the OCSP responder's certificate
       
   236 #
       
   237 # By default, the certificate of the OCSP responder is that of the issuer
       
   238 # of the certificate being validated. This property identifies the certificate
       
   239 # of the OCSP responder when the default does not apply. Its value is a string
       
   240 # distinguished name (defined in RFC 2253) which identifies a certificate in
       
   241 # the set of certificates supplied during cert path validation. In cases where
       
   242 # the subject name alone is not sufficient to uniquely identify the certificate
       
   243 # then both the "ocsp.responderCertIssuerName" and
       
   244 # "ocsp.responderCertSerialNumber" properties must be used instead. When this
       
   245 # property is set then those two properties are ignored.
       
   246 #
       
   247 # Example,
       
   248 #   ocsp.responderCertSubjectName="CN=OCSP Responder, O=XYZ Corp"
       
   249 
       
   250 #
       
   251 # Issuer name of the OCSP responder's certificate
       
   252 #
       
   253 # By default, the certificate of the OCSP responder is that of the issuer
       
   254 # of the certificate being validated. This property identifies the certificate
       
   255 # of the OCSP responder when the default does not apply. Its value is a string
       
   256 # distinguished name (defined in RFC 2253) which identifies a certificate in
       
   257 # the set of certificates supplied during cert path validation. When this
       
   258 # property is set then the "ocsp.responderCertSerialNumber" property must also
       
   259 # be set. When the "ocsp.responderCertSubjectName" property is set then this
       
   260 # property is ignored.
       
   261 #
       
   262 # Example,
       
   263 #   ocsp.responderCertIssuerName="CN=Enterprise CA, O=XYZ Corp"
       
   264 
       
   265 #
       
   266 # Serial number of the OCSP responder's certificate
       
   267 #
       
   268 # By default, the certificate of the OCSP responder is that of the issuer
       
   269 # of the certificate being validated. This property identifies the certificate
       
   270 # of the OCSP responder when the default does not apply. Its value is a string
       
   271 # of hexadecimal digits (colon or space separators may be present) which
       
   272 # identifies a certificate in the set of certificates supplied during cert path
       
   273 # validation. When this property is set then the "ocsp.responderCertIssuerName"
       
   274 # property must also be set. When the "ocsp.responderCertSubjectName" property
       
   275 # is set then this property is ignored.
       
   276 #
       
   277 # Example,
       
   278 #   ocsp.responderCertSerialNumber=2A:FF:00
       
   279 
       
   280 #
       
   281 # Policy for failed Kerberos KDC lookups:
       
   282 #
       
   283 # When a KDC is unavailable (network error, service failure, etc), it is
       
   284 # put inside a blacklist and accessed less often for future requests. The
       
   285 # value (case-insensitive) for this policy can be:
       
   286 #
       
   287 # tryLast
       
   288 #    KDCs in the blacklist are always tried after those not on the list.
       
   289 #
       
   290 # tryLess[:max_retries,timeout]
       
   291 #    KDCs in the blacklist are still tried by their order in the configuration,
       
   292 #    but with smaller max_retries and timeout values. max_retries and timeout
       
   293 #    are optional numerical parameters (default 1 and 5000, which means once
       
   294 #    and 5 seconds). Please notes that if any of the values defined here is
       
   295 #    more than what is defined in krb5.conf, it will be ignored.
       
   296 #
       
   297 # Whenever a KDC is detected as available, it is removed from the blacklist.
       
   298 # The blacklist is reset when krb5.conf is reloaded. You can add
       
   299 # refreshKrb5Config=true to a JAAS configuration file so that krb5.conf is
       
   300 # reloaded whenever a JAAS authentication is attempted.
       
   301 #
       
   302 # Example,
       
   303 #   krb5.kdc.bad.policy = tryLast
       
   304 #   krb5.kdc.bad.policy = tryLess:2,2000
       
   305 krb5.kdc.bad.policy = tryLast
       
   306 
       
   307 # Algorithm restrictions for certification path (CertPath) processing
       
   308 #
       
   309 # In some environments, certain algorithms or key lengths may be undesirable
       
   310 # for certification path building and validation.  For example, "MD2" is
       
   311 # generally no longer considered to be a secure hash algorithm.  This section
       
   312 # describes the mechanism for disabling algorithms based on algorithm name
       
   313 # and/or key length.  This includes algorithms used in certificates, as well
       
   314 # as revocation information such as CRLs and signed OCSP Responses.
       
   315 #
       
   316 # The syntax of the disabled algorithm string is described as this Java
       
   317 # BNF-style:
       
   318 #   DisabledAlgorithms:
       
   319 #       " DisabledAlgorithm { , DisabledAlgorithm } "
       
   320 #
       
   321 #   DisabledAlgorithm:
       
   322 #       AlgorithmName [Constraint]
       
   323 #
       
   324 #   AlgorithmName:
       
   325 #       (see below)
       
   326 #
       
   327 #   Constraint:
       
   328 #       KeySizeConstraint
       
   329 #
       
   330 #   KeySizeConstraint:
       
   331 #       keySize Operator DecimalInteger
       
   332 #
       
   333 #   Operator:
       
   334 #       <= | < | == | != | >= | >
       
   335 #
       
   336 #   DecimalInteger:
       
   337 #       DecimalDigits
       
   338 #
       
   339 #   DecimalDigits:
       
   340 #       DecimalDigit {DecimalDigit}
       
   341 #
       
   342 #   DecimalDigit: one of
       
   343 #       1 2 3 4 5 6 7 8 9 0
       
   344 #
       
   345 # The "AlgorithmName" is the standard algorithm name of the disabled
       
   346 # algorithm. See "Java Cryptography Architecture Standard Algorithm Name
       
   347 # Documentation" for information about Standard Algorithm Names.  Matching
       
   348 # is performed using a case-insensitive sub-element matching rule.  (For
       
   349 # example, in "SHA1withECDSA" the sub-elements are "SHA1" for hashing and
       
   350 # "ECDSA" for signatures.)  If the assertion "AlgorithmName" is a
       
   351 # sub-element of the certificate algorithm name, the algorithm will be
       
   352 # rejected during certification path building and validation.  For example,
       
   353 # the assertion algorithm name "DSA" will disable all certificate algorithms
       
   354 # that rely on DSA, such as NONEwithDSA, SHA1withDSA.  However, the assertion
       
   355 # will not disable algorithms related to "ECDSA".
       
   356 #
       
   357 # A "Constraint" provides further guidance for the algorithm being specified.
       
   358 # The "KeySizeConstraint" requires a key of a valid size range if the
       
   359 # "AlgorithmName" is of a key algorithm.  The "DecimalInteger" indicates the
       
   360 # key size specified in number of bits.  For example, "RSA keySize <= 1024"
       
   361 # indicates that any RSA key with key size less than or equal to 1024 bits
       
   362 # should be disabled, and "RSA keySize < 1024, RSA keySize > 2048" indicates
       
   363 # that any RSA key with key size less than 1024 or greater than 2048 should
       
   364 # be disabled. Note that the "KeySizeConstraint" only makes sense to key
       
   365 # algorithms.
       
   366 #
       
   367 # Note: This property is currently used by Oracle's PKIX implementation. It
       
   368 # is not guaranteed to be examined and used by other implementations.
       
   369 #
       
   370 # Example:
       
   371 #   jdk.certpath.disabledAlgorithms=MD2, DSA, RSA keySize < 2048
       
   372 #
       
   373 #
       
   374 jdk.certpath.disabledAlgorithms=MD2
       
   375 
       
   376 # Algorithm restrictions for Secure Socket Layer/Transport Layer Security
       
   377 # (SSL/TLS) processing
       
   378 #
       
   379 # In some environments, certain algorithms or key lengths may be undesirable
       
   380 # when using SSL/TLS.  This section describes the mechanism for disabling
       
   381 # algorithms during SSL/TLS security parameters negotiation, including cipher
       
   382 # suites selection, peer authentication and key exchange mechanisms.
       
   383 #
       
   384 # For PKI-based peer authentication and key exchange mechanisms, this list
       
   385 # of disabled algorithms will also be checked during certification path
       
   386 # building and validation, including algorithms used in certificates, as
       
   387 # well as revocation information such as CRLs and signed OCSP Responses.
       
   388 # This is in addition to the jdk.certpath.disabledAlgorithms property above.
       
   389 #
       
   390 # See the specification of "jdk.certpath.disabledAlgorithms" for the
       
   391 # syntax of the disabled algorithm string.
       
   392 #
       
   393 # Note: This property is currently used by Oracle's JSSE implementation.
       
   394 # It is not guaranteed to be examined and used by other implementations.
       
   395 #
       
   396 # Example:
       
   397 #   jdk.tls.disabledAlgorithms=MD5, SHA1, DSA, RSA keySize < 2048
       
   398