org.mule.transport.ssl
Class SslConnector
java.lang.Object
org.mule.transport.AbstractConnector
org.mule.transport.tcp.TcpConnector
org.mule.transport.ssl.SslConnector
- All Implemented Interfaces:
- EventListener, javax.resource.spi.work.WorkListener, Disposable, Initialisable, Lifecycle, LifecycleStateEnabled, Startable, Stoppable, NameableObject, NamedObject, TlsDirectKeyStore, TlsDirectTrustStore, TlsIndirectKeyStore, TlsIndirectTrustStore, TlsProtocolHandler, Connectable, Connector
- Direct Known Subclasses:
- TlsConnector
public class SslConnector
- extends TcpConnector
- implements TlsDirectKeyStore, TlsIndirectKeyStore, TlsDirectTrustStore, TlsProtocolHandler
SslConnector
provides a connector for SSL connections.
Note that the *only* function of the code in this package is to configure and
provide SSL enabled sockets. All other logic is identical to TCP.
Fields inherited from class org.mule.transport.AbstractConnector |
createMultipleTransactedReceivers, DEFAULT_NUM_CONCURRENT_TX_RECEIVERS, dispatcherFactory, dispatcherPoolFactory, dispatchers, initialStateStopped, lifecycleManager, logger, muleContext, muleMessageFactory, name, numberOfConcurrentTransactedReceivers, PROPERTY_POLLING_FREQUENCY, receivers, requesterFactory, requesters, serviceDescriptor, serviceOverrides, sessionHandler, startOnConnect |
Methods inherited from class org.mule.transport.tcp.TcpConnector |
configureSocket, doConnect, doDisconnect, doDispose, doStart, doStop, getBacklog, getBufferSize, getClientSoTimeout, getDispatchers, getKeepAliveMonitor, getKeepAliveTimeout, getOutputStream, getReceiveBacklog, getReceiveBufferSize, getSendBufferSize, getServerSocketFactory, getServerSoTimeout, getSocket, getSocketFactory, getSocketMaxWait, getSocketSoLinger, getSocketsPoolMaxActive, getSocketsPoolMaxIdle, getSocketsPoolMaxWait, getSocketsPoolNumActive, getTcpProtocol, isKeepAlive, isKeepSendSocketOpen, isResponseEnabled, isReuseAddress, isSendTcpNoDelay, setBacklog, setBufferSize, setClientSoTimeout, setDispatcherFactory, setKeepAlive, setKeepAliveTimeout, setKeepSendSocketOpen, setReceiveBacklog, setReceiveBufferSize, setReuseAddress, setSendBufferSize, setSendTcpNoDelay, setServerSocketFactory, setServerSoTimeout, setSocketFactory, setSocketMaxWait, setSocketSoLinger, setTcpProtocol, setTimeout |
Methods inherited from class org.mule.transport.AbstractConnector |
clearDispatchers, clearRequesters, configureDispatcherPool, connect, createDefaultRedeliveryPolicy, createDispatcherMessageProcessor, createMuleMessageFactory, createOperationResource, createReceiver, createScheduler, destroyReceiver, disconnect, dispose, disposeReceivers, disposeWorkManagers, doUnregisterListener, fireNotification, getConnectEventId, getConnectionDescription, getDefaultExchangePattern, getDefaultInboundTransformers, getDefaultOutboundTransformers, getDefaultResponseTransformers, getDispatcherFactory, getDispatcherPoolFactory, getDispatcherThreadingProfile, getDispatcherWorkManager, getInboundExchangePatterns, getLifecycleState, getMaxDispatchersActive, getMaxRequestersActive, getMaxTotalDispatchers, getMuleContext, getMuleMessageFactory, getName, getNumberOfConcurrentTransactedReceivers, getOperationResourceFactory, getOutboundExchangePatterns, getOutputStream, getReceiver, getReceiverKey, getReceivers, getReceivers, getReceiverThreadingProfile, getReceiverWorkManager, getReplyToHandler, getRequesterFactory, getRequesterThreadingProfile, getRequesterWorkManager, getRetryPolicyTemplate, getScheduler, getServiceDescriptor, getServiceOverrides, getSessionHandler, getSupportedProtocols, getTransactionalResource, handleWorkException, initFromServiceDescriptor, initialise, initialiseFromUrl, initWorkManagers, isConnected, isConnecting, isCreateMultipleTransactedReceivers, isDisposed, isEnableMessageEvents, isInitialised, isInitialStateStopped, isStarted, isStarting, isStopped, isStopping, isValidateConnections, lookupReceiver, registerListener, registerSupportedMetaProtocol, registerSupportedProtocol, registerSupportedProtocolWithoutPrefix, request, request, setConnected, setConnecting, setCreateMultipleTransactedReceivers, setDispatcherPoolFactory, setDispatcherPoolMaxWait, setDispatcherPoolWhenExhaustedAction, setDispatcherThreadingProfile, setDynamicNotification, setInitialStateStopped, setMaxDispatchersActive, setMaxRequestersActive, setName, setNumberOfConcurrentTransactedReceivers, setReceiverThreadingProfile, setRequesterFactory, setRequesterPoolMaxWait, setRequesterPoolWhenExhaustedAction, setRequesterThreadingProfile, setRetryPolicyTemplate, setServiceOverrides, setSessionHandler, setSupportedProtocols, setupDispatchReturn, setupRequestReturn, setValidateConnections, shutdownScheduler, start, startAfterConnect, stop, supportsProtocol, toString, unregisterListener, unregisterSupportedProtocol, updateCachedNotificationHandler, validateConnection, workAccepted, workCompleted, workRejected, workStarted |
SSL
public static final String SSL
- See Also:
- Constant Field Values
PEER_CERTIFICATES
public static final String PEER_CERTIFICATES
- See Also:
- Constant Field Values
LOCAL_CERTIFICATES
public static final String LOCAL_CERTIFICATES
- See Also:
- Constant Field Values
SslConnector
public SslConnector(MuleContext context)
doInitialise
protected void doInitialise()
throws InitialisationException
- Overrides:
doInitialise
in class TcpConnector
- Throws:
InitialisationException
getServerSocket
protected ServerSocket getServerSocket(URI uri)
throws IOException
- Overrides:
getServerSocket
in class TcpConnector
- Throws:
IOException
getProtocol
public String getProtocol()
- Specified by:
getProtocol
in interface Connector
- Overrides:
getProtocol
in class TcpConnector
- Returns:
- the primary protocol name for endpoints of this connector
getClientKeyStore
public String getClientKeyStore()
- Specified by:
getClientKeyStore
in interface TlsIndirectKeyStore
- Returns:
- The location (resolved relative to the current classpath and file system, if possible)
of the keystore that contains public certificates and private keys for identification.
getClientKeyStorePassword
public String getClientKeyStorePassword()
- Specified by:
getClientKeyStorePassword
in interface TlsIndirectKeyStore
- Returns:
- The password used to protect the keystore itself
getClientKeyStoreType
public String getClientKeyStoreType()
- Specified by:
getClientKeyStoreType
in interface TlsIndirectKeyStore
- Returns:
- The type of keystore used in
TlsIndirectKeyStore.setClientKeyStore(String)
getKeyManagerAlgorithm
public String getKeyManagerAlgorithm()
- Specified by:
getKeyManagerAlgorithm
in interface TlsDirectKeyStore
- Returns:
- The algorithm used by the key store. The default comes from {
getKeyManagerFactory
public KeyManagerFactory getKeyManagerFactory()
- Specified by:
getKeyManagerFactory
in interface TlsDirectKeyStore
- Returns:
- A source of key stores generated from the parameters supplied here.
getKeyPassword
public String getKeyPassword()
- Specified by:
getKeyPassword
in interface TlsDirectKeyStore
- Returns:
- The password used to protect the private key(s)
getKeyStore
public String getKeyStore()
- Specified by:
getKeyStore
in interface TlsDirectKeyStore
- Returns:
- The location (resolved relative to the current classpath and file system, if possible)
of the keystore that contains public certificates and private keys for identification.
getKeyAlias
public String getKeyAlias()
- Specified by:
getKeyAlias
in interface TlsDirectKeyStore
- Returns:
- The alias of the key from the key store.
getKeyStoreType
public String getKeyStoreType()
- Specified by:
getKeyStoreType
in interface TlsDirectKeyStore
- Returns:
- The type of keystore used in
TlsDirectKeyStore.getKeyStore()
getProtocolHandler
public String getProtocolHandler()
- Specified by:
getProtocolHandler
in interface TlsProtocolHandler
getProvider
public Provider getProvider()
getSecurityProviderFactory
public SecurityProviderFactory getSecurityProviderFactory()
getSslType
public String getSslType()
getKeyStorePassword
public String getKeyStorePassword()
- Specified by:
getKeyStorePassword
in interface TlsDirectKeyStore
- Returns:
- The password used to protect the keystore itself
getTrustManagerAlgorithm
public String getTrustManagerAlgorithm()
- Specified by:
getTrustManagerAlgorithm
in interface TlsDirectTrustStore
- Returns:
- The algorithm used by the trust store. The default comes from
AutoDiscoverySecurityProviderFactory
getTrustManagerFactory
public TrustManagerFactory getTrustManagerFactory()
- Specified by:
getTrustManagerFactory
in interface TlsDirectTrustStore
- Returns:
- Either the factory defined by
TlsDirectTrustStore.setTrustManagerFactory(TrustManagerFactory)
or one
constructed from the parameters in this interface (TlsDirectTrustStore.setTrustStoreType(String)
etc).
getTrustStore
public String getTrustStore()
- Specified by:
getTrustStore
in interface TlsIndirectTrustStore
- Returns:
- The location (resolved relative to the current classpath and file system, if possible)
of the keystore that contains public certificates of trusted servers.
getTrustStorePassword
public String getTrustStorePassword()
- Specified by:
getTrustStorePassword
in interface TlsIndirectTrustStore
- Returns:
- The password used to protected the trust store defined in
TlsIndirectTrustStore.getTrustStore()
getTrustStoreType
public String getTrustStoreType()
- Specified by:
getTrustStoreType
in interface TlsDirectTrustStore
- Returns:
- The type of keystore used to implement the trust store defined in
TlsIndirectTrustStore.getTrustStore()
isExplicitTrustStoreOnly
public boolean isExplicitTrustStoreOnly()
- Description copied from interface:
TlsDirectTrustStore
- If the trust store is undefined and the trust store generated via System properties then the
key store certificates defined via TODO can be used as a source of trust information.
- Specified by:
isExplicitTrustStoreOnly
in interface TlsDirectTrustStore
- Returns:
- true if the key store data should not be used when a trust store is otherwise
undefined
isRequireClientAuthentication
public boolean isRequireClientAuthentication()
- Description copied from interface:
TlsDirectTrustStore
- If a server socket is constructed directly (see
TlsConfiguration
) then this flag will
control whether client authenticatin is required. This does not apply to client connections.
- Specified by:
isRequireClientAuthentication
in interface TlsDirectTrustStore
- Returns:
- true if clients must be authenticated
setClientKeyStore
public void setClientKeyStore(String clientKeyStore)
throws IOException
- Specified by:
setClientKeyStore
in interface TlsIndirectKeyStore
- Parameters:
clientKeyStore
- The location of the keystore that contains public certificates and private keys
for identification.
- Throws:
IOException
- If the location cannot be resolved via the file system or classpath
setClientKeyStorePassword
public void setClientKeyStorePassword(String clientKeyStorePassword)
- Specified by:
setClientKeyStorePassword
in interface TlsIndirectKeyStore
- Parameters:
clientKeyStorePassword
- The password used to protect the keystore itself
setClientKeyStoreType
public void setClientKeyStoreType(String clientKeyStoreType)
- Specified by:
setClientKeyStoreType
in interface TlsIndirectKeyStore
setExplicitTrustStoreOnly
public void setExplicitTrustStoreOnly(boolean explicitTrustStoreOnly)
- Description copied from interface:
TlsDirectTrustStore
- If the trust store is undefined and the trust store generated via System properties then the
key store certificates defined via TODO can be used as a source of trust information.
- Specified by:
setExplicitTrustStoreOnly
in interface TlsDirectTrustStore
- Parameters:
explicitTrustStoreOnly
- true if the key store data should not be used when a trust
store is otherwise undefined
setKeyManagerAlgorithm
public void setKeyManagerAlgorithm(String keyManagerAlgorithm)
- Specified by:
setKeyManagerAlgorithm
in interface TlsDirectKeyStore
- Parameters:
keyManagerAlgorithm
- The algorithm used by the key store. The default comes from {
setKeyPassword
public void setKeyPassword(String keyPassword)
- Specified by:
setKeyPassword
in interface TlsDirectKeyStore
- Parameters:
keyPassword
- The password used to protect the private key(s)
setKeyStore
public void setKeyStore(String keyStore)
throws IOException
- Specified by:
setKeyStore
in interface TlsDirectKeyStore
- Parameters:
keyStore
- The location of the keystore that contains public certificates and private keys
for identification.
- Throws:
IOException
- If the location cannot be resolved via the file system or classpath
setKeyAlias
public void setKeyAlias(String alias)
- Specified by:
setKeyAlias
in interface TlsDirectKeyStore
- Parameters:
alias
- of the key from the key store.
setKeyStoreType
public void setKeyStoreType(String keystoreType)
- Specified by:
setKeyStoreType
in interface TlsDirectKeyStore
- Parameters:
keystoreType
- The type of keystore used in TlsDirectKeyStore.setKeyStore(String)
setProtocolHandler
public void setProtocolHandler(String protocolHandler)
- Specified by:
setProtocolHandler
in interface TlsProtocolHandler
setProvider
public void setProvider(Provider provider)
setRequireClientAuthentication
public void setRequireClientAuthentication(boolean requireClientAuthentication)
- Description copied from interface:
TlsDirectTrustStore
- If a server socket is constructed directly (see
TlsConfiguration
) then this flag will
control whether client authenticatin is required. This does not apply to client connections.
- Specified by:
setRequireClientAuthentication
in interface TlsDirectTrustStore
- Parameters:
requireClientAuthentication
- true if clients must be authenticated
setSecurityProviderFactory
public void setSecurityProviderFactory(SecurityProviderFactory spFactory)
setSslType
public void setSslType(String sslType)
setKeyStorePassword
public void setKeyStorePassword(String storePassword)
- Specified by:
setKeyStorePassword
in interface TlsDirectKeyStore
- Parameters:
storePassword
- The password used to protect the keystore itself
setTrustManagerAlgorithm
public void setTrustManagerAlgorithm(String trustManagerAlgorithm)
- Specified by:
setTrustManagerAlgorithm
in interface TlsDirectTrustStore
- Parameters:
trustManagerAlgorithm
- The algorithm used by the trust store. The default comes from
AutoDiscoverySecurityProviderFactory
setTrustManagerFactory
public void setTrustManagerFactory(TrustManagerFactory trustManagerFactory)
- Specified by:
setTrustManagerFactory
in interface TlsDirectTrustStore
- Parameters:
trustManagerFactory
- The source of trust information if the store is accessed directly
(some connectors generate trust stores indirectly through System properties in which case this
value will be ignored - see TlsConfiguration
).
setTrustStore
public void setTrustStore(String trustStore)
throws IOException
- Specified by:
setTrustStore
in interface TlsIndirectTrustStore
- Parameters:
trustStore
- The location of the keystore that contains public certificates of trusted servers.
- Throws:
IOException
- If the location cannot be resolved via the file system or classpath
setTrustStorePassword
public void setTrustStorePassword(String trustStorePassword)
- Specified by:
setTrustStorePassword
in interface TlsIndirectTrustStore
- Parameters:
trustStorePassword
- The password used to protected the trust store defined in
TlsIndirectTrustStore.setTrustStore(String)
setTrustStoreType
public void setTrustStoreType(String trustStoreType)
- Specified by:
setTrustStoreType
in interface TlsDirectTrustStore
- Parameters:
trustStoreType
- The type of keystore used to implement the trust store defined in
TlsIndirectTrustStore.setTrustStore(String)
getSslHandshakeTimeout
public long getSslHandshakeTimeout()
setSslHandshakeTimeout
public void setSslHandshakeTimeout(long sslHandshakeTimeout)
Copyright © 2003-2012 MuleSoft, Inc.. All Rights Reserved.