#
# @(#)src/security/sov/config/java.security, security, asdev 1.20
# ===========================================================================
# Licensed Materials - Property of IBM
# "Restricted Materials of IBM"
#
# IBM SDK, Java(tm) 2 Technology Edition, v5.0
# (C) Copyright IBM Corp. 1998, 2005. All Rights Reserved
# ===========================================================================
#
/*===========================================================================
 * Change activity:
 *
 *  Reason   Date  Origin  Description
 * -------- ------ ------  ----------------------------------------------------
 *  195323  190113 sshamaia OSB:6664509
 *  195905  300113 gabhaska OSB 8006882 - Regression caused by OSB 7197546
 *  195828  310113 priyankagujar  OSB 8006446 Restrict MBeanServer access
 *  196646  190413 msingha5 Oracle Security Fix 6657673 - Better data model for JAXP
 *  197747  310513 sshamaia Backout 196646 as this caused JCK failures
 *  198257  300713 sshamaia Oracle Security FIX 6657673 (security-in-depth part) (refix) 
 *  199413  020813 vipinmv  Oracle Security FIX 8000450 (security-in-depth Fix)
 *  200785  181013 priyankagujar  Remove org.apache.xpath.domapi package from java.security
 *  200924  181113 gabhaska OSB 8022945 - Enhance JNDI implementation classes
 * ===========================================================================
 */
#
# This is the "master security properties file".
#
# In this file, various security properties are set for use by
# java.security classes. This is where users can statically register 
# Cryptography Package Providers ("providers" for short). The term 
# "provider" refers to a package or set of packages that supply a 
# concrete implementation of a subset of the cryptography aspects of 
# the Java Security API. A provider may, for example, implement one or 
# more digital signature algorithms or message digest algorithms.
#
# Each provider must implement a subclass of the Provider class.
# To register a provider in this master security properties file, 
# specify the Provider subclass name and priority in the format
#
#    security.provider.<n>=<className> 
#
# This declares a provider, and specifies its preference 
# order n. The preference order is the order in which providers are 
# searched for requested algorithms (when no specific provider is 
# requested). The order is 1-based; 1 is the most preferred, followed 
# by 2, and so on.
#
# <className> must specify the subclass of the Provider class whose 
# constructor sets the values of various properties that are required
# for the Java Security API to look up the algorithms or other 
# facilities implemented by the provider.
#
# There must be at least one provider specification in java.security. 
# The number 1 is used for the default provider. 
#
# Note: Statically registered Provider subclasses are instantiated 
# when the system is initialized. Providers can be dynamically 
# registered instead by calls to either the addProvider or 
# insertProviderAt method in the Security class.

#
# List of providers and their preference orders (see above):
#
security.provider.1=com.ibm.jsse2.IBMJSSEProvider2
security.provider.2=com.ibm.crypto.provider.IBMJCE
security.provider.3=com.ibm.security.jgss.IBMJGSSProvider
security.provider.4=com.ibm.security.cert.IBMCertPath
security.provider.5=com.ibm.security.sasl.IBMSASL

#
# The entropy gathering device is described as a URL and can 
# also be specified with the property "java.security.egd". For example,
#   -Djava.security.egd=file:/dev/urandom
# Specifying this property will override the securerandom.source setting.

#
# Class to instantiate as the javax.security.auth.login.Configuration
# provider.
#
login.configuration.provider=com.ibm.security.auth.login.ConfigFile

#
# Default login configuration file
#
#login.config.url.1=file:${user.home}/.java.login.config

#
# Class to instantiate as the system Policy. This is the name of the class
# that will be used as the Policy object.
#
policy.provider=sun.security.provider.PolicyFile

# The default is to have a single system-wide policy file, 
# and a policy file in the user's home directory.
policy.url.1=file:${java.home}/lib/security/java.policy
policy.url.2=file:${java.home}/lib/security/java.pol
policy.url.3=file:///${user.home}/.java.policy

