Class OpenSSLEngine
- java.lang.Object
-
- javax.net.ssl.SSLEngine
-
- org.apache.tomcat.util.net.openssl.OpenSSLEngine
-
- All Implemented Interfaces:
SSLUtil.ProtocolInfo
public final class OpenSSLEngine extends javax.net.ssl.SSLEngine implements SSLUtil.ProtocolInfo
Implements aSSLEngine
using OpenSSL BIO abstractions.
-
-
Field Summary
Fields Modifier and Type Field Description static java.util.Set<java.lang.String>
AVAILABLE_CIPHER_SUITES
static java.util.Set<java.lang.String>
IMPLEMENTED_PROTOCOLS_SET
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
beginHandshake()
void
closeInbound()
void
closeOutbound()
protected void
finalize()
java.lang.Runnable
getDelegatedTask()
java.lang.String[]
getEnabledCipherSuites()
java.lang.String[]
getEnabledProtocols()
boolean
getEnableSessionCreation()
javax.net.ssl.SSLEngineResult.HandshakeStatus
getHandshakeStatus()
boolean
getNeedClientAuth()
java.lang.String
getNegotiatedProtocol()
ALPN information.javax.net.ssl.SSLSession
getSession()
java.lang.String[]
getSupportedCipherSuites()
java.lang.String[]
getSupportedProtocols()
boolean
getUseClientMode()
boolean
getWantClientAuth()
boolean
isInboundDone()
boolean
isOutboundDone()
void
setEnabledCipherSuites(java.lang.String[] cipherSuites)
void
setEnabledProtocols(java.lang.String[] protocols)
void
setEnableSessionCreation(boolean b)
void
setNeedClientAuth(boolean b)
void
setUseClientMode(boolean clientMode)
void
setWantClientAuth(boolean b)
void
shutdown()
Destroys this engine.javax.net.ssl.SSLEngineResult
unwrap(java.nio.ByteBuffer src, java.nio.ByteBuffer[] dsts, int offset, int length)
javax.net.ssl.SSLEngineResult
wrap(java.nio.ByteBuffer[] srcs, int offset, int length, java.nio.ByteBuffer dst)
-
Methods inherited from class javax.net.ssl.SSLEngine
getApplicationProtocol, getHandshakeApplicationProtocol, getHandshakeApplicationProtocolSelector, getHandshakeSession, getPeerHost, getPeerPort, getSSLParameters, setHandshakeApplicationProtocolSelector, setSSLParameters, unwrap, unwrap, wrap, wrap
-
-
-
-
Method Detail
-
getNegotiatedProtocol
public java.lang.String getNegotiatedProtocol()
Description copied from interface:SSLUtil.ProtocolInfo
ALPN information.- Specified by:
getNegotiatedProtocol
in interfaceSSLUtil.ProtocolInfo
- Returns:
- the protocol selected using ALPN
-
shutdown
public void shutdown()
Destroys this engine.
-
wrap
public javax.net.ssl.SSLEngineResult wrap(java.nio.ByteBuffer[] srcs, int offset, int length, java.nio.ByteBuffer dst) throws javax.net.ssl.SSLException
- Specified by:
wrap
in classjavax.net.ssl.SSLEngine
- Throws:
javax.net.ssl.SSLException
-
unwrap
public javax.net.ssl.SSLEngineResult unwrap(java.nio.ByteBuffer src, java.nio.ByteBuffer[] dsts, int offset, int length) throws javax.net.ssl.SSLException
- Specified by:
unwrap
in classjavax.net.ssl.SSLEngine
- Throws:
javax.net.ssl.SSLException
-
getDelegatedTask
public java.lang.Runnable getDelegatedTask()
- Specified by:
getDelegatedTask
in classjavax.net.ssl.SSLEngine
-
closeInbound
public void closeInbound() throws javax.net.ssl.SSLException
- Specified by:
closeInbound
in classjavax.net.ssl.SSLEngine
- Throws:
javax.net.ssl.SSLException
-
isInboundDone
public boolean isInboundDone()
- Specified by:
isInboundDone
in classjavax.net.ssl.SSLEngine
-
closeOutbound
public void closeOutbound()
- Specified by:
closeOutbound
in classjavax.net.ssl.SSLEngine
-
isOutboundDone
public boolean isOutboundDone()
- Specified by:
isOutboundDone
in classjavax.net.ssl.SSLEngine
-
getSupportedCipherSuites
public java.lang.String[] getSupportedCipherSuites()
- Specified by:
getSupportedCipherSuites
in classjavax.net.ssl.SSLEngine
-
getEnabledCipherSuites
public java.lang.String[] getEnabledCipherSuites()
- Specified by:
getEnabledCipherSuites
in classjavax.net.ssl.SSLEngine
-
setEnabledCipherSuites
public void setEnabledCipherSuites(java.lang.String[] cipherSuites)
- Specified by:
setEnabledCipherSuites
in classjavax.net.ssl.SSLEngine
-
getSupportedProtocols
public java.lang.String[] getSupportedProtocols()
- Specified by:
getSupportedProtocols
in classjavax.net.ssl.SSLEngine
-
getEnabledProtocols
public java.lang.String[] getEnabledProtocols()
- Specified by:
getEnabledProtocols
in classjavax.net.ssl.SSLEngine
-
setEnabledProtocols
public void setEnabledProtocols(java.lang.String[] protocols)
- Specified by:
setEnabledProtocols
in classjavax.net.ssl.SSLEngine
-
getSession
public javax.net.ssl.SSLSession getSession()
- Specified by:
getSession
in classjavax.net.ssl.SSLEngine
-
beginHandshake
public void beginHandshake() throws javax.net.ssl.SSLException
- Specified by:
beginHandshake
in classjavax.net.ssl.SSLEngine
- Throws:
javax.net.ssl.SSLException
-
getHandshakeStatus
public javax.net.ssl.SSLEngineResult.HandshakeStatus getHandshakeStatus()
- Specified by:
getHandshakeStatus
in classjavax.net.ssl.SSLEngine
-
setUseClientMode
public void setUseClientMode(boolean clientMode)
- Specified by:
setUseClientMode
in classjavax.net.ssl.SSLEngine
-
getUseClientMode
public boolean getUseClientMode()
- Specified by:
getUseClientMode
in classjavax.net.ssl.SSLEngine
-
setNeedClientAuth
public void setNeedClientAuth(boolean b)
- Specified by:
setNeedClientAuth
in classjavax.net.ssl.SSLEngine
-
getNeedClientAuth
public boolean getNeedClientAuth()
- Specified by:
getNeedClientAuth
in classjavax.net.ssl.SSLEngine
-
setWantClientAuth
public void setWantClientAuth(boolean b)
- Specified by:
setWantClientAuth
in classjavax.net.ssl.SSLEngine
-
getWantClientAuth
public boolean getWantClientAuth()
- Specified by:
getWantClientAuth
in classjavax.net.ssl.SSLEngine
-
setEnableSessionCreation
public void setEnableSessionCreation(boolean b)
- Specified by:
setEnableSessionCreation
in classjavax.net.ssl.SSLEngine
-
getEnableSessionCreation
public boolean getEnableSessionCreation()
- Specified by:
getEnableSessionCreation
in classjavax.net.ssl.SSLEngine
-
finalize
protected void finalize() throws java.lang.Throwable
- Overrides:
finalize
in classjava.lang.Object
- Throws:
java.lang.Throwable
-
-