public class SslContextFactory
extends java.lang.Object
SSLContext
.
If no properties are set the returned SSLContext
will
be equivalent to what the following creates:
SSLContext c = SSLContext.getInstance( "TLS" ); c.init(null, null, null);
Use the properties prefixed with keyManagerFactory
to control
the creation of the KeyManager
to be used.
Use the properties prefixed with trustManagerFactory
to control
the creation of the TrustManagerFactory
to be used.
Constructor and Description |
---|
SslContextFactory() |
Modifier and Type | Method and Description |
---|---|
javax.net.ssl.SSLContext |
newInstance() |
void |
setClientSessionCacheSize(int size)
Sets the SSLSession cache size for the
SSLSessionContext for use in client mode. |
void |
setClientSessionTimeout(int seconds)
Set the SSLSession timeout limit for the
SSLSessionContext for use in client mode. |
void |
setKeyManagerFactory(javax.net.ssl.KeyManagerFactory factory)
Sets the
KeyManagerFactory to use. |
void |
setKeyManagerFactoryAlgorithm(java.lang.String algorithm)
Sets the algorithm to use when creating the
KeyManagerFactory
using KeyManagerFactory.getInstance(java.lang.String) or
KeyManagerFactory.getInstance(java.lang.String, java.lang.String) . |
void |
setKeyManagerFactoryAlgorithmUseDefault(boolean useDefault)
If this is set to
true while no KeyManagerFactory
has been set using setKeyManagerFactory(KeyManagerFactory) and
no algorithm has been set using
setKeyManagerFactoryAlgorithm(String) the default algorithm
return by KeyManagerFactory.getDefaultAlgorithm() will be used. |
void |
setKeyManagerFactoryKeyStore(java.security.KeyStore keyStore)
Sets the
KeyStore which will be used in the call to
KeyManagerFactory.init(java.security.KeyStore, char[]) when
the SSLContext is created. |
void |
setKeyManagerFactoryKeyStorePassword(java.lang.String password)
Sets the password which will be used in the call to
KeyManagerFactory.init(java.security.KeyStore, char[]) when
the SSLContext is created. |
void |
setKeyManagerFactoryProvider(java.lang.String provider)
Sets the provider to use when creating the
KeyManagerFactory
using
KeyManagerFactory.getInstance(java.lang.String, java.lang.String) . |
void |
setProtocol(java.lang.String protocol)
Sets the protocol to use when creating the
SSLContext . |
void |
setProvider(java.lang.String provider)
Sets the provider of the new
SSLContext . |
void |
setSecureRandom(java.security.SecureRandom secureRandom)
Sets the
SecureRandom to use when initializing the
SSLContext . |
void |
setServerSessionCacheSize(int serverSessionCacheSize)
Sets the SSLSession cache size for the
SSLSessionContext for use in server mode. |
void |
setServerSessionTimeout(int serverSessionTimeout)
Set the SSLSession timeout limit for the
SSLSessionContext for use in server mode. |
void |
setTrustManagerFactory(javax.net.ssl.TrustManagerFactory factory)
Sets the
TrustManagerFactory to use. |
void |
setTrustManagerFactoryAlgorithm(java.lang.String algorithm)
Sets the algorithm to use when creating the
TrustManagerFactory
using TrustManagerFactory.getInstance(java.lang.String) or
TrustManagerFactory.getInstance(java.lang.String, java.lang.String) . |
void |
setTrustManagerFactoryAlgorithmUseDefault(boolean useDefault)
If this is set to
true while no TrustManagerFactory
has been set using setTrustManagerFactory(TrustManagerFactory) and
no algorithm has been set using
setTrustManagerFactoryAlgorithm(String) the default algorithm
return by TrustManagerFactory.getDefaultAlgorithm() will be used. |
void |
setTrustManagerFactoryKeyStore(java.security.KeyStore keyStore)
Sets the
KeyStore which will be used in the call to
TrustManagerFactory.init(java.security.KeyStore) when
the SSLContext is created. |
void |
setTrustManagerFactoryParameters(javax.net.ssl.ManagerFactoryParameters parameters)
Sets the
ManagerFactoryParameters which will be used in the call to
TrustManagerFactory.init(javax.net.ssl.ManagerFactoryParameters) when
the SSLContext is created. |
void |
setTrustManagerFactoryProvider(java.lang.String provider)
Sets the provider to use when creating the
TrustManagerFactory
using
TrustManagerFactory.getInstance(java.lang.String, java.lang.String) . |
public javax.net.ssl.SSLContext newInstance() throws java.lang.Exception
java.lang.Exception
public void setProvider(java.lang.String provider)
SSLContext
. The default value is
null, which means the default provider will be used.provider
- the name of the SSLContext
providerpublic void setProtocol(java.lang.String protocol)
SSLContext
. The
default is TLS
.protocol
- the name of the protocol.public void setKeyManagerFactoryAlgorithmUseDefault(boolean useDefault)
true
while no KeyManagerFactory
has been set using setKeyManagerFactory(KeyManagerFactory)
and
no algorithm has been set using
setKeyManagerFactoryAlgorithm(String)
the default algorithm
return by KeyManagerFactory.getDefaultAlgorithm()
will be used.
The default value of this property is true.useDefault
- true
or false
.public void setTrustManagerFactoryAlgorithmUseDefault(boolean useDefault)
true
while no TrustManagerFactory
has been set using setTrustManagerFactory(TrustManagerFactory)
and
no algorithm has been set using
setTrustManagerFactoryAlgorithm(String)
the default algorithm
return by TrustManagerFactory.getDefaultAlgorithm()
will be used.
The default value of this property is true.useDefault
- true
or false
.public void setKeyManagerFactory(javax.net.ssl.KeyManagerFactory factory)
KeyManagerFactory
to use. If this is set the properties
which are used by this factory bean to create a KeyManagerFactory
will all be ignored.factory
- the factory.public void setKeyManagerFactoryAlgorithm(java.lang.String algorithm)
KeyManagerFactory
using KeyManagerFactory.getInstance(java.lang.String)
or
KeyManagerFactory.getInstance(java.lang.String, java.lang.String)
.
This property will be ignored if a KeyManagerFactory
has been
set directly using setKeyManagerFactory(KeyManagerFactory)
.
If this property isn't set while no KeyManagerFactory
has been
set using setKeyManagerFactory(KeyManagerFactory)
and
setKeyManagerFactoryAlgorithmUseDefault(boolean)
has been set to
true
the value returned
by KeyManagerFactory.getDefaultAlgorithm()
will be used instead.
algorithm
- the algorithm to use.public void setKeyManagerFactoryProvider(java.lang.String provider)
KeyManagerFactory
using
KeyManagerFactory.getInstance(java.lang.String, java.lang.String)
.
This property will be ignored if a KeyManagerFactory
has been
set directly using setKeyManagerFactory(KeyManagerFactory)
.
If this property isn't set and no KeyManagerFactory
has been set
using setKeyManagerFactory(KeyManagerFactory)
KeyManagerFactory.getInstance(java.lang.String)
will be used
to create the KeyManagerFactory
.
provider
- the name of the provider.public void setKeyManagerFactoryKeyStore(java.security.KeyStore keyStore)
KeyStore
which will be used in the call to
KeyManagerFactory.init(java.security.KeyStore, char[])
when
the SSLContext
is created.keyStore
- the key store.public void setKeyManagerFactoryKeyStorePassword(java.lang.String password)
KeyManagerFactory.init(java.security.KeyStore, char[])
when
the SSLContext
is created.password
- the password. Use null
to disable password.public void setTrustManagerFactory(javax.net.ssl.TrustManagerFactory factory)
TrustManagerFactory
to use. If this is set the
properties which are used by this factory bean to create a
TrustManagerFactory
will all be ignored.factory
- the factory.public void setTrustManagerFactoryAlgorithm(java.lang.String algorithm)
TrustManagerFactory
using TrustManagerFactory.getInstance(java.lang.String)
or
TrustManagerFactory.getInstance(java.lang.String, java.lang.String)
.
This property will be ignored if a TrustManagerFactory
has been
set directly using setTrustManagerFactory(TrustManagerFactory)
.
If this property isn't set while no TrustManagerFactory
has been
set using setTrustManagerFactory(TrustManagerFactory)
and
setTrustManagerFactoryAlgorithmUseDefault(boolean)
has been set to
true
the value returned
by TrustManagerFactory.getDefaultAlgorithm()
will be used instead.
algorithm
- the algorithm to use.public void setTrustManagerFactoryKeyStore(java.security.KeyStore keyStore)
KeyStore
which will be used in the call to
TrustManagerFactory.init(java.security.KeyStore)
when
the SSLContext
is created.
This property will be ignored if ManagerFactoryParameters
has been
set directly using setTrustManagerFactoryParameters(ManagerFactoryParameters)
.
keyStore
- the key store.public void setTrustManagerFactoryParameters(javax.net.ssl.ManagerFactoryParameters parameters)
ManagerFactoryParameters
which will be used in the call to
TrustManagerFactory.init(javax.net.ssl.ManagerFactoryParameters)
when
the SSLContext
is created.parameters
- describing provider-specific trust material.public void setTrustManagerFactoryProvider(java.lang.String provider)
TrustManagerFactory
using
TrustManagerFactory.getInstance(java.lang.String, java.lang.String)
.
This property will be ignored if a TrustManagerFactory
has been
set directly using setTrustManagerFactory(TrustManagerFactory)
.
If this property isn't set and no TrustManagerFactory
has been set
using setTrustManagerFactory(TrustManagerFactory)
TrustManagerFactory.getInstance(java.lang.String)
will be used
to create the TrustManagerFactory
.
provider
- the name of the provider.public void setSecureRandom(java.security.SecureRandom secureRandom)
SecureRandom
to use when initializing the
SSLContext
. The JVM's default will be used if this isn't set.secureRandom
- the SecureRandom
or null
if the
JVM's default should be used.SSLContext.init(javax.net.ssl.KeyManager[], javax.net.ssl.TrustManager[], java.security.SecureRandom)
public void setClientSessionCacheSize(int size)
SSLSessionContext
for use in client mode.size
- the new session cache size limit; zero means there is no limit.SSLSessionContext.setSessionCacheSize(int size)
public void setClientSessionTimeout(int seconds)
SSLSessionContext
for use in client mode.seconds
- the new session timeout limit in seconds; zero means there is no limit.SSLSessionContext.setSessionTimeout(int seconds)
public void setServerSessionCacheSize(int serverSessionCacheSize)
SSLSessionContext
for use in server mode.serverSessionCacheSize
- the new session cache size limit; zero means there is no limit.SSLSessionContext.setSessionCacheSize(int)
public void setServerSessionTimeout(int serverSessionTimeout)
SSLSessionContext
for use in server mode.serverSessionTimeout
- the new session timeout limit in seconds; zero means there is no limit.SSLSessionContext.setSessionTimeout(int)
Copyright © 2004-2019 Apache MINA Project. All Rights Reserved.