SSLEngine using
OpenSSL
BIO abstractions.
| Modifier and Type | Class and Description |
|---|---|
| private static enum | |
| pack-priv static enum | |
| private class | |
| private static class |
| Modifier and Type | Field and Description |
|---|---|
| private OpenSSLEngine. | |
| private final boolean | |
| private volatile String | |
| public static final Set | |
| private final int | |
| private final boolean | |
| private volatile String | |
| private final Cleaner. | |
| private volatile OpenSSLEngine. | |
| private final boolean | |
| private int | |
| private volatile boolean | |
| private static final long | |
| private static final Certificate[] | |
| private boolean | |
| private final String | |
| private boolean | |
| public static final Set | |
| private final boolean | |
| private static final String | |
| private boolean | |
| private boolean | |
| private static final Log | |
| private static final int | |
| private static final int | |
| pack-priv static final int | |
| pack-priv static final int | |
| private static final int | |
| private volatile Certificate[] | |
| private boolean | |
| private String | |
| private boolean | |
| private final OpenSSLEngine. | |
| private final OpenSSLSessionContext | |
| private static final StringManager | |
| private final OpenSSLEngine. | |
| pack-priv static final int | |
| private volatile String | |
| private volatile X509Certificate[] | x509PeerCerts
Deprecated
|
| Access | Constructor and Description |
|---|---|
| pack-priv | OpenSSLEngine(Cleaner
Used to clean up references to instances before they are
garbage collected cleaner, long an OpenSSL sslCtx, String SSL_CTX objectthe fallback application protocol fallbackApplicationProtocol, boolean true if this is used for clients, false
otherwisethe sessionContext, boolean OpenSSLSessionContext this
SSLEngine belongs to.true if alpn should be used, false
otherwisetrue if this instance gets its protocol,
cipher and client verification from the SSL_CTX sslCtxCertificate verification depth certificateVerificationDepth, boolean Skip CA verification in
optional mode certificateVerificationOptionalNoCA)Creates a new instance |
| Modifier and Type | Method and Description |
|---|---|
| public synchronized void | beginHandshake()
Implements abstract javax. Initiates handshaking (initial or renegotiation) on this SSLEngine. |
| private void | |
| private void | |
| private static void | |
| public synchronized void | closeInbound()
Implements abstract javax. Signals that no more inbound network data will be sent
to this |
| public synchronized void | closeOutbound()
Implements abstract javax. Signals that no more outbound application data will be sent
on this |
| public Runnable | getDelegatedTask()
Implements abstract javax. Returns a delegated |
| public synchronized String[] | getEnabledCipherSuites()
Implements abstract javax. Returns the names of the SSL cipher suites which are currently enabled for use on this engine. |
| public synchronized String[] | getEnabledProtocols()
Implements abstract javax. Returns the names of the protocol versions which are currently
enabled for use with this |
| public boolean | getEnableSessionCreation()
Implements abstract javax. Returns true if new SSL sessions may be established by this engine. |
| private SSLEngineResult. | |
| public synchronized SSLEngineResult. | getHandshakeStatus()
Implements abstract javax. Returns the current handshake status for this |
| private static String | Returns: the first error in the stackMany calls to SSL methods do not check the last error. |
| public boolean | getNeedClientAuth()
Implements abstract javax. Returns true if the engine will require client authentication. |
| public String | getNegotiatedProtocol()
Implements org. ALPN information. |
| public SSLSession | getSession()
Implements abstract javax. Returns the |
| public String[] | getSupportedCipherSuites()
Implements abstract javax. Returns the names of the cipher suites which could be enabled for use on this engine. |
| public String[] | getSupportedProtocols()
Implements abstract javax. Returns the names of the protocols which could be enabled for use
with this |
| public boolean | getUseClientMode()
Implements abstract javax. Returns true if the engine is set to use client mode when handshaking. |
| public boolean | getWantClientAuth()
Implements abstract javax. Returns true if the engine will request client authentication. |
| private void | |
| public synchronized boolean | isInboundDone()
Implements abstract javax. Returns whether |
| public synchronized boolean | isOutboundDone()
Implements abstract javax. Returns whether |
| private int | |
| private int | readEncryptedData(final long networkBIO, final ByteBuffer dst, final int pending)
Read encrypted data from the OpenSSL network BIO |
| private int | readPlaintextData(final long ssl, final ByteBuffer dst)
Read plain text data from the OpenSSL internal BIO |
| private synchronized void | |
| private void | |
| public synchronized void | setEnabledCipherSuites(String[]
Names of all the cipher suites to enable cipherSuites)Implements abstract javax. Sets the cipher suites enabled for use on this engine. |
| public synchronized void | setEnabledProtocols(String[]
Names of all the protocols to enable. protocols)Implements abstract javax. Set the protocol versions enabled for use on this engine. |
| public void | setEnableSessionCreation(boolean
true indicates that sessions may be created; this
is the default. false indicates that an existing session
must be resumed b)Implements abstract javax. Controls whether new SSL sessions may be established by this engine. |
| public void | setNeedClientAuth(boolean
set to true if client authentication is required,
or false if no client authentication is desired. b)Implements abstract javax. Configures the engine to require client authentication. |
| public void | setUseClientMode(boolean
true if the engine should start its handshaking
in "client" mode clientMode)Implements abstract javax. Configures the engine to use client (or server) mode when handshaking. |
| public void | setWantClientAuth(boolean
set to true if client authentication is requested,
or false if no client authentication is desired. b)Implements abstract javax. Configures the engine to request client authentication. |
| public synchronized void | |
| public synchronized SSLEngineResult | unwrap(final ByteBuffer
a src, final ByteBuffer[] ByteBuffer containing inbound network data.an array of dsts, final int ByteBuffers to hold inbound
application data.The offset within the buffer array of the first buffer from
which bytes are to be transferred; it must be non-negative
and no larger than offset, final int dsts.length.The maximum number of buffers to be accessed; it must be
non-negative and no larger than
length)dsts.length - offset.Implements abstract javax. Attempts to decode SSL/TLS/DTLS network data into a subsequence of plaintext application data buffers. |
| public synchronized SSLEngineResult | wrap(final ByteBuffer[]
an array of srcs, final int ByteBuffers containing the
outbound application dataThe offset within the buffer array of the first buffer from
which bytes are to be retrieved; it must be non-negative
and no larger than offset, final int srcs.lengthThe maximum number of buffers to be accessed; it must be
non-negative and no larger than
length, final ByteBuffer srcs.length - offseta dst)ByteBuffer to hold outbound network dataImplements abstract javax. Attempts to encode plaintext bytes from a subsequence of data buffers into SSL/TLS/DTLS network data. |
| private int | writeEncryptedData(final long networkBIO, final ByteBuffer src)
Write encrypted data to the OpenSSL network BIO. |
| private int | writePlaintextData(final long ssl, final ByteBuffer src)
Write plain text data to the OpenSSL internal BIO Calling this function with src.remaining == 0 is undefined. |