Class NIOSSLTransport
-
- Direct Known Subclasses:
AmqpNioSslTransport,AutoInitNioSSLTransport,MQTTNIOSSLTransport,StompNIOSSLTransport
public class NIOSSLTransport extends NIOTransport
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.activemq.transport.tcp.TcpTransport
TcpTransport.InitBuffer
-
-
Field Summary
Fields Modifier and Type Field Description protected String[]enabledCipherSuitesprotected String[]enabledProtocolsprotected booleanhandshakeInProgressprotected SSLEngineResult.HandshakeStatushandshakeStatusprotected CountDownLatchinitializedprotected booleanneedClientAuthprotected SSLContextsslContextprotected SSLEnginesslEngineprotected SSLSessionsslSessionprotected SSLEngineResult.Statusstatusprotected TaskRunnerFactorytaskRunnerFactoryprotected booleanverifyHostNameprotected booleanwantClientAuth-
Fields inherited from class org.apache.activemq.transport.nio.NIOTransport
channel, currentBuffer, inputBuffer, nextFrameSize, selection
-
Fields inherited from class org.apache.activemq.transport.tcp.TcpTransport
buffOut, closeAsync, connectionTimeout, dataIn, dataOut, diffServChosen, dynamicManagement, initBuffer, ioBufferSize, jmxPort, localLocation, logWriterName, minmumWireFormatVersion, receiveCounter, remoteLocation, socket, socketBufferSize, socketFactory, socketOptions, soTimeout, startLogging, stoppedLatch, trace, trafficClass, typeOfServiceChosen, useLocalHost, wireFormat
-
-
Constructor Summary
Constructors Constructor Description NIOSSLTransport(WireFormat wireFormat, Socket socket, SSLEngine engine, TcpTransport.InitBuffer initBuffer, ByteBuffer inputBuffer)NIOSSLTransport(WireFormat wireFormat, SocketFactory socketFactory, URI remoteLocation, URI localLocation)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddoConsume(Object command)Overriding in order to add the client's certificates to ConnectionInfo Commands.protected voiddoHandshake()protected voiddoInit()protected voiddoOpenWireInit()protected voiddoStart()protected voiddoStop(ServiceStopper stopper)protected voidfinishHandshake()String[]getEnabledCipherSuites()String[]getEnabledProtocols()X509Certificate[]getPeerCertificates()protected voidinitializeStreams()booleanisNeedClientAuth()booleanisVerifyHostName()booleanisWantClientAuth()protected voidprocessCommand(ByteBuffer plain)protected intsecureRead(ByteBuffer plain)voidserviceRead()voidsetEnabledCipherSuites(String[] enabledCipherSuites)voidsetEnabledProtocols(String[] enabledProtocols)voidsetNeedClientAuth(boolean needClientAuth)voidsetSslContext(SSLContext sslContext)voidsetVerifyHostName(boolean verifyHostName)voidsetWantClientAuth(boolean wantClientAuth)-
Methods inherited from class org.apache.activemq.transport.nio.NIOTransport
readFromBuffer
-
Methods inherited from class org.apache.activemq.transport.tcp.TcpTransport
closeStreams, connect, doRun, getConnectionTimeout, getDiffServ, getIoBufferSize, getJmxPort, getKeepAlive, getLogWriterName, getMinmumWireFormatVersion, getReceiveCounter, getRemoteAddress, getSocketBufferSize, getSoLinger, getSoTimeout, getTcpNoDelay, getTypeOfService, getWireFormat, initialiseSocket, isCloseAsync, isDynamicManagement, isStartLogging, isTrace, isUseLocalHost, narrow, oneway, readCommand, resolveHostName, run, setCloseAsync, setConnectionTimeout, setDiffServ, setDynamicManagement, setIoBufferSize, setJmxPort, setKeepAlive, setLogWriterName, setMinmumWireFormatVersion, setPeerCertificates, setSocketBufferSize, setSocketOptions, setSoLinger, setSoTimeout, setStartLogging, setTcpNoDelay, setTrace, setTypeOfService, setUseLocalHost, stop, toString
-
Methods inherited from class org.apache.activemq.transport.TransportThreadSupport
getStackSize, isDaemon, setDaemon, setStackSize
-
Methods inherited from class org.apache.activemq.transport.TransportSupport
asyncRequest, checkStarted, getTransportListener, isConnected, isDisposed, isFaultTolerant, isReconnectSupported, isUpdateURIsSupported, onException, reconnect, request, request, setTransportListener, updateURIs
-
Methods inherited from class org.apache.activemq.util.ServiceSupport
addServiceListener, dispose, isStarted, isStopped, isStopping, postStop, preStart, removeServiceListener, start
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.activemq.transport.Transport
asyncRequest, getTransportListener, isConnected, isDisposed, isFaultTolerant, isReconnectSupported, isUpdateURIsSupported, reconnect, request, request, setTransportListener, updateURIs
-
-
-
-
Field Detail
-
needClientAuth
protected boolean needClientAuth
-
wantClientAuth
protected boolean wantClientAuth
-
enabledCipherSuites
protected String[] enabledCipherSuites
-
enabledProtocols
protected String[] enabledProtocols
-
verifyHostName
protected boolean verifyHostName
-
sslContext
protected SSLContext sslContext
-
sslEngine
protected SSLEngine sslEngine
-
sslSession
protected SSLSession sslSession
-
handshakeInProgress
protected volatile boolean handshakeInProgress
-
status
protected SSLEngineResult.Status status
-
handshakeStatus
protected SSLEngineResult.HandshakeStatus handshakeStatus
-
taskRunnerFactory
protected TaskRunnerFactory taskRunnerFactory
-
initialized
protected final CountDownLatch initialized
-
-
Constructor Detail
-
NIOSSLTransport
public NIOSSLTransport(WireFormat wireFormat, SocketFactory socketFactory, URI remoteLocation, URI localLocation) throws UnknownHostException, IOException
- Throws:
UnknownHostExceptionIOException
-
NIOSSLTransport
public NIOSSLTransport(WireFormat wireFormat, Socket socket, SSLEngine engine, TcpTransport.InitBuffer initBuffer, ByteBuffer inputBuffer) throws IOException
- Throws:
IOException
-
-
Method Detail
-
setSslContext
public void setSslContext(SSLContext sslContext)
-
initializeStreams
protected void initializeStreams() throws IOException- Overrides:
initializeStreamsin classNIOTransport- Throws:
IOException
-
serviceRead
public void serviceRead()
- Overrides:
serviceReadin classNIOTransport
-
processCommand
protected void processCommand(ByteBuffer plain) throws Exception
- Throws:
Exception
-
secureRead
protected int secureRead(ByteBuffer plain) throws Exception
- Throws:
Exception
-
doStart
protected void doStart() throws Exception- Overrides:
doStartin classNIOTransport- Throws:
Exception
-
doStop
protected void doStop(ServiceStopper stopper) throws Exception
- Overrides:
doStopin classNIOTransport- Throws:
Exception
-
doConsume
public void doConsume(Object command)
Overriding in order to add the client's certificates to ConnectionInfo Commands.- Overrides:
doConsumein classTransportSupport- Parameters:
command- The Command coming in.
-
getPeerCertificates
public X509Certificate[] getPeerCertificates()
- Specified by:
getPeerCertificatesin interfaceTransport- Overrides:
getPeerCertificatesin classTcpTransport- Returns:
- peer certificate chain associated with the ssl socket
-
isNeedClientAuth
public boolean isNeedClientAuth()
-
setNeedClientAuth
public void setNeedClientAuth(boolean needClientAuth)
-
isWantClientAuth
public boolean isWantClientAuth()
-
setWantClientAuth
public void setWantClientAuth(boolean wantClientAuth)
-
getEnabledCipherSuites
public String[] getEnabledCipherSuites()
-
setEnabledCipherSuites
public void setEnabledCipherSuites(String[] enabledCipherSuites)
-
getEnabledProtocols
public String[] getEnabledProtocols()
-
setEnabledProtocols
public void setEnabledProtocols(String[] enabledProtocols)
-
isVerifyHostName
public boolean isVerifyHostName()
-
setVerifyHostName
public void setVerifyHostName(boolean verifyHostName)
-
-