# whether or not we expand properties in the policy file
# if this is set to false, properties (${...}) will not be expanded in policy
# files.
policy.expandProperties=true

# whether or not we allow an extra policy to be passed on the command line
# with -Djava.security.policy=somefile. Comment out this line to disable
# this feature.
policy.allowSystemProperty=true

# whether or not we look into the IdentityScope for trusted Identities
# when encountering a 1.1 signed JAR file. If the identity is found
# and is trusted, we grant it AllPermission.
policy.ignoreIdentityScope=false

#
# Default keystore type.
#
keystore.type=jks

#
# Class to instantiate as the system scope:
#
system.scope=sun.security.provider.IdentityDatabase

#
# List of comma-separated packages that start with or equal this string
# will cause a security exception to be thrown when
# passed to checkPackageAccess unless the
# corresponding RuntimePermission ("accessClassInPackage."+package) has
# been granted.
/* ibm@195323 start */ /*ibm@195905 start*/ /*ibm@195828 start*/ /* ibm@198257 start */ /* ibm@199413 start */ /* ibm@200785 start */
/* ibm@200924 start */
package.access=sun.,\
               com.sun.imageio.,\
	       com.sun.jmx.,\
               com.sun.naming.internal.,\
               com.sun.proxy.,\
	       com.ibm.xml.b2b.,\
               com.ibm.xml.jaxp.datatype.,\
               com.ibm.xml.resolver.,\
               com.ibm.xslt4j.b2b2dtm.,\
               com.ibm.xslt4j.bcel.,\
               com.ibm.xslt4j.java_cup.runtime.,\
               com.ibm.xslt4j.regexp.,\
               org.apache.html.dom.,\
               org.apache.wml.,\
               org.apache.xalan.client.,\
               org.apache.xalan.extensions.,\
               org.apache.xalan.lib.sql.,\
               org.apache.xalan.res.,\
               org.apache.xalan.serialize.,\
               org.apache.xalan.templates.,\
               org.apache.xalan.trace.,\
               org.apache.xalan.transformer.,\
               org.apache.xalan.xslt.,\
               org.apache.xalan.xsltc.cmdline.,\
               org.apache.xalan.xsltc.compiler.util.,\
               org.apache.xalan.xsltc.runtime.output.,\
               org.apache.xalan.xsltc.util.,\
               org.apache.xerces.dom.events.,\
               org.apache.xerces.dom3.as.,\
               org.apache.xerces.impl.dtd.,\
               org.apache.xerces.impl.dv.util.,\
               org.apache.xerces.impl.io.,\
               org.apache.xerces.impl.msg.,\
               org.apache.xerces.impl.validation.,\
               org.apache.xerces.impl.xpath.,\
               org.apache.xerces.impl.xs.,\
               org.apache.xerces.util.,\
               org.apache.xerces.xinclude.,\
               org.apache.xerces.xni.grammars.,\
               org.apache.xerces.xpointer.,\
               org.apache.xerces.xs.datatypes.,\
               org.apache.xml.dtm.ref.dom2dtm.,\
               org.apache.xml.dtm.ref.sax2dtm.,\
               org.apache.xml.res.,\
               org.apache.xml.serializer.dom3.,\
               org.apache.xml.serializer.utils.,\
               org.apache.xml.utils.,\
               org.apache.xmlcommons.,\
               org.apache.xpath.axes.,\
               org.apache.xpath.compiler.,\
               org.apache.xpath.functions.,\
               org.apache.xpath.objects.,\
               org.apache.xpath.operations.,\
               org.apache.xpath.patterns.,\
               org.apache.xpath.res.,\
               com.ibm.rmi.channel.,\
               com.ibm.rmi.iiop.,\
               com.ibm.rmi.io.,\
               com.ibm.rmi.pi.,\
               com.ibm.rmi.poa.,\
               com.ibm.rmi.ras.,\
               com.ibm.rmi.transport.,\
               com.ibm.rmi.util.
               
/* ibm@195323 end */ /*ibm@195905 end*/   /*ibm@195828 end*/  /* ibm@198257 end */ /* ibm@199413 end */  /* ibm@200785 end */
/* ibm@200924 end */



#
# List of comma-separated packages that start with or equal this string
# will cause a security exception to be thrown when
# passed to checkPackageDefinition unless the
# corresponding RuntimePermission ("defineClassInPackage."+package) has
# been granted.
# 
# by default, no packages are restricted for definition, and none of
# the class loaders supplied with the JDK call checkPackageDefinition.
#
/*ibm@195905 start*/    /*ibm@195828 start*/  /* ibm@198257 start */   /* ibm@200785 start */
/* ibm@200924 start */
package.definition=com.sun.jmx.,\
                   com.sun.naming.internal.,\
                   com.sun.proxy.,\
		   com.ibm.xml.b2b.,\
                   com.ibm.xml.jaxp.datatype.,\
                   com.ibm.xml.resolver.,\
                   com.ibm.xslt4j.b2b2dtm.,\
                   com.ibm.xslt4j.bcel.,\
                   com.ibm.xslt4j.java_cup.runtime.,\
                   com.ibm.xslt4j.regexp.,\
                   org.apache.html.dom.,\
                   org.apache.wml.,\
                   org.apache.xalan.client.,\
                   org.apache.xalan.extensions.,\
                   org.apache.xalan.lib.sql.,\
                   org.apache.xalan.res.,\
                   org.apache.xalan.serialize.,\
                   org.apache.xalan.templates.,\
                   org.apache.xalan.trace.,\
                   org.apache.xalan.transformer.,\
                   org.apache.xalan.xslt.,\
                   org.apache.xalan.xsltc.cmdline.,\
                   org.apache.xalan.xsltc.compiler.util.,\
                   org.apache.xalan.xsltc.runtime.output.,\
                   org.apache.xalan.xsltc.util.,\
                   org.apache.xerces.dom.events.,\
                   org.apache.xerces.dom3.as.,\
                   org.apache.xerces.impl.dtd.,\
                   org.apache.xerces.impl.dv.util.,\
                   org.apache.xerces.impl.io.,\
                   org.apache.xerces.impl.msg.,\
                   org.apache.xerces.impl.validation.,\
                   org.apache.xerces.impl.xpath.,\
                   org.apache.xerces.impl.xs.,\
                   org.apache.xerces.util.,\
                   org.apache.xerces.xinclude.,\
                   org.apache.xerces.xni.grammars.,\
                   org.apache.xerces.xpointer.,\
                   org.apache.xerces.xs.datatypes.,\
                   org.apache.xml.dtm.ref.dom2dtm.,\
                   org.apache.xml.dtm.ref.sax2dtm.,\
                   org.apache.xml.res.,\
                   org.apache.xml.serializer.dom3.,\
                   org.apache.xml.serializer.utils.,\
                   org.apache.xml.utils.,\
                   org.apache.xmlcommons.,\
                   org.apache.xpath.axes.,\
                   org.apache.xpath.compiler.,\
                   org.apache.xpath.functions.,\
                   org.apache.xpath.objects.,\
                   org.apache.xpath.operations.,\
                   org.apache.xpath.patterns.,\
                   org.apache.xpath.res.
	       
/*ibm@195905 end*/  /*ibm@195828 end*/  /* ibm@198257 end */  /* ibm@200785 end */
/*ibm@200924 end */

#
# Determines whether this properties file can be appended to
# or overridden on the command line via -Djava.security.properties
#
security.overridePropertiesFile=true

#
# Determines the default key and trust manager factory algorithms for 
# the javax.net.ssl package.
#
ssl.KeyManagerFactory.algorithm=IbmX509
ssl.TrustManagerFactory.algorithm=PKIX

#
# Determines the default SSLSocketFactory and SSLServerSocketFactory
# provider implementations for the javax.net.ssl package.  If, due to
# export and/or import regulations, the providers are not allowed to be
# replaced, changing these values will produce non-functional
# SocketFactory or ServerSocketFactory implementations.
#
#ssl.SocketFactory.provider=
#ssl.ServerSocketFactory.provider=

#
# The Java-level namelookup cache policy for successful lookups:
#
# any negative value: caching forever
# any positive value: the number of seconds to cache an address for
# zero: do not cache
#
# default value is forever (FOREVER). For security reasons, this
# caching is made forever when a security manager is set.
#
# NOTE: setting this to anything other than the default value can have
#       serious security implications. Do not set it unless 
#       you are sure you are not exposed to DNS spoofing attack.
#
#networkaddress.cache.ttl=-1 

# The Java-level namelookup cache policy for failed lookups:
#
# any negative value: cache forever
# any positive value: the number of seconds to cache negative lookup results
# zero: do not cache
#
# In some Microsoft Windows networking environments that employ
# the WINS name service in addition to DNS, name service lookups
# that fail may take a noticeably long time to return (approx. 5 seconds).
# For this reason the default caching policy is to maintain these
# results for 10 seconds. 
networkaddress.cache.negative.ttl=10

#
# Properties to configure OCSP for certificate revocation checking
#

# Enable OCSP 
#
# By default, OCSP is not used for certificate revocation checking.
# This property enables the use of OCSP when set to the value "true".
#
# NOTE: SocketPermission is required to connect to an OCSP responder.
#
# Example,
#   ocsp.enable=true
 
#
# Location of the OCSP responder
#
# By default, the location of the OCSP responder is determined implicitly
# from the certificate being validated. This property explicitly specifies
# the location of the OCSP responder. The property is used when the
# Authority Information Access extension (defined in RFC 3280) is absent
# from the certificate or when it requires overriding.
#
# Example,
#   ocsp.responderURL=http://ocsp.example.net:80
 
#
# Subject name of the OCSP responder's certificate
#
# By default, the certificate of the OCSP responder is that of the issuer
# of the certificate being validated. This property identifies the certificate
# of the OCSP responder when the default does not apply. Its value is a string 
# distinguished name (defined in RFC 2253) which identifies a certificate in 
# the set of certificates supplied during cert path validation. In cases where 
# the subject name alone is not sufficient to uniquely identify the certificate
# then both the "ocsp.responderCertIssuerName" and
# "ocsp.responderCertSerialNumber" properties must be used instead. When this
# property is set then those two properties are ignored.
#
# Example,
#   ocsp.responderCertSubjectName="CN=OCSP Responder, O=XYZ Corp"

#
# Issuer name of the OCSP responder's certificate
#
# By default, the certificate of the OCSP responder is that of the issuer
# of the certificate being validated. This property identifies the certificate
# of the OCSP responder when the default does not apply. Its value is a string
# distinguished name (defined in RFC 2253) which identifies a certificate in
# the set of certificates supplied during cert path validation. When this 
# property is set then the "ocsp.responderCertSerialNumber" property must also 
# be set. When the "ocsp.responderCertSubjectName" property is set then this 
# property is ignored.
#
# Example,
#   ocsp.responderCertIssuerName="CN=Enterprise CA, O=XYZ Corp"
 
#
# Serial number of the OCSP responder's certificate
#
# By default, the certificate of the OCSP responder is that of the issuer
# of the certificate being validated. This property identifies the certificate
# of the OCSP responder when the default does not apply. Its value is a string
# of hexadecimal digits (colon or space separators may be present) which
# identifies a certificate in the set of certificates supplied during cert path
# validation. When this property is set then the "ocsp.responderCertIssuerName"
# property must also be set. When the "ocsp.responderCertSubjectName" property
# is set then this property is ignored.
#
# Example,
#   ocsp.responderCertSerialNumber=2A:FF:00
 

