public abstract class ReferenceCountedOpenSslContext extends SslContext implements io.netty.util.ReferenceCounted
SslContext
which works with libraries that support the
OpenSsl C library API.
Instances of this class must be released
or else native memory will leak!
Instances of this class must not be released before any ReferenceCountedOpenSslEngine
which depends upon the instance of this class is released. Otherwise if any method of
ReferenceCountedOpenSslEngine
is called which uses this class's JNI resources the JVM may crash.
Modifier and Type | Field and Description |
---|---|
protected long |
ctx
The OpenSSL SSL_CTX object
|
protected static int |
VERIFY_DEPTH |
Modifier and Type | Method and Description |
---|---|
ApplicationProtocolNegotiator |
applicationProtocolNegotiator()
Returns the object responsible for negotiating application layer protocols for the TLS NPN/ALPN extensions.
|
protected static X509Certificate[] |
certificates(byte[][] chain) |
protected static X509TrustManager |
chooseTrustManager(TrustManager[] managers) |
protected static X509KeyManager |
chooseX509KeyManager(KeyManager[] kms) |
List<String> |
cipherSuites()
Returns the list of enabled cipher suites, in the order of preference.
|
long |
context()
Deprecated.
use
sslCtxPointer() |
boolean |
isClient()
Returns the
true if and only if this context is for client-side. |
SSLEngine |
newEngine(io.netty.buffer.ByteBufAllocator alloc)
Returns a new server-side
SSLEngine with the current configuration. |
SSLEngine |
newEngine(io.netty.buffer.ByteBufAllocator alloc,
String peerHost,
int peerPort)
Creates a new
SSLEngine using advisory peer information. |
int |
refCnt() |
boolean |
release() |
boolean |
release(int decrement) |
io.netty.util.ReferenceCounted |
retain() |
io.netty.util.ReferenceCounted |
retain(int increment) |
long |
sessionCacheSize()
Returns the size of the cache used for storing SSL session objects.
|
abstract OpenSslSessionContext |
sessionContext()
Returns the
SSLSessionContext object held by this context. |
long |
sessionTimeout()
Returns the timeout for the cached SSL session objects, in seconds.
|
void |
setRejectRemoteInitiatedRenegotiation(boolean rejectRemoteInitiatedRenegotiation)
Specify if remote initiated renegotiation is supported or not.
|
void |
setTicketKeys(byte[] keys)
Deprecated.
|
long |
sslCtxPointer()
Returns the pointer to the
SSL_CTX object for this ReferenceCountedOpenSslContext . |
OpenSslSessionStats |
stats()
Deprecated.
use
#sessionContext#stats() |
io.netty.util.ReferenceCounted |
touch() |
io.netty.util.ReferenceCounted |
touch(Object hint) |
buildTrustManagerFactory, defaultClientProvider, defaultServerProvider, generateKeySpec, isServer, newClientContext, newClientContext, newClientContext, newClientContext, newClientContext, newClientContext, newClientContext, newClientContext, newClientContext, newClientContext, newClientContext, newClientContext, newClientContext, newHandler, newHandler, newServerContext, newServerContext, newServerContext, newServerContext, newServerContext, newServerContext, newServerContext, newServerContext, newServerContext, newServerContext, nextProtocols
protected static final int VERIFY_DEPTH
protected volatile long ctx
public final List<String> cipherSuites()
SslContext
cipherSuites
in class SslContext
public final long sessionCacheSize()
SslContext
sessionCacheSize
in class SslContext
public final long sessionTimeout()
SslContext
sessionTimeout
in class SslContext
public ApplicationProtocolNegotiator applicationProtocolNegotiator()
SslContext
applicationProtocolNegotiator
in class SslContext
public final boolean isClient()
SslContext
true
if and only if this context is for client-side.isClient
in class SslContext
public final SSLEngine newEngine(io.netty.buffer.ByteBufAllocator alloc, String peerHost, int peerPort)
SslContext
SSLEngine
using advisory peer information.
If SslProvider.OPENSSL_REFCNT
is used then the object must be released. One way to do this is to
wrap in a SslHandler
and insert it into a pipeline.
See SslContext.newHandler(ByteBufAllocator, String, int)
.
newEngine
in class SslContext
peerHost
- the non-authoritative name of the hostpeerPort
- the non-authoritative portSSLEngine
public final SSLEngine newEngine(io.netty.buffer.ByteBufAllocator alloc)
SSLEngine
with the current configuration.newEngine
in class SslContext
SSLEngine
@Deprecated public final long context()
sslCtxPointer()
SSL_CTX
object for this ReferenceCountedOpenSslContext
.
Be aware that it is freed as soon as the Object.finalize()
method is called.
At this point 0
will be returned.@Deprecated public final OpenSslSessionStats stats()
#sessionContext#stats()
public void setRejectRemoteInitiatedRenegotiation(boolean rejectRemoteInitiatedRenegotiation)
SSLHandshakeException
will be thrown during decoding.@Deprecated public final void setTicketKeys(byte[] keys)
OpenSslSessionContext.setTicketKeys(byte[])
public abstract OpenSslSessionContext sessionContext()
SslContext
SSLSessionContext
object held by this context.sessionContext
in class SslContext
public final long sslCtxPointer()
SSL_CTX
object for this ReferenceCountedOpenSslContext
.
Be aware that it is freed as soon as the release()
method is called.
At this point 0
will be returned.protected static X509Certificate[] certificates(byte[][] chain)
protected static X509TrustManager chooseTrustManager(TrustManager[] managers)
protected static X509KeyManager chooseX509KeyManager(KeyManager[] kms)
public final int refCnt()
refCnt
in interface io.netty.util.ReferenceCounted
public final io.netty.util.ReferenceCounted retain()
retain
in interface io.netty.util.ReferenceCounted
public final io.netty.util.ReferenceCounted retain(int increment)
retain
in interface io.netty.util.ReferenceCounted
public final io.netty.util.ReferenceCounted touch()
touch
in interface io.netty.util.ReferenceCounted
public final io.netty.util.ReferenceCounted touch(Object hint)
touch
in interface io.netty.util.ReferenceCounted
public final boolean release()
release
in interface io.netty.util.ReferenceCounted
public final boolean release(int decrement)
release
in interface io.netty.util.ReferenceCounted
Copyright © 2008–2016 The Netty Project. All rights reserved.