public class SSLContextFactoryBean
extends java.lang.Object
SSLContext.
This object holds the configurable properties for an SSL context and uses
them to create an SSLContext instance.
| Modifier and Type | Field and Description |
|---|---|
private static java.lang.String |
JSSE_KEY_STORE_PROPERTY |
private static java.lang.String |
JSSE_TRUST_STORE_PROPERTY |
private KeyManagerFactoryFactoryBean |
keyManagerFactory |
private KeyStoreFactoryBean |
keyStore |
private java.lang.String |
protocol |
private java.lang.String |
provider |
private SecureRandomFactoryBean |
secureRandom |
private TrustManagerFactoryFactoryBean |
trustManagerFactory |
private KeyStoreFactoryBean |
trustStore |
| Constructor and Description |
|---|
SSLContextFactoryBean() |
| Modifier and Type | Method and Description |
|---|---|
javax.net.ssl.SSLContext |
createContext(ContextAware context)
Creates a new
SSLContext using the receiver's configuration. |
private javax.net.ssl.KeyManager[] |
createKeyManagers(ContextAware context)
Creates key managers using the receiver's key store configuration.
|
private java.security.SecureRandom |
createSecureRandom(ContextAware context) |
private javax.net.ssl.TrustManager[] |
createTrustManagers(ContextAware context)
Creates trust managers using the receiver's trust store configuration.
|
KeyManagerFactoryFactoryBean |
getKeyManagerFactory()
Gets the key manager factory configuration.
|
KeyStoreFactoryBean |
getKeyStore()
Gets the key store configuration.
|
java.lang.String |
getProtocol()
Gets the secure transport protocol name.
|
java.lang.String |
getProvider()
Gets the JSSE provider name for the SSL context.
|
SecureRandomFactoryBean |
getSecureRandom()
Gets the secure random generator configuration.
|
TrustManagerFactoryFactoryBean |
getTrustManagerFactory()
Gets the trust manager factory configuration.
|
KeyStoreFactoryBean |
getTrustStore()
Gets the trust store configuration.
|
private KeyStoreFactoryBean |
keyStoreFromSystemProperties(java.lang.String property)
Constructs a key store factory bean using JSSE system properties.
|
private java.lang.String |
locationFromSystemProperty(java.lang.String name)
Constructs a resource location from a JSSE system property.
|
void |
setKeyManagerFactory(KeyManagerFactoryFactoryBean keyManagerFactory)
Sets the key manager factory configuration.
|
void |
setKeyStore(KeyStoreFactoryBean keyStore)
Sets the key store configuration.
|
void |
setProtocol(java.lang.String protocol)
Sets the secure transport protocol name.
|
void |
setProvider(java.lang.String provider)
Sets the JSSE provider name for the SSL context.
|
void |
setSecureRandom(SecureRandomFactoryBean secureRandom)
Sets the secure random generator configuration.
|
void |
setTrustManagerFactory(TrustManagerFactoryFactoryBean trustManagerFactory)
Sets the trust manager factory configuration.
|
void |
setTrustStore(KeyStoreFactoryBean trustStore)
Sets the trust store configuration.
|
private static final java.lang.String JSSE_KEY_STORE_PROPERTY
private static final java.lang.String JSSE_TRUST_STORE_PROPERTY
private KeyStoreFactoryBean keyStore
private KeyStoreFactoryBean trustStore
private SecureRandomFactoryBean secureRandom
private KeyManagerFactoryFactoryBean keyManagerFactory
private TrustManagerFactoryFactoryBean trustManagerFactory
private java.lang.String protocol
private java.lang.String provider
public javax.net.ssl.SSLContext createContext(ContextAware context) throws java.security.NoSuchProviderException, java.security.NoSuchAlgorithmException, java.security.KeyManagementException, java.security.UnrecoverableKeyException, java.security.KeyStoreException, java.security.cert.CertificateException
SSLContext using the receiver's configuration.context - context for status messagesSSLContext objectjava.security.NoSuchProviderException - if a provider specified for one of the
JCA or JSSE components utilized in creating the context is not
known to the platformjava.security.NoSuchAlgorithmException - if a JCA or JSSE algorithm, protocol,
or type name specified for one of the context's components is not
known to a given provider (or platform default provider for the
component)java.security.KeyManagementException - if an error occurs in creating a
KeyManager for the contextjava.security.UnrecoverableKeyException - if a private key needed by a
KeyManager cannot be obtained from a key storejava.security.KeyStoreException - if an error occurs in reading the
contents of a key storejava.security.cert.CertificateException - if an error occurs in reading the
contents of a certificateprivate javax.net.ssl.KeyManager[] createKeyManagers(ContextAware context) throws java.security.NoSuchProviderException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException, java.security.KeyStoreException
context - context for status messagesnull if no key store
configuration was providedjava.security.NoSuchProviderException - if a provider specified for one
of the key manager components is not known to the platformjava.security.NoSuchAlgorithmException - if an algorithm specified for
one of the key manager components is not known to the relevant
providerjava.security.KeyStoreException - if an error occurs in reading a key storejava.security.UnrecoverableKeyExceptionprivate javax.net.ssl.TrustManager[] createTrustManagers(ContextAware context) throws java.security.NoSuchProviderException, java.security.NoSuchAlgorithmException, java.security.KeyStoreException
context - context for status messagesnull if no trust store
configuration was providedjava.security.NoSuchProviderException - if a provider specified for one
of the trust manager components is not known to the platformjava.security.NoSuchAlgorithmException - if an algorithm specified for
one of the trust manager components is not known to the relevant
providerjava.security.KeyStoreException - if an error occurs in reading a key
store containing trust anchorsprivate java.security.SecureRandom createSecureRandom(ContextAware context) throws java.security.NoSuchProviderException, java.security.NoSuchAlgorithmException
java.security.NoSuchProviderExceptionjava.security.NoSuchAlgorithmExceptionpublic KeyStoreFactoryBean getKeyStore()
null if no key store
configuration was providedpublic void setKeyStore(KeyStoreFactoryBean keyStore)
keyStore - the key store factory bean to setpublic KeyStoreFactoryBean getTrustStore()
null if no trust store
configuration was providedpublic void setTrustStore(KeyStoreFactoryBean trustStore)
trustStore - the trust store factory bean to setprivate KeyStoreFactoryBean keyStoreFromSystemProperties(java.lang.String property)
property - base property name (e.g. javax.net.ssl.keyStore)null if no value is defined for the
base system property nameprivate java.lang.String locationFromSystemProperty(java.lang.String name)
name - property name (e.g. javax.net.ssl.keyStore)null
if no value is defined for the propertypublic SecureRandomFactoryBean getSecureRandom()
public void setSecureRandom(SecureRandomFactoryBean secureRandom)
secureRandom - the secure random factory bean to setpublic KeyManagerFactoryFactoryBean getKeyManagerFactory()
public void setKeyManagerFactory(KeyManagerFactoryFactoryBean keyManagerFactory)
keyManagerFactory - the key manager factory factory bean to setpublic TrustManagerFactoryFactoryBean getTrustManagerFactory()
public void setTrustManagerFactory(TrustManagerFactoryFactoryBean trustManagerFactory)
trustManagerFactory - the factory bean to setpublic java.lang.String getProtocol()
SSL, TLS); the
SSL.DEFAULT_PROTOCOL is returned if no protocol has been
configuredpublic void setProtocol(java.lang.String protocol)
protocol - a protocol name, which must be recognized by the provider
specified by setProvider(String) or by the platform's
default provider if no platform was specified.public java.lang.String getProvider()
public void setProvider(java.lang.String provider)
provider - name of the JSSE provider to use in creating the
SSL context