public class SslContextFactory extends Object
SSLContext.
If no properties are set the returned SSLContext will be equivalent
to what the following creates:
SSLContext c = SSLContext.getInstance("TLSv1.2");
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() |
public SSLContext newInstance() throws Exception
KeyManagerFactory and the
TrustManagerFactory.Exception - If we weren't able to create the SSLContext insyancepublic void setProvider(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(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(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(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(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(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(String password)
KeyManagerFactory.init(java.security.KeyStore, char[]) when the
SSLContext is created.password - the password. Use null to disable password.public void setTrustManagerFactory(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(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(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(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(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(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–2024 Apache MINA Project. All rights reserved.