Package io.netty.handler.ssl
Class JdkAlpnSslEngine
- java.lang.Object
-
- javax.net.ssl.SSLEngine
-
- io.netty.handler.ssl.JdkSslEngine
-
- io.netty.handler.ssl.JdkAlpnSslEngine
-
- All Implemented Interfaces:
ApplicationProtocolAccessor
- Direct Known Subclasses:
BouncyCastleAlpnSslEngine
class JdkAlpnSslEngine extends JdkSslEngine
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) class
JdkAlpnSslEngine.AlpnSelector
-
Field Summary
Fields Modifier and Type Field Description private JdkAlpnSslEngine.AlpnSelector
alpnSelector
private JdkApplicationProtocolNegotiator.ProtocolSelectionListener
selectionListener
-
Constructor Summary
Constructors Constructor Description JdkAlpnSslEngine(javax.net.ssl.SSLEngine engine, JdkApplicationProtocolNegotiator applicationNegotiator, boolean isServer)
JdkAlpnSslEngine(javax.net.ssl.SSLEngine engine, JdkApplicationProtocolNegotiator applicationNegotiator, boolean isServer, java.util.function.BiConsumer<javax.net.ssl.SSLEngine,JdkAlpnSslEngine.AlpnSelector> setHandshakeApplicationProtocolSelector, java.util.function.BiConsumer<javax.net.ssl.SSLEngine,java.util.List<java.lang.String>> setApplicationProtocols)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
getApplicationProtocol()
java.lang.String
getHandshakeApplicationProtocol()
java.util.function.BiFunction<javax.net.ssl.SSLEngine,java.util.List<java.lang.String>,java.lang.String>
getHandshakeApplicationProtocolSelector()
java.lang.String
getNegotiatedApplicationProtocol()
Returns the name of the negotiated application-level protocol.void
setHandshakeApplicationProtocolSelector(java.util.function.BiFunction<javax.net.ssl.SSLEngine,java.util.List<java.lang.String>,java.lang.String> selector)
(package private) void
setNegotiatedApplicationProtocol(java.lang.String applicationProtocol)
javax.net.ssl.SSLEngineResult
unwrap(java.nio.ByteBuffer src, java.nio.ByteBuffer dst)
javax.net.ssl.SSLEngineResult
unwrap(java.nio.ByteBuffer src, java.nio.ByteBuffer[] dsts)
javax.net.ssl.SSLEngineResult
unwrap(java.nio.ByteBuffer src, java.nio.ByteBuffer[] dst, int offset, int len)
private javax.net.ssl.SSLEngineResult
verifyProtocolSelection(javax.net.ssl.SSLEngineResult result)
javax.net.ssl.SSLEngineResult
wrap(java.nio.ByteBuffer[] srcs, int offset, int len, java.nio.ByteBuffer dst)
javax.net.ssl.SSLEngineResult
wrap(java.nio.ByteBuffer[] srcs, java.nio.ByteBuffer dst)
javax.net.ssl.SSLEngineResult
wrap(java.nio.ByteBuffer src, java.nio.ByteBuffer dst)
-
Methods inherited from class io.netty.handler.ssl.JdkSslEngine
beginHandshake, closeInbound, closeOutbound, getDelegatedTask, getEnabledCipherSuites, getEnabledProtocols, getEnableSessionCreation, getHandshakeSession, getHandshakeStatus, getNeedClientAuth, getPeerHost, getPeerPort, getSession, getSSLParameters, getSupportedCipherSuites, getSupportedProtocols, getUseClientMode, getWantClientAuth, getWrappedEngine, isInboundDone, isOutboundDone, setEnabledCipherSuites, setEnabledProtocols, setEnableSessionCreation, setNeedClientAuth, setSSLParameters, setUseClientMode, setWantClientAuth
-
-
-
-
Field Detail
-
selectionListener
private final JdkApplicationProtocolNegotiator.ProtocolSelectionListener selectionListener
-
alpnSelector
private final JdkAlpnSslEngine.AlpnSelector alpnSelector
-
-
Constructor Detail
-
JdkAlpnSslEngine
JdkAlpnSslEngine(javax.net.ssl.SSLEngine engine, JdkApplicationProtocolNegotiator applicationNegotiator, boolean isServer, java.util.function.BiConsumer<javax.net.ssl.SSLEngine,JdkAlpnSslEngine.AlpnSelector> setHandshakeApplicationProtocolSelector, java.util.function.BiConsumer<javax.net.ssl.SSLEngine,java.util.List<java.lang.String>> setApplicationProtocols)
-
JdkAlpnSslEngine
JdkAlpnSslEngine(javax.net.ssl.SSLEngine engine, JdkApplicationProtocolNegotiator applicationNegotiator, boolean isServer)
-
-
Method Detail
-
verifyProtocolSelection
private javax.net.ssl.SSLEngineResult verifyProtocolSelection(javax.net.ssl.SSLEngineResult result) throws javax.net.ssl.SSLException
- Throws:
javax.net.ssl.SSLException
-
wrap
public javax.net.ssl.SSLEngineResult wrap(java.nio.ByteBuffer src, java.nio.ByteBuffer dst) throws javax.net.ssl.SSLException
- Overrides:
wrap
in classJdkSslEngine
- Throws:
javax.net.ssl.SSLException
-
wrap
public javax.net.ssl.SSLEngineResult wrap(java.nio.ByteBuffer[] srcs, java.nio.ByteBuffer dst) throws javax.net.ssl.SSLException
- Overrides:
wrap
in classJdkSslEngine
- Throws:
javax.net.ssl.SSLException
-
wrap
public javax.net.ssl.SSLEngineResult wrap(java.nio.ByteBuffer[] srcs, int offset, int len, java.nio.ByteBuffer dst) throws javax.net.ssl.SSLException
- Overrides:
wrap
in classJdkSslEngine
- Throws:
javax.net.ssl.SSLException
-
unwrap
public javax.net.ssl.SSLEngineResult unwrap(java.nio.ByteBuffer src, java.nio.ByteBuffer dst) throws javax.net.ssl.SSLException
- Overrides:
unwrap
in classJdkSslEngine
- Throws:
javax.net.ssl.SSLException
-
unwrap
public javax.net.ssl.SSLEngineResult unwrap(java.nio.ByteBuffer src, java.nio.ByteBuffer[] dsts) throws javax.net.ssl.SSLException
- Overrides:
unwrap
in classJdkSslEngine
- Throws:
javax.net.ssl.SSLException
-
unwrap
public javax.net.ssl.SSLEngineResult unwrap(java.nio.ByteBuffer src, java.nio.ByteBuffer[] dst, int offset, int len) throws javax.net.ssl.SSLException
- Overrides:
unwrap
in classJdkSslEngine
- Throws:
javax.net.ssl.SSLException
-
setNegotiatedApplicationProtocol
void setNegotiatedApplicationProtocol(java.lang.String applicationProtocol)
- Overrides:
setNegotiatedApplicationProtocol
in classJdkSslEngine
-
getNegotiatedApplicationProtocol
public java.lang.String getNegotiatedApplicationProtocol()
Description copied from interface:ApplicationProtocolAccessor
Returns the name of the negotiated application-level protocol.- Specified by:
getNegotiatedApplicationProtocol
in interfaceApplicationProtocolAccessor
- Overrides:
getNegotiatedApplicationProtocol
in classJdkSslEngine
- Returns:
- the application-level protocol name or
null
if the negotiation failed or the client does not have ALPN/NPN extension
-
getApplicationProtocol
public java.lang.String getApplicationProtocol()
- Overrides:
getApplicationProtocol
in classjavax.net.ssl.SSLEngine
-
getHandshakeApplicationProtocol
public java.lang.String getHandshakeApplicationProtocol()
- Overrides:
getHandshakeApplicationProtocol
in classjavax.net.ssl.SSLEngine
-
setHandshakeApplicationProtocolSelector
public void setHandshakeApplicationProtocolSelector(java.util.function.BiFunction<javax.net.ssl.SSLEngine,java.util.List<java.lang.String>,java.lang.String> selector)
- Overrides:
setHandshakeApplicationProtocolSelector
in classjavax.net.ssl.SSLEngine
-
getHandshakeApplicationProtocolSelector
public java.util.function.BiFunction<javax.net.ssl.SSLEngine,java.util.List<java.lang.String>,java.lang.String> getHandshakeApplicationProtocolSelector()
- Overrides:
getHandshakeApplicationProtocolSelector
in classjavax.net.ssl.SSLEngine
-
-