Methods Summary |
---|
public abstract void | beginHandshake()Initiates a handshake on this engine.
Calling this method is not needed for the initial handshake: it will be
called by {@code wrap} or {@code unwrap} if the initial handshake has not
been started yet.
|
public abstract void | closeInbound()Notifies this engine instance that no more inbound network data will be
sent to this engine.
|
public abstract void | closeOutbound()Notifies this engine instance that no more outbound application data will
be sent to this engine.
|
public abstract java.lang.Runnable | getDelegatedTask()Returns a delegate task for this engine instance. Some engine operations
may require the results of blocking or long running operations, and the
{@code SSLEngineResult} instances returned by this engine may indicate
that a delegated task result is needed. In this case the
{@link Runnable#run() run} method of the returned {@code Runnable}
delegated task must be called.
|
public abstract boolean | getEnableSessionCreation()Returns whether new SSL sessions may be established by this engine.
|
public abstract java.lang.String[] | getEnabledCipherSuites()Returns the SSL cipher suite names that are enabled in this engine
instance.
|
public abstract java.lang.String[] | getEnabledProtocols()Returns the protocol version names that are enabled in this engine
instance.
|
public abstract javax.net.ssl.SSLEngineResult$HandshakeStatus | getHandshakeStatus()Returns the status of the handshake of this engine instance.
|
public abstract boolean | getNeedClientAuth()Returns whether this engine instance will require client authentication.
|
public java.lang.String | getPeerHost()Returns the name of the peer host.
return host;
|
public int | getPeerPort()Returns the port number of the peer host.
return port;
|
public abstract javax.net.ssl.SSLSession | getSession()Returns the SSL session for this engine instance.
|
public abstract java.lang.String[] | getSupportedCipherSuites()Returns the SSL cipher suite names that are supported by this engine.
These cipher suites can be enabled using
{@link #setEnabledCipherSuites(String[])}.
|
public abstract java.lang.String[] | getSupportedProtocols()Returns the protocol names that are supported by this engine. These
protocols can be enables using {@link #setEnabledProtocols(String[])}.
|
public abstract boolean | getUseClientMode()Returns whether this engine is set to act in client mode when
handshaking.
|
public abstract boolean | getWantClientAuth()Returns whether this engine will request client authentication.
|
public abstract boolean | isInboundDone()Returns whether no more inbound data will be accepted by this engine.
|
public abstract boolean | isOutboundDone()Returns whether no more outbound data will be produced by this engine.
|
public abstract void | setEnableSessionCreation(boolean flag)Sets whether new SSL sessions may be established by this engine instance.
|
public abstract void | setEnabledCipherSuites(java.lang.String[] suites)Sets the SSL cipher suite names that should be enabled in this engine
instance. Only cipher suites listed by {@code getSupportedCipherSuites()}
are allowed.
|
public abstract void | setEnabledProtocols(java.lang.String[] protocols)Sets the protocol version names that should be enabled in this engine
instance. Only protocols listed by {@code getSupportedProtocols()} are
allowed.
|
public abstract void | setNeedClientAuth(boolean need)Sets whether this engine must require client authentication. The client
authentication is one of:
- authentication required
- authentication requested
- no authentication needed
This method overrides the setting of {@link #setWantClientAuth(boolean)}.
|
public abstract void | setUseClientMode(boolean mode)Sets whether this engine should act in client (or server) mode when
handshaking.
|
public abstract void | setWantClientAuth(boolean want)Sets whether this engine should request client authentication. The client
authentication is one of the following:
- authentication required
- authentication requested
- no authentication needed
This method overrides the setting of {@link #setNeedClientAuth(boolean)}.
|
public abstract javax.net.ssl.SSLEngineResult | unwrap(java.nio.ByteBuffer src, java.nio.ByteBuffer[] dsts, int offset, int length)Decodes the incoming network data buffer into application data buffers.
If a handshake has not been started yet, it will automatically be
started.
|
public javax.net.ssl.SSLEngineResult | unwrap(java.nio.ByteBuffer src, java.nio.ByteBuffer dst)Decodes the incoming network data buffer into the application data
buffer. If a handshake has not been started yet, it will automatically be
started.
// if (src == null) {
// throw new IllegalArgumentException("Byte buffer src is null");
// }
// if (dst == null) {
// throw new IllegalArgumentException("Byte buffer dst is null");
// }
// if (dst.isReadOnly()) {
// throw new ReadOnlyBufferException();
// }
return unwrap(src, new ByteBuffer[] { dst }, 0, 1);
|
public javax.net.ssl.SSLEngineResult | unwrap(java.nio.ByteBuffer src, java.nio.ByteBuffer[] dsts)Decodes the incoming network data buffer into the application data
buffers. If a handshake has not been started yet, it will automatically
be started.
// if (src == null) {
// throw new IllegalArgumentException("Byte buffer src is null");
// }
if (dsts == null) {
throw new IllegalArgumentException("Byte buffer array dsts is null");
}
// for (int i = 0; i < dsts.length; i++) {
// if (dsts[i] == null) {
// throw new IllegalArgumentException("Byte buffer dsts[" + i
// + "] is null");
// }
// if (dsts[i].isReadOnly()) {
// throw new ReadOnlyBufferException();
// }
// }
return unwrap(src, dsts, 0, dsts.length);
|
public abstract javax.net.ssl.SSLEngineResult | wrap(java.nio.ByteBuffer[] srcs, int offset, int length, java.nio.ByteBuffer dst)Encodes the outgoing application data buffers into the network data
buffer. If a handshake has not been started yet, it will automatically be
started.
|
public javax.net.ssl.SSLEngineResult | wrap(java.nio.ByteBuffer[] srcs, java.nio.ByteBuffer dst)Encodes the outgoing application data buffers into the network data
buffer. If a handshake has not been started yet, it will automatically be
started.
if (srcs == null) {
throw new IllegalArgumentException("Byte buffer array srcs is null");
}
// for (int i = 0; i < srcs.length; i++) {
// if (srcs[i] == null) {
// throw new IllegalArgumentException("Byte buffer srcs[" + i
// + "] is null");
// }
// }
// if (dst == null) {
// throw new IllegalArgumentException("Byte buffer array dst is null");
// }
// if (dst.isReadOnly()) {
// throw new ReadOnlyBufferException();
// }
return wrap(srcs, 0, srcs.length, dst);
|
public javax.net.ssl.SSLEngineResult | wrap(java.nio.ByteBuffer src, java.nio.ByteBuffer dst)Encodes the outgoing application data buffer into the network data
buffer. If a handshake has not been started yet, it will automatically be
started.
// if (src == null) {
// throw new IllegalArgumentException("Byte buffer src is null");
// }
// if (dst == null) {
// throw new IllegalArgumentException("Byte buffer dst is null");
// }
// if (dst.isReadOnly()) {
// throw new ReadOnlyBufferException();
// }
return wrap(new ByteBuffer[] { src }, 0, 1, dst);
|