12047
|
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 |
|