Class SSLConfig

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, java.util.Map<java.lang.Object,​java.lang.Object>

    public class SSLConfig
    extends java.util.Properties
    SSLConfig is responsible for maintaining all of the properties for an individual SSL configuration that can be used to create an SSLContext.

    This class represents a single SSLConfig in the runtime. It uses an underlying Properties object to hold the data.

    Since:
    WAS 7.0
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      SSLConfig()
      Constructor.
      SSLConfig​(java.lang.String configURL)
      Constructor.
      SSLConfig​(java.util.Properties props)
      Constructor.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void decodePasswords()
      This method attempts to decode the values of any property that contains "password" in any case.
      boolean equals​(java.lang.Object config)
      This method determines if the current instance of SSLConfig equals the one passed into the equals method.
      java.lang.String getDynamicSelectionProperty()
      This method returns the com.ibm.ssl.dynamicSelectionInfo property value.
      SSLConfig[] loadPropertiesFile​(java.lang.String propertiesURL, boolean multiConfigURL)
      Load ConfigURL from a url string that names a properties file.
      boolean requiredPropertiesArePresent()
      This ensures there is at least a keystore, truststore or crypto configured.
      java.lang.Object setProperty​(java.lang.String name, java.lang.String value, boolean processEscapeSequences)
      Set the given name/value pair as a property.
      java.lang.String toString()
      This method prints the SSL properties to trace without printing passwords.
      void validateSSLConfig()
      This method attempts to validate a set of SSL configuration properties by trying to create an SSLContext from them.
      static java.lang.String validateURL​(java.lang.String propertiesURL)
      This method tries to normalize the ConfigURL value in an attempt to correct any URL parsing errors.
      • Methods inherited from class java.util.Properties

        clear, clone, compute, computeIfAbsent, computeIfPresent, contains, containsKey, containsValue, elements, entrySet, forEach, get, getOrDefault, getProperty, getProperty, hashCode, isEmpty, keys, keySet, list, list, load, load, loadFromXML, merge, propertyNames, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, save, setProperty, size, store, store, storeToXML, storeToXML, storeToXML, stringPropertyNames, values
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • SSLConfig

        public SSLConfig()
        Constructor.
      • SSLConfig

        public SSLConfig​(java.util.Properties props)
        Constructor.
        Parameters:
        props -
      • SSLConfig

        public SSLConfig​(java.lang.String configURL)
        Constructor.
        Parameters:
        configURL -
    • Method Detail

      • validateSSLConfig

        public void validateSSLConfig()
                               throws java.lang.Exception
        This method attempts to validate a set of SSL configuration properties by trying to create an SSLContext from them. An error message will be printed whenever validation is enabled and it fails.
        Throws:
        java.lang.Exception
      • requiredPropertiesArePresent

        public boolean requiredPropertiesArePresent()
        This ensures there is at least a keystore, truststore or crypto configured.
        Returns:
        boolean
      • toString

        public java.lang.String toString()
        This method prints the SSL properties to trace without printing passwords. Any property that contains "password" in any case will have the value masked.
        Overrides:
        toString in class java.util.Properties
        Returns:
        String
        See Also:
        Object.toString()
      • loadPropertiesFile

        public SSLConfig[] loadPropertiesFile​(java.lang.String propertiesURL,
                                              boolean multiConfigURL)
        Load ConfigURL from a url string that names a properties file. This method does not check that values are in valid range,
        Parameters:
        propertiesURL - - the properties file to load the SSL properties
        multiConfigURL -
        Returns:
        SSLConfig[]
      • decodePasswords

        public void decodePasswords()
        This method attempts to decode the values of any property that contains "password" in any case. If the value is not decoded, it simply leaves it alone, otherwise the encoded value is decoded.
      • validateURL

        public static java.lang.String validateURL​(java.lang.String propertiesURL)
        This method tries to normalize the ConfigURL value in an attempt to correct any URL parsing errors.
        Parameters:
        propertiesURL -
        Returns:
        String
      • getDynamicSelectionProperty

        public java.lang.String getDynamicSelectionProperty()
        This method returns the com.ibm.ssl.dynamicSelectionInfo property value.
        Returns:
        String
      • equals

        public boolean equals​(java.lang.Object config)
        This method determines if the current instance of SSLConfig equals the one passed into the equals method. This is called to verify if an SSLConfig changed when the properties.
        Specified by:
        equals in interface java.util.Map<java.lang.Object,​java.lang.Object>
        Overrides:
        equals in class java.util.Properties
        Parameters:
        config -
        Returns:
        boolean
      • setProperty

        public java.lang.Object setProperty​(java.lang.String name,
                                            java.lang.String value,
                                            boolean processEscapeSequences)
        Set the given name/value pair as a property. The process flag determines whether to check for and handle unicode characters in the provided value.
        Parameters:
        name -
        value -
        processEscapeSequences -
        Returns:
        Object - value stored