Package com.wolfssl.provider.jsse
Class WolfSSLEngine
- java.lang.Object
-
- javax.net.ssl.SSLEngine
-
- com.wolfssl.provider.jsse.WolfSSLEngine
-
public class WolfSSLEngine extends javax.net.ssl.SSLEngine
wolfSSL implementation of SSLEngine- Author:
- wolfSSL
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
WolfSSLEngine(WolfSSLContext ctx, WolfSSLAuthStore auth, com.wolfssl.provider.jsse.WolfSSLParameters params)
Create a new engine with no hints for session reuseprotected
WolfSSLEngine(WolfSSLContext ctx, WolfSSLAuthStore auth, com.wolfssl.provider.jsse.WolfSSLParameters params, java.lang.String host, int port)
Create a new engine with hints for session reuse
-
Method Summary
All Methods Instance Methods Concrete Methods 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.SSLEngineResult.HandshakeStatus
getHandshakeStatus()
boolean
getNeedClientAuth()
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[] suites)
void
setEnabledProtocols(java.lang.String[] protocols)
void
setEnableSessionCreation(boolean flag)
protected int
setIn(byte[] toRead, int sz)
void
setNeedClientAuth(boolean need)
protected int
setOut(byte[] in, int sz)
void
setSSLParameters(javax.net.ssl.SSLParameters params)
Set the SSLParameters for this SSLSocket.void
setUseClientMode(boolean mode)
void
setWantClientAuth(boolean want)
javax.net.ssl.SSLEngineResult
unwrap(java.nio.ByteBuffer in, java.nio.ByteBuffer out)
javax.net.ssl.SSLEngineResult
unwrap(java.nio.ByteBuffer in, java.nio.ByteBuffer[] out, int ofst, int length)
javax.net.ssl.SSLEngineResult
wrap(java.nio.ByteBuffer[] in, int ofst, int len, java.nio.ByteBuffer out)
javax.net.ssl.SSLEngineResult
wrap(java.nio.ByteBuffer in, java.nio.ByteBuffer out)
-
-
-
Constructor Detail
-
WolfSSLEngine
protected WolfSSLEngine(WolfSSLContext ctx, WolfSSLAuthStore auth, com.wolfssl.provider.jsse.WolfSSLParameters params) throws WolfSSLException
Create a new engine with no hints for session reuse- Parameters:
ctx
- JNI level WolfSSLContextauth
- WolfSSLAuthStore to useparams
- connection parameters to be used- Throws:
WolfSSLException
- if there is an issue creating the engine
-
WolfSSLEngine
protected WolfSSLEngine(WolfSSLContext ctx, WolfSSLAuthStore auth, com.wolfssl.provider.jsse.WolfSSLParameters params, java.lang.String host, int port) throws WolfSSLException
Create a new engine with hints for session reuse- Parameters:
ctx
- JNI level WolfSSLContextauth
- WolfSSLAuthStore to useparams
- connection parameters to be usedhost
- to connect toport
- to connect to- Throws:
WolfSSLException
- if there is an issue creating the engine
-
-
Method Detail
-
wrap
public javax.net.ssl.SSLEngineResult wrap(java.nio.ByteBuffer in, java.nio.ByteBuffer out) throws javax.net.ssl.SSLException
- Overrides:
wrap
in classjavax.net.ssl.SSLEngine
- Throws:
javax.net.ssl.SSLException
-
wrap
public javax.net.ssl.SSLEngineResult wrap(java.nio.ByteBuffer[] in, int ofst, int len, java.nio.ByteBuffer out) 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 in, java.nio.ByteBuffer out) throws javax.net.ssl.SSLException
- Overrides:
unwrap
in classjavax.net.ssl.SSLEngine
- Throws:
javax.net.ssl.SSLException
-
unwrap
public javax.net.ssl.SSLEngineResult unwrap(java.nio.ByteBuffer in, java.nio.ByteBuffer[] out, int ofst, 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[] suites)
- 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 mode)
- 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 need)
- 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 want)
- 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 flag)
- Specified by:
setEnableSessionCreation
in classjavax.net.ssl.SSLEngine
-
getEnableSessionCreation
public boolean getEnableSessionCreation()
- Specified by:
getEnableSessionCreation
in classjavax.net.ssl.SSLEngine
-
setSSLParameters
public void setSSLParameters(javax.net.ssl.SSLParameters params)
Set the SSLParameters for this SSLSocket.- Overrides:
setSSLParameters
in classjavax.net.ssl.SSLEngine
- Parameters:
params
- SSLParameters to set for this SSLSocket object
-
setOut
protected int setOut(byte[] in, int sz)
-
setIn
protected int setIn(byte[] toRead, int sz)
-
-