Class CoGProperties
- All Implemented Interfaces:
Serializable, Cloneable, Map<Object,Object>
Responsible for managing the properties file
"~/.globus/cog.properties", which holds information about various properties
needed by the security classes. These properties include:
- the location of the user certificate file
- the location of the user key file
- the location of the CA certificates
- the location of the proxy file
- the tcp port range
- the local ip address for DHCP systems
- the socket timeout when connecting to a myproxy host
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final Stringthe configuration file properties are read from -- located in ~/.globus"static Stringthe config file locationstatic final StringDeprecated.private static final Stringprivate static final Stringprivate static CoGPropertiesthe default properties filestatic final Stringstatic final Stringprivate static org.apache.commons.logging.Logstatic final Stringstatic final Stringstatic final Stringprivate static final Stringprivate static final String(package private) static final Stringstatic final StringFields inherited from class Properties
defaults -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanstatic voidprotected booleangetAsBoolean(String key, boolean defaultValue) protected intRetrieves the location of the CA certificate files.longReturns the Cert cache lifetime.longDeprecated.static CoGPropertiesintReturns the delegation key cache lifetime for all delegations from this JVM.Returns the user specified hostname.Returns the user specified ip address.Retrieves the location of the proxy file.intintReturns the reverse DNS cache type.longReturns the reverse DNS cache time.intReturns the timeout (in milliseconds) for sockets operations.Returns the tcp port range.Returns the tcp source port range.Returns the udp source port range.Retrieves the location of the user cert file.Retrieves the location of the user key file.protected static final booleanisNullOrEmpty(String tmp) voidload(InputStream in) voidvoidsave()voidvoidsetCaCertLocations(String list) static voidsetDefault(CoGProperties properties) Sets default configuration.voidsetHostName(String host) Sets hostnamevoidsetIPAddress(String ipAddress) Sets ip addressvoidsetProxyFile(String proxyFile) voidsetProxyLifeTime(int lifeTimeInHours) voidsetProxyStrength(int strength) voidsetSocketTimeout(int socketTimeout) voidsetUserCertFile(String userCertFile) voidsetUserKeyFile(String userKeyFile) Sets user key file locationbooleanReturns whether to use the /dev/urandom device for seed generation.Methods inherited from class Properties
clear, clone, compute, computeIfAbsent, computeIfPresent, contains, containsKey, containsValue, elements, entrySet, equals, forEach, get, getOrDefault, getProperty, getProperty, hashCode, isEmpty, keys, keySet, list, list, load, loadFromXML, merge, propertyNames, put, putAll, putIfAbsent, rehash, remove, remove, replace, replace, replaceAll, save, setProperty, size, store, store, storeToXML, storeToXML, storeToXML, stringPropertyNames, toString, values
-
Field Details
-
logger
private static org.apache.commons.logging.Log logger -
DEFAULT_RANDOM_PROVIDER
- See Also:
-
DEFAULT_RANDOM_ALGORITHM
- See Also:
-
ENFORCE_SIGNING_POLICY
- See Also:
-
DELEGATION_KEY_CACHE_LIFETIME
- See Also:
-
CRL_CACHE_LIFETIME
-
CERT_CACHE_LIFETIME
- See Also:
-
MDSHOST
- See Also:
-
MDSPORT
- See Also:
-
BASEDN
- See Also:
-
SOCKET_TIMEOUT
- See Also:
-
REVERSE_DNS_CACHETYPE
- See Also:
-
REVERSE_DNS_CACHE_LIFETIME
- See Also:
-
NO_CACHE
- See Also:
-
THREADED_CACHE
- See Also:
-
CONFIG_FILE
the configuration file properties are read from -- located in ~/.globus"- See Also:
-
defaultProps
the default properties file -
configFile
the config file location
-
-
Constructor Details
-
CoGProperties
public CoGProperties() -
CoGProperties
- Throws:
IOException
-
-
Method Details
-
getDefault
-
setDefault
Sets default configuration. It can be used to set a different configuration dynamically. -
save
- Throws:
IOException
-
save
- Throws:
IOException
-
load
- Throws:
IOException
-
load
- Overrides:
loadin classProperties- Throws:
IOException
-
fixSpace
-
getUserCertFile
Retrieves the location of the user cert file. It first checks the X509_USER_CERT system property. If the property is not set, it checks next the 'usercert' property in the current configuration. If that property is not set, it returns a default location of the user cert file. The default value is the 'usercert.pem' file in the user's globus directory. For example: ${user.home}/.globus/usercert.pem.- Returns:
Stringthe location of the user cert file
-
setUserCertFile
-
getPKCS11LibraryName
-
getDefaultPKCS11Handle
-
getUserKeyFile
Retrieves the location of the user key file. It first checks the X509_USER_KEY system property. If the property is not set, it checks next the 'userkey' property in the current configuration. If that property is not set, it returns a default location of the user key file. The default value is the 'userkey.pem' file in the user's globus directory. For example: ${user.home}/.globus/userkey.pem.- Returns:
Stringthe location of the user key file
-
setUserKeyFile
Sets user key file location- Parameters:
userKeyFile- user key file location
-
getHostName
Returns the user specified hostname. This is used for DHCP machines where java is unable to determine the right hostname/IP address. It first checks the 'GLOBUS_HOSTNAME' system property. If the property is not set, it checks the 'host' system property next. If the 'host' property is not set in the current configuration, null is returned (and default 'localhost' hostname will be used)- Returns:
Stringthe hostname of the machine.
-
setHostName
-
getIPAddress
Returns the user specified ip address. This is used for DHCP machines where java is unable to determine the right IP address. It first checks the 'org.globus.ip' system property. If that property is not set, it checks next the 'ip' property in the current configuration. If the 'ip' property is not set in the current configuration, the hostname of the machine is looked up using thegetHostName()function. IfgetHostName()returns a hostname that hostname is converted into an IP address and it is returned. Otherwise, null is returned (and default ip address will be used)- Returns:
Stringthe ip address of the machine.
-
setIPAddress
-
getCaCertLocations
Retrieves the location of the CA certificate files. It first checks the X509_CERT_DIR system property. If the property is not set, it checks next the 'cacert' property in the current configuration. If that property is not set, it tries to find the certificates using the following rules:
First the ${user.home}/.globus/certificates directory is checked. If the directory does not exist, and on a Unix machine, the /etc/grid-security/certificates directory is checked next. If that directory does not exist and GLOBUS_LOCATION system property is set then the ${GLOBUS_LOCATION}/share/certificates directory is checked. Otherwise, null is returned. This indicates that the certificates directory could not be found.
Moreover, this function can return multiple file and directory locations. The locations must be comma separated.- Returns:
Stringthe locations of the CA certificates
-
setCaCertLocations
-
getProxyFile
Retrieves the location of the proxy file. It first checks the X509_USER_PROXY system property. If the property is not set, it checks next the 'proxy' property in the current configuration. If that property is not set, then it defaults to a value based on the following rules:
If a UID system property is set, and running on a Unix machine it returns /tmp/x509up_u${UID}. If any other machine then Unix, it returns ${tempdir}/x509up_u${UID}, where tempdir is a platform-specific temporary directory as indicated by the java.io.tmpdir system property. If a UID system property is not set, the username will be used instead of the UID. That is, it returns ${tempdir}/x509up_u_${username}
This is done this way because Java is not able to obtain the current uid.- Returns:
Stringthe location of the proxy file
-
setProxyFile
-
getTcpPortRange
Returns the tcp port range. It first checks the 'GLOBUS_TCP_PORT_RANGE' system property. If that system property is not set then 'org.globus.tcp.port.range' system property is checked. If that system property is not set then it returns the value specified in the configuration file. Returns null if the port range is not defined.
The port range is in the following form: <minport>, <maxport>- Returns:
Stringthe port range.
-
getTcpSourcePortRange
Returns the tcp source port range. It first checks the 'GLOBUS_TCP_SOURCE_PORT_RANGE' system property. If that system property is not set then 'org.globus.source.tcp.port.range' system property is checked. If that system property is not set then it returns the value specified in the configuration file. Returns null if the port range is not defined.
The port range is in the following form: <minport>, <maxport>- Returns:
Stringthe port range.
-
getUdpSourcePortRange
Returns the udp source port range. It first checks the 'GLOBUS_UDP_SOURCE_PORT_RANGE' system property. If that system property is not set then 'org.globus.source.udp.port.range' system property is checked. If that system property is not set then it returns the value specified in the configuration file. Returns null if the port range is not defined.
The port range is in the following form: <minport>, <maxport>- Returns:
Stringthe port range.
-
useDevRandom
public boolean useDevRandom()Returns whether to use the /dev/urandom device for seed generation.- Returns:
- true if the device should be used (if available of course) Returns true by default unless specified otherwise by the user.
-
enforceSigningPolicy
public boolean enforceSigningPolicy() -
getDelegationKeyCacheLifetime
public int getDelegationKeyCacheLifetime()Returns the delegation key cache lifetime for all delegations from this JVM. If this property is not set or set to zero or less, no caching is done.- Returns:
- the number of milliseconds the key/pair is cached
-
getCRLCacheLifetime
Deprecated.replaced bygetCertCacheLifetime()Returns the CRL cache lifetime. If this property is set to zero or less, no caching is done. The value is the number of milliseconds the CRLs are cached without checking for modifications on disk. Defaults to 60s.- Returns:
- the CRL cache lifetime in milliseconds
- Throws:
NumberFormatException- if the cache lifetime property could not be parsed
-
getCertCacheLifetime
Returns the Cert cache lifetime. If this property is set to zero or less, no caching is done. The value is the number of milliseconds the certificates are cached without checking for modifications on disk. Defaults to 60s.- Returns:
- the Cert cache lifetime in milliseconds
- Throws:
NumberFormatException- if the cache lifetime property could not be parsed
-
getReveseDNSCacheLifetime
Returns the reverse DNS cache time. Defaults to 1h.- Returns:
- the reverse DNS cache lifetime in milliseconds
- Throws:
NumberFormatException- if the cache lifetime property could not be parsed
-
getReverseDNSCacheType
Returns the reverse DNS cache type. Defaults to a threaded chache.- Returns:
- the type of cache for reverse DNS requests
-
getSecureRandomProvider
-
getSecureRandomAlgorithm
-
getSocketTimeout
public int getSocketTimeout()Returns the timeout (in milliseconds) for sockets operations. The default timeout of 30 seconds (30,000 ms) is returned.- Returns:
- The timeout for sockets operations. Defaults to 30 seconds.
-
setSocketTimeout
public void setSocketTimeout(int socketTimeout) -
getProxyStrength
public int getProxyStrength() -
setProxyStrength
public void setProxyStrength(int strength) -
getProxyLifeTime
public int getProxyLifeTime() -
setProxyLifeTime
public void setProxyLifeTime(int lifeTimeInHours) -
getAsBoolean
-
getAsInt
-
isNullOrEmpty
-
getCertCacheLifetime()