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