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