org.mule.transport.http
Class HttpsConnector

java.lang.Object
  extended by org.mule.transport.AbstractConnector
      extended by org.mule.transport.tcp.TcpConnector
          extended by org.mule.transport.http.HttpConnector
              extended by org.mule.transport.http.HttpsConnector
All Implemented Interfaces:
ExceptionListener, EventListener, javax.resource.spi.work.WorkListener, MuleContextAware, Disposable, Initialisable, Lifecycle, Startable, Stoppable, NamedObject, TlsDirectKeyStore, TlsDirectTrustStore, TlsIndirectKeyStore, TlsIndirectTrustStore, TlsProtocolHandler, Connectable, Connector
Direct Known Subclasses:
HttpsPollingConnector

public class HttpsConnector
extends HttpConnector
implements TlsDirectKeyStore, TlsIndirectKeyStore, TlsDirectTrustStore, TlsProtocolHandler

HttpsConnector provides Secure http connectivity on top of what is already provided with the Mule HttpConnector.


Field Summary
static String HTTPS
           
static String LOCAL_CERTIFICATES
           
static String PEER_CERTIFICATES
           
 
Fields inherited from class org.mule.transport.http.HttpConnector
clientConnectionManager, COOKIE_SPEC_NETSCAPE, COOKIE_SPEC_RFC2109, DEFAULT_HTTP_GET_BODY_PARAM_PROPERTY, HTTP, HTTP_CONTEXT_PATH_PROPERTY, HTTP_COOKIE_SPEC_PROPERTY, HTTP_COOKIES_PROPERTY, HTTP_CUSTOM_HEADERS_MAP_PROPERTY, HTTP_ENABLE_COOKIES_PROPERTY, HTTP_GET_BODY_PARAM_PROPERTY, HTTP_INBOUND_PROPERTIES, HTTP_METHOD_PROPERTY, HTTP_PARAMS_PROPERTY, HTTP_POST_BODY_PARAM_PROPERTY, HTTP_PREFIX, HTTP_REQUEST_PATH_PROPERTY, HTTP_REQUEST_PROPERTY, HTTP_STATUS_PROPERTY, HTTP_VERSION_PROPERTY
 
Fields inherited from class org.mule.transport.tcp.TcpConnector
CLIENT, DEFAULT_BACKLOG, DEFAULT_BUFFER_SIZE, DEFAULT_SO_LINGER, DEFAULT_SOCKET_TIMEOUT, KEEP_SEND_SOCKET_OPEN_PROPERTY, SERVER, TCP
 
Fields inherited from class org.mule.transport.AbstractConnector
connected, createMultipleTransactedReceivers, DEFAULT_NUM_CONCURRENT_TX_RECEIVERS, dispatcherFactory, dispatchers, disposed, exceptionListener, initialised, logger, muleContext, name, numberOfConcurrentTransactedReceivers, receivers, requesterFactory, requesters, serviceDescriptor, serviceOverrides, sessionHandler, started, startOnConnect
 
Fields inherited from interface org.mule.api.transport.Connector
INT_VALUE_NOT_SET
 
Fields inherited from interface org.mule.api.lifecycle.Initialisable
PHASE_NAME
 
Fields inherited from interface org.mule.api.lifecycle.Startable
PHASE_NAME
 
Fields inherited from interface org.mule.api.lifecycle.Stoppable
PHASE_NAME
 
Fields inherited from interface org.mule.api.lifecycle.Disposable
PHASE_NAME
 
Constructor Summary
HttpsConnector()
           
 
Method Summary
protected  void doInitialise()
           
 String getClientKeyStore()
           
 String getClientKeyStorePassword()
           
 String getClientKeyStoreType()
           
 String getKeyManagerAlgorithm()
           
 KeyManagerFactory getKeyManagerFactory()
           
 String getKeyPassword()
           
 String getKeyStore()
           
 String getKeyStorePassword()
           
 String getKeyStoreType()
           
 String getProtocol()
           
 String getProtocolHandler()
           
 Provider getProvider()
           
 SecurityProviderFactory getSecurityProviderFactory()
           
protected  ServerSocket getServerSocket(URI uri)
           
 String getSslType()
           
 String getTrustManagerAlgorithm()
           
 TrustManagerFactory getTrustManagerFactory()
           
 String getTrustStore()
           
 String getTrustStorePassword()
           
 String getTrustStoreType()
           
 boolean isExplicitTrustStoreOnly()
          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.
 boolean isRequireClientAuthentication()
          If a server socket is constructed directly (see TlsConfiguration) then this flag will control whether client authenticatin is required.
 void setClientKeyStore(String clientKeyStore)
           
 void setClientKeyStorePassword(String clientKeyStorePassword)
           
 void setClientKeyStoreType(String clientKeyStoreType)
           
 void setExplicitTrustStoreOnly(boolean explicitTrustStoreOnly)
          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.
 void setKeyManagerAlgorithm(String keyManagerAlgorithm)
           
 void setKeyPassword(String keyPassword)
           
 void setKeyStore(String keyStore)
           
 void setKeyStorePassword(String storePassword)
           
 void setKeyStoreType(String keystoreType)
           
 void setProtocolHandler(String protocolHandler)
           
 void setProvider(Provider provider)
           
 void setRequireClientAuthentication(boolean requireClientAuthentication)
          If a server socket is constructed directly (see TlsConfiguration) then this flag will control whether client authenticatin is required.
 void setSecurityProviderFactory(SecurityProviderFactory spFactory)
           
 void setSslType(String sslType)
           
 void setTrustManagerAlgorithm(String trustManagerAlgorithm)
           
 void setTrustManagerFactory(TrustManagerFactory trustManagerFactory)
           
 void setTrustStore(String trustStore)
           
 void setTrustStorePassword(String trustStorePassword)
           
 void setTrustStoreType(String trustStoreType)
           
 
Methods inherited from class org.mule.transport.http.HttpConnector
doClientConnect, getClientConnectionManager, getCookieSpec, getProxyHostname, getProxyPassword, getProxyPort, getProxyUsername, getReceiverKey, getReceivers, isEnableCookies, isFollowRedirects, normalizeUrl, registerListener, setClientConnectionManager, setCookieSpec, setEnableCookies, setFollowRedirects, setProxyHostname, setProxyPassword, setProxyPort, setProxyUsername, setupClientAuthorization
 
Methods inherited from class org.mule.transport.tcp.TcpConnector
configureSocket, doConnect, doDisconnect, doDispose, doStart, doStop, getBacklog, getBufferSize, getClientSoTimeout, getKeepAliveMonitor, getKeepAliveTimeout, getOutputStream, getReceiveBacklog, getReceiveBufferSize, getSendBufferSize, getServerSocketFactory, getServerSoTimeout, getSocket, getSocketFactory, getSocketSoLinger, getTcpProtocol, isKeepAlive, isKeepSendSocketOpen, isResponseEnabled, isReuseAddress, isSendTcpNoDelay, setBacklog, setBufferSize, setClientSoTimeout, setKeepAlive, setKeepAliveTimeout, setKeepSendSocketOpen, setReceiveBacklog, setReceiveBufferSize, setReuseAddress, setSendBufferSize, setSendTcpNoDelay, setServerSocketFactory, setServerSoTimeout, setSocketFactory, setSocketSoLinger, setTcpProtocol, setTimeout
 
Methods inherited from class org.mule.transport.AbstractConnector
checkDisposed, connect, createReceiver, destroyReceiver, disconnect, dispatch, dispose, disposeDispatchers, disposeReceivers, disposeRequesters, disposeWorkManagers, exceptionThrown, fireNotification, getConnectEventId, getConnectionDescription, getDefaultInboundTransformers, getDefaultOutboundTransformers, getDefaultResponseTransformers, getDispatcherFactory, getDispatcherThreadingProfile, getDispatcherWorkManager, getExceptionListener, getMaxDispatchersActive, getMaxRequestersActive, getMessageAdapter, getMuleContext, getName, getNumberOfConcurrentTransactedReceivers, getOutputStream, getReceiver, getReceivers, getReceiverThreadingProfile, getReceiverWorkManager, getReplyToHandler, getRequesterFactory, getRequesterThreadingProfile, getRequesterWorkManager, getRetryPolicyTemplate, getScheduler, getServiceDescriptor, getServiceOverrides, getSessionHandler, getSupportedProtocols, handleException, handleException, handleWorkException, initFromServiceDescriptor, initialise, initialiseFromUrl, initWorkManagers, isConnected, isCreateMultipleTransactedReceivers, isDisposed, isEnableMessageEvents, isStarted, isSyncEnabled, isValidateConnections, lookupReceiver, registerSupportedProtocol, registerSupportedProtocolWithoutPrefix, request, request, send, setConnected, setCreateMultipleTransactedReceivers, setDispatcherFactory, setDispatcherThreadingProfile, setDynamicNotification, setExceptionListener, setMaxDispatchersActive, setMaxRequestersActive, setMuleContext, setName, setNumberOfConcurrentTransactedReceivers, setReceiverThreadingProfile, setRequesterFactory, setRequesterThreadingProfile, setRetryPolicyTemplate, setServiceOverrides, setSessionHandler, setSupportedProtocols, setupDispatchReturn, setupRequestReturn, setValidateConnections, start, stop, supportsProtocol, toString, unregisterListener, unregisterSupportedProtocol, updateCachedNotificationHandler, validateConnection, workAccepted, workCompleted, workRejected, workStarted
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

HTTPS

public static final String HTTPS
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
Constructor Detail

HttpsConnector

public HttpsConnector()
Method Detail

getServerSocket

protected ServerSocket getServerSocket(URI uri)
                                throws IOException
Overrides:
getServerSocket in class TcpConnector
Throws:
IOException

doInitialise

protected void doInitialise()
                     throws InitialisationException
Overrides:
doInitialise in class HttpConnector
Throws:
InitialisationException

getProtocol

public String getProtocol()
Specified by:
getProtocol in interface Connector
Overrides:
getProtocol in class HttpConnector
Returns:
the primary protocol name for endpoints of this connector
See Also:
Connector.getProtocol()

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.

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 {

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 (TlsIndirectTrustStore.setTrustStore(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

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 {

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)


Copyright © 2003-2009 MuleSource, Inc.. All Rights Reserved.