com.sun.grizzly
Class SSLConfig

java.lang.Object
  extended by com.sun.grizzly.SSLConfig

public class SSLConfig
extends Object

SSL configuration helper.

Author:
Alexey Stashok, Hubert Iwaniuk, Bruno Harbulot

Field Summary
static SSLConfig DEFAULT_CONFIG
          Default SSL configuration.
static String KEY_FACTORY_MANAGER_ALGORITHM
           
static String KEY_STORE_FILE
           
static String KEY_STORE_PASSWORD
           
static String KEY_STORE_PROVIDER
           
static String KEY_STORE_TYPE
           
static String TRUST_FACTORY_MANAGER_ALGORITHM
           
static String TRUST_STORE_FILE
           
static String TRUST_STORE_PASSWORD
           
static String TRUST_STORE_PROVIDER
           
static String TRUST_STORE_TYPE
           
 
Constructor Summary
SSLConfig()
          Default constructor.
SSLConfig(boolean readSystemProperties)
          Constructor that allows you creating empty configuration.
 
Method Summary
 SSLContext createSSLContext()
           
 int getSslInactivityTimeout()
           
 boolean isClientMode()
           
 boolean isNeedClientAuth()
           
 boolean isWantClientAuth()
           
 void retrieve(Properties props)
           
 void setClientMode(boolean clientMode)
           
 void setKeyManagerFactoryAlgorithm(String keyManagerFactoryAlgorithm)
          Sets the key manager factory algorithm.
 void setKeyPass(char[] keyPass)
          Password of the key in the key store.
 void setKeyPass(String keyPass)
          Password of the key in the key store.
 void setKeyStoreBytes(byte[] keyStoreBytes)
          Sets key store payload as byte array.
 void setKeyStoreFile(String keyStoreFile)
          Sets key store file name, also makes sure that if other key store configuration parameters are not set to set them to default values.
 void setKeyStorePass(char[] keyStorePass)
          Password of key store.
 void setKeyStorePass(String keyStorePass)
          Password of key store.
 void setKeyStoreProvider(String keyStoreProvider)
          Sets the key store provider name.
 void setKeyStoreType(String keyStoreType)
          Type of key store.
 void setNeedClientAuth(boolean needClientAuth)
           
 void setSecurityProtocol(String securityProtocol)
          Sets the SSLContext protocole.
 void setSslInactivityTimeout(int sslInactivityTimeout)
           
 void setTrustManagerFactoryAlgorithm(String trustManagerFactoryAlgorithm)
          Sets the trust manager factory algorithm.
 void setTrustStoreBytes(byte[] trustStoreBytes)
          Sets trust store payload as byte array.
 void setTrustStoreFile(String trustStoreFile)
          Sets trust store file name, also makes sure that if other trust store configuration parameters are not set to set them to default values.
 void setTrustStorePass(String trustStorePass)
          Password of trust store.
 void setTrustStoreProvider(String trustStoreProvider)
          Sets the trust store provider name.
 void setTrustStoreType(String trustStoreType)
          Type of trust store.
 void setWantClientAuth(boolean wantClientAuth)
           
 boolean validateConfiguration()
          Validates SSLConfig configuration.
 boolean validateConfiguration(boolean needsKeyStore)
          Validates SSLConfig configuration.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TRUST_STORE_PROVIDER

public static final String TRUST_STORE_PROVIDER
See Also:
Constant Field Values

KEY_STORE_PROVIDER

public static final String KEY_STORE_PROVIDER
See Also:
Constant Field Values

TRUST_STORE_FILE

public static final String TRUST_STORE_FILE
See Also:
Constant Field Values

KEY_STORE_FILE

public static final String KEY_STORE_FILE
See Also:
Constant Field Values

TRUST_STORE_PASSWORD

public static final String TRUST_STORE_PASSWORD
See Also:
Constant Field Values

KEY_STORE_PASSWORD

public static final String KEY_STORE_PASSWORD
See Also:
Constant Field Values

TRUST_STORE_TYPE

public static final String TRUST_STORE_TYPE
See Also:
Constant Field Values

KEY_STORE_TYPE

public static final String KEY_STORE_TYPE
See Also:
Constant Field Values

KEY_FACTORY_MANAGER_ALGORITHM

public static final String KEY_FACTORY_MANAGER_ALGORITHM
See Also:
Constant Field Values

TRUST_FACTORY_MANAGER_ALGORITHM

public static final String TRUST_FACTORY_MANAGER_ALGORITHM
See Also:
Constant Field Values

DEFAULT_CONFIG

public static SSLConfig DEFAULT_CONFIG
Default SSL configuration. If you have changed any of System.getProperties() of javax.net.ssl family you should refresh this configuration by calling retrieve(java.util.Properties).

Constructor Detail

SSLConfig

public SSLConfig()
Default constructor. Reads configuration properties from System.getProperties(). Calls SSLConfig(boolean) with true.


SSLConfig

public SSLConfig(boolean readSystemProperties)
Constructor that allows you creating empty configuration.

Parameters:
readSystemProperties - If true populates configuration from System.getProperties(), else you have empty configuration.
Method Detail

setTrustStoreProvider

public void setTrustStoreProvider(String trustStoreProvider)
Sets the trust store provider name.

Parameters:
trustStoreProvider - Trust store provider to set.

setKeyStoreProvider

public void setKeyStoreProvider(String keyStoreProvider)
Sets the key store provider name.

Parameters:
keyStoreProvider - Key store provider to set.

setTrustStoreType

public void setTrustStoreType(String trustStoreType)
Type of trust store.

Parameters:
trustStoreType - Type of trust store to set.

setKeyStoreType

public void setKeyStoreType(String keyStoreType)
Type of key store.

Parameters:
keyStoreType - Type of key store to set.

setTrustStorePass

public void setTrustStorePass(String trustStorePass)
Password of trust store.

Parameters:
trustStorePass - Password of trust store to set.

setKeyStorePass

public void setKeyStorePass(String keyStorePass)
Password of key store.

Parameters:
keyStorePass - Password of key store to set.

setKeyStorePass

public void setKeyStorePass(char[] keyStorePass)
Password of key store.

Parameters:
keyStorePass - Password of key store to set.

setKeyPass

public void setKeyPass(String keyPass)
Password of the key in the key store.

Parameters:
keyPass - Password of key to set.

setKeyPass

public void setKeyPass(char[] keyPass)
Password of the key in the key store.

Parameters:
keyPass - Password of key to set.

setTrustStoreFile

public void setTrustStoreFile(String trustStoreFile)
Sets trust store file name, also makes sure that if other trust store configuration parameters are not set to set them to default values. Method resets trust store bytes if any have been set before via setTrustStoreBytes(byte[]).

Parameters:
trustStoreFile - File name of trust store.

setTrustStoreBytes

public void setTrustStoreBytes(byte[] trustStoreBytes)
Sets trust store payload as byte array. Method resets trust store file if any has been set before via setTrustStoreFile(java.lang.String).

Parameters:
trustStoreBytes - trust store payload.

setKeyStoreFile

public void setKeyStoreFile(String keyStoreFile)
Sets key store file name, also makes sure that if other key store configuration parameters are not set to set them to default values. Method resets key store bytes if any have been set before via setKeyStoreBytes(byte[]).

Parameters:
keyStoreFile - File name of key store.

setKeyStoreBytes

public void setKeyStoreBytes(byte[] keyStoreBytes)
Sets key store payload as byte array. Method resets key store file if any has been set before via setKeyStoreFile(java.lang.String).

Parameters:
keyStoreBytes - key store payload.

setTrustManagerFactoryAlgorithm

public void setTrustManagerFactoryAlgorithm(String trustManagerFactoryAlgorithm)
Sets the trust manager factory algorithm.

Parameters:
trustManagerFactoryAlgorithm - the trust manager factory algorithm.

setKeyManagerFactoryAlgorithm

public void setKeyManagerFactoryAlgorithm(String keyManagerFactoryAlgorithm)
Sets the key manager factory algorithm.

Parameters:
keyManagerFactoryAlgorithm - the key manager factory algorithm.

setSecurityProtocol

public void setSecurityProtocol(String securityProtocol)
Sets the SSLContext protocole. The default value is TLS if this is null.

Parameters:
securityProtocol -

isNeedClientAuth

public boolean isNeedClientAuth()

setNeedClientAuth

public void setNeedClientAuth(boolean needClientAuth)

isWantClientAuth

public boolean isWantClientAuth()

setWantClientAuth

public void setWantClientAuth(boolean wantClientAuth)

isClientMode

public boolean isClientMode()

setClientMode

public void setClientMode(boolean clientMode)

getSslInactivityTimeout

public int getSslInactivityTimeout()

setSslInactivityTimeout

public void setSslInactivityTimeout(int sslInactivityTimeout)

validateConfiguration

public boolean validateConfiguration()
Validates SSLConfig configuration.

Returns:
true iff configuration is valid, else false.

validateConfiguration

public boolean validateConfiguration(boolean needsKeyStore)
Validates SSLConfig configuration.

Parameters:
needsKeyStore - forces failure if no keystore is specified.
Returns:
true iff configuration is valid, else false.

createSSLContext

public SSLContext createSSLContext()

retrieve

public void retrieve(Properties props)


Copyright © 2013 Oracle Corporation. All Rights Reserved.