tigase.io

## Class SSLContextContainer

- java.lang.Object
- - tigase.io.SSLContextContainer

- All Implemented Interfaces:
    SSLContextContainerIfc

      public class SSLContextContainer
      extends Object
      implements SSLContextContainerIfc

  Created: Oct 15, 2010 2:40:49 PM
  Version:
    $Rev$
  Author:
    Artur Hefczyc

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `PER_DOMAIN_CERTIFICATE_KEY`

    - ### Fields inherited from interface tigase.io.SSLContextContainerIfc

      `ALLOW_INVALID_CERTS_KEY, ALLOW_INVALID_CERTS_VAL, ALLOW_SELF_SIGNED_CERTS_KEY, ALLOW_SELF_SIGNED_CERTS_VAL, CERT_ALIAS_KEY, CERT_SAVE_TO_DISK_KEY, DEFAULT_DOMAIN_CERT_KEY, DEFAULT_DOMAIN_CERT_VAL, JKS_KEYSTORE_FILE_KEY, JKS_KEYSTORE_FILE_VAL, JKS_KEYSTORE_PWD_KEY, JKS_KEYSTORE_PWD_VAL, PEM_CERTIFICATE_KEY, SERVER_CERTS_LOCATION_KEY, SERVER_CERTS_LOCATION_VAL, SSL_CONTAINER_CLASS_KEY, SSL_CONTAINER_CLASS_VAL, TRUSTED_CERTS_DIR_KEY, TRUSTED_CERTS_DIR_VAL, TRUSTSTORE_FILE_KEY, TRUSTSTORE_FILE_VAL, TRUSTSTORE_PWD_KEY, TRUSTSTORE_PWD_VAL`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SSLContextContainer()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addCertificates(Map<String,String> params)` Method description
    `static <T> T` | `find(Map<String,T> data, String key)`
    `SSLContext` | `getSSLContext(String protocol, String hostname, boolean clientMode)` Method `getSSLContext` creates and returns new SSLContext for a given domain (hostname).
    `SSLContext` | `getSSLContext(String protocol, String hostname, boolean clientMode, TrustManager... tms)` Method description
    `KeyStore` | `getTrustStore()` Method description
    `void` | `init(Map<String,Object> params)` Method description

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### PER_DOMAIN_CERTIFICATE_KEY

          public static final String PER_DOMAIN_CERTIFICATE_KEY

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### SSLContextContainer

          public SSLContextContainer()

  - ### Method Detail

    - #### addCertificates

          public void addCertificates(Map<String,String> params)
                               throws CertificateParsingException

      Method description
      Specified by:
        `addCertificates` in interface `SSLContextContainerIfc`
      Parameters:
        `params` -
      Throws:
        `CertificateParsingException`

    - #### getSSLContext

          public SSLContext getSSLContext(String protocol,
                                 String hostname,
                                 boolean clientMode)

      Description copied from interface: `SSLContextContainerIfc`
      Method `getSSLContext` creates and returns new SSLContext for a given domain (hostname). For creation of the SSLContext a certificate associated with this domain (hostname) should be used. If there is no specific certificate for a given domain then default certificate should be used.
      Specified by:
        `getSSLContext` in interface `SSLContextContainerIfc`
      Parameters:
        `protocol` - a `String` is either 'SSL' or 'TLS' value.
        `hostname` - a `String` value keeps a hostname or domain for SSLContext.
      Returns:
        a `SSLContext` value

    - #### find

          public static <T> T find(Map<String,T> data,
                   String key)

    - #### getSSLContext

          public SSLContext getSSLContext(String protocol,
                                 String hostname,
                                 boolean clientMode,
                                 TrustManager... tms)

      Method description
      Specified by:
        `getSSLContext` in interface `SSLContextContainerIfc`
      Parameters:
        `protocol` -
        `hostname` -

    - #### getTrustStore

          public KeyStore getTrustStore()

      Method description
      Specified by:
        `getTrustStore` in interface `SSLContextContainerIfc`
      Returns:
        a KeyStore with all trusted certificates, the KeyStore can be empty but cannot be null.

    - #### init

          public void init(Map<String,Object> params)

      Method description
      Specified by:
        `init` in interface `SSLContextContainerIfc`
      Parameters:
        `params` -

Copyright © 2013 Tigase. All rights reserved.