public class SSLContextFactoryBean
extends AbstractFactoryBean
org.springframework.beans.factory.FactoryBean implementation 
 which makes it possible to configure SSLContext 
 instances using Spring.
 
 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.
 
| 构造器和说明 | 
|---|
SSLContextFactoryBean()  | 
| 限定符和类型 | 方法和说明 | 
|---|---|
protected java.lang.Object | 
createInstance()  | 
java.lang.Class | 
getObjectType()  | 
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 | 
setSecureRandom(java.security.SecureRandom secureRandom)
Sets the  
SecureRandom to use when initializing the 
 SSLContext. | 
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). | 
protected java.lang.Object createInstance()
                                   throws java.lang.Exception
java.lang.Exceptionpublic java.lang.Class getObjectType()
public void setProtocol(java.lang.String protocol)
SSLContext. The
 default is TLS.protocol - the name of the protocol.java.lang.IllegalArgumentException - if the specified value is 
         null.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.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.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)