public class ALPNLimitingSSLEngine
extends javax.net.ssl.SSLEngine
In theory this is not a perfect solution to the HTTP/2 cipher strength issue, but in practice it should be sufficent as any RFC compliant implementation should be able to negotiate TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
Constructor | Description |
---|---|
ALPNLimitingSSLEngine(javax.net.ssl.SSLEngine delegate,
java.lang.Runnable invalidAlpnRunnable) |
Modifier and Type | Method | Description |
---|---|---|
void |
beginHandshake() |
|
void |
closeInbound() |
|
void |
closeOutbound() |
|
java.lang.Runnable |
getDelegatedTask() |
|
java.lang.String[] |
getEnabledCipherSuites() |
|
java.lang.String[] |
getEnabledProtocols() |
|
boolean |
getEnableSessionCreation() |
|
javax.net.ssl.SSLSession |
getHandshakeSession() |
|
javax.net.ssl.SSLEngineResult.HandshakeStatus |
getHandshakeStatus() |
|
boolean |
getNeedClientAuth() |
|
java.lang.String |
getPeerHost() |
|
int |
getPeerPort() |
|
javax.net.ssl.SSLSession |
getSession() |
|
javax.net.ssl.SSLParameters |
getSSLParameters() |
|
java.lang.String[] |
getSupportedCipherSuites() |
|
java.lang.String[] |
getSupportedProtocols() |
|
boolean |
getUseClientMode() |
|
boolean |
getWantClientAuth() |
|
boolean |
isInboundDone() |
|
boolean |
isOutboundDone() |
|
void |
setEnabledCipherSuites(java.lang.String[] strings) |
|
void |
setEnabledProtocols(java.lang.String[] strings) |
|
void |
setEnableSessionCreation(boolean b) |
|
void |
setNeedClientAuth(boolean b) |
|
void |
setSSLParameters(javax.net.ssl.SSLParameters sslParameters) |
|
void |
setUseClientMode(boolean b) |
|
void |
setWantClientAuth(boolean b) |
|
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 byteBuffer,
java.nio.ByteBuffer[] byteBuffers,
int i,
int i1) |
|
javax.net.ssl.SSLEngineResult |
wrap(java.nio.ByteBuffer[] srcs,
int off,
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) |
public ALPNLimitingSSLEngine(javax.net.ssl.SSLEngine delegate, java.lang.Runnable invalidAlpnRunnable)
public java.lang.String getPeerHost()
getPeerHost
in class javax.net.ssl.SSLEngine
public int getPeerPort()
getPeerPort
in class javax.net.ssl.SSLEngine
public javax.net.ssl.SSLEngineResult wrap(java.nio.ByteBuffer src, java.nio.ByteBuffer dst) throws javax.net.ssl.SSLException
wrap
in class javax.net.ssl.SSLEngine
javax.net.ssl.SSLException
public javax.net.ssl.SSLEngineResult wrap(java.nio.ByteBuffer[] srcs, java.nio.ByteBuffer dst) throws javax.net.ssl.SSLException
wrap
in class javax.net.ssl.SSLEngine
javax.net.ssl.SSLException
public javax.net.ssl.SSLEngineResult unwrap(java.nio.ByteBuffer src, java.nio.ByteBuffer dst) throws javax.net.ssl.SSLException
unwrap
in class javax.net.ssl.SSLEngine
javax.net.ssl.SSLException
public javax.net.ssl.SSLEngineResult unwrap(java.nio.ByteBuffer src, java.nio.ByteBuffer[] dsts) throws javax.net.ssl.SSLException
unwrap
in class javax.net.ssl.SSLEngine
javax.net.ssl.SSLException
public javax.net.ssl.SSLSession getHandshakeSession()
getHandshakeSession
in class javax.net.ssl.SSLEngine
public javax.net.ssl.SSLParameters getSSLParameters()
getSSLParameters
in class javax.net.ssl.SSLEngine
public void setSSLParameters(javax.net.ssl.SSLParameters sslParameters)
setSSLParameters
in class javax.net.ssl.SSLEngine
public javax.net.ssl.SSLEngineResult wrap(java.nio.ByteBuffer[] srcs, int off, int len, java.nio.ByteBuffer dst) throws javax.net.ssl.SSLException
wrap
in class javax.net.ssl.SSLEngine
javax.net.ssl.SSLException
public javax.net.ssl.SSLEngineResult unwrap(java.nio.ByteBuffer byteBuffer, java.nio.ByteBuffer[] byteBuffers, int i, int i1) throws javax.net.ssl.SSLException
unwrap
in class javax.net.ssl.SSLEngine
javax.net.ssl.SSLException
public java.lang.Runnable getDelegatedTask()
getDelegatedTask
in class javax.net.ssl.SSLEngine
public void closeInbound() throws javax.net.ssl.SSLException
closeInbound
in class javax.net.ssl.SSLEngine
javax.net.ssl.SSLException
public boolean isInboundDone()
isInboundDone
in class javax.net.ssl.SSLEngine
public void closeOutbound()
closeOutbound
in class javax.net.ssl.SSLEngine
public boolean isOutboundDone()
isOutboundDone
in class javax.net.ssl.SSLEngine
public java.lang.String[] getSupportedCipherSuites()
getSupportedCipherSuites
in class javax.net.ssl.SSLEngine
public java.lang.String[] getEnabledCipherSuites()
getEnabledCipherSuites
in class javax.net.ssl.SSLEngine
public void setEnabledCipherSuites(java.lang.String[] strings)
setEnabledCipherSuites
in class javax.net.ssl.SSLEngine
public java.lang.String[] getSupportedProtocols()
getSupportedProtocols
in class javax.net.ssl.SSLEngine
public java.lang.String[] getEnabledProtocols()
getEnabledProtocols
in class javax.net.ssl.SSLEngine
public void setEnabledProtocols(java.lang.String[] strings)
setEnabledProtocols
in class javax.net.ssl.SSLEngine
public javax.net.ssl.SSLSession getSession()
getSession
in class javax.net.ssl.SSLEngine
public void beginHandshake() throws javax.net.ssl.SSLException
beginHandshake
in class javax.net.ssl.SSLEngine
javax.net.ssl.SSLException
public javax.net.ssl.SSLEngineResult.HandshakeStatus getHandshakeStatus()
getHandshakeStatus
in class javax.net.ssl.SSLEngine
public void setUseClientMode(boolean b)
setUseClientMode
in class javax.net.ssl.SSLEngine
public boolean getUseClientMode()
getUseClientMode
in class javax.net.ssl.SSLEngine
public void setNeedClientAuth(boolean b)
setNeedClientAuth
in class javax.net.ssl.SSLEngine
public boolean getNeedClientAuth()
getNeedClientAuth
in class javax.net.ssl.SSLEngine
public void setWantClientAuth(boolean b)
setWantClientAuth
in class javax.net.ssl.SSLEngine
public boolean getWantClientAuth()
getWantClientAuth
in class javax.net.ssl.SSLEngine
public void setEnableSessionCreation(boolean b)
setEnableSessionCreation
in class javax.net.ssl.SSLEngine
public boolean getEnableSessionCreation()
getEnableSessionCreation
in class javax.net.ssl.SSLEngine
Copyright © 2018. All rights reserved.