Package io.netty.handler.ssl
Class ReferenceCountedOpenSslClientContext
- java.lang.Object
-
- io.netty.handler.ssl.SslContext
-
- io.netty.handler.ssl.ReferenceCountedOpenSslContext
-
- io.netty.handler.ssl.ReferenceCountedOpenSslClientContext
-
- All Implemented Interfaces:
ReferenceCounted
public final class ReferenceCountedOpenSslClientContext extends ReferenceCountedOpenSslContext
A client-sideSslContext
which uses OpenSSL's SSL/TLS implementation.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 ofReferenceCountedOpenSslEngine
is called which uses this class's JNI resources the JVM may crash.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
ReferenceCountedOpenSslClientContext.ExtendedTrustManagerVerifyCallback
private static class
ReferenceCountedOpenSslClientContext.OpenSslClientCertificateCallback
(package private) static class
ReferenceCountedOpenSslClientContext.OpenSslClientSessionContext
private static class
ReferenceCountedOpenSslClientContext.TrustManagerVerifyCallback
-
Nested classes/interfaces inherited from class io.netty.handler.ssl.ReferenceCountedOpenSslContext
ReferenceCountedOpenSslContext.AbstractCertificateVerifier
-
-
Field Summary
Fields Modifier and Type Field Description private OpenSslSessionContext
sessionContext
private static java.util.Set<java.lang.String>
SUPPORTED_KEY_TYPES
-
Fields inherited from class io.netty.handler.ssl.ReferenceCountedOpenSslContext
CLIENT_ENABLE_SESSION_CACHE, CLIENT_ENABLE_SESSION_TICKET, CLIENT_ENABLE_SESSION_TICKET_TLSV13, clientAuth, ctx, ctxLock, enableOcsp, engineMap, keyCertChain, NONE_PROTOCOL_NEGOTIATOR, protocols, SERVER_ENABLE_SESSION_CACHE, SERVER_ENABLE_SESSION_TICKET, SERVER_ENABLE_SESSION_TICKET_TLSV13, tlsFalseStart, USE_TASKS, VERIFY_DEPTH
-
Fields inherited from class io.netty.handler.ssl.SslContext
ALIAS, X509_CERT_FACTORY
-
-
Constructor Summary
Constructors Constructor Description ReferenceCountedOpenSslClientContext(java.security.cert.X509Certificate[] trustCertCollection, javax.net.ssl.TrustManagerFactory trustManagerFactory, java.security.cert.X509Certificate[] keyCertChain, java.security.PrivateKey key, java.lang.String keyPassword, javax.net.ssl.KeyManagerFactory keyManagerFactory, java.lang.Iterable<java.lang.String> ciphers, CipherSuiteFilter cipherFilter, ApplicationProtocolConfig apn, java.lang.String[] protocols, long sessionCacheSize, long sessionTimeout, boolean enableOcsp, java.lang.String keyStore, java.util.Map.Entry<SslContextOption<?>,java.lang.Object>... options)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) static OpenSslSessionContext
newSessionContext(ReferenceCountedOpenSslContext thiz, long ctx, OpenSslEngineMap engineMap, java.security.cert.X509Certificate[] trustCertCollection, javax.net.ssl.TrustManagerFactory trustManagerFactory, java.security.cert.X509Certificate[] keyCertChain, java.security.PrivateKey key, java.lang.String keyPassword, javax.net.ssl.KeyManagerFactory keyManagerFactory, java.lang.String keyStore, long sessionCacheSize, long sessionTimeout)
OpenSslSessionContext
sessionContext()
Returns theSSLSessionContext
object held by this context.private static void
setVerifyCallback(long ctx, OpenSslEngineMap engineMap, javax.net.ssl.X509TrustManager manager)
-
Methods inherited from class io.netty.handler.ssl.ReferenceCountedOpenSslContext
applicationProtocolNegotiator, certificates, chooseTrustManager, chooseX509KeyManager, cipherSuites, context, freeBio, getBioNonApplicationBufferSize, getRejectRemoteInitiatedRenegotiation, isClient, newEngine, newEngine, newEngine0, newHandler, newHandler, newHandler, newHandler, providerFor, refCnt, release, release, retain, retain, setBioNonApplicationBufferSize, setKeyMaterial, setPrivateKeyMethod, setRejectRemoteInitiatedRenegotiation, setTicketKeys, setUseTasks, sslCtxPointer, stats, toBIO, toBIO, toBIO, toNegotiator, touch, touch, useExtendedTrustManager
-
Methods inherited from class io.netty.handler.ssl.SslContext
attributes, buildKeyManagerFactory, buildKeyManagerFactory, buildKeyStore, buildTrustManagerFactory, buildTrustManagerFactory, buildTrustManagerFactory, defaultClientProvider, defaultServerProvider, generateKeySpec, isServer, keyStorePassword, newClientContext, newClientContext, newClientContext, newClientContext, newClientContext, newClientContext, newClientContext, newClientContext, newClientContext, newClientContext, newClientContext, newClientContext, newClientContext, newClientContextInternal, newHandler, newHandler, newHandler, newHandler, newServerContext, newServerContext, newServerContext, newServerContext, newServerContext, newServerContext, newServerContext, newServerContext, newServerContext, newServerContext, newServerContext, newServerContextInternal, nextProtocols, sessionCacheSize, sessionTimeout, toApplicationProtocolConfig, toPrivateKey, toPrivateKey, toPrivateKeyInternal, toX509Certificates, toX509Certificates, toX509CertificatesInternal
-
-
-
-
Field Detail
-
SUPPORTED_KEY_TYPES
private static final java.util.Set<java.lang.String> SUPPORTED_KEY_TYPES
-
sessionContext
private final OpenSslSessionContext sessionContext
-
-
Constructor Detail
-
ReferenceCountedOpenSslClientContext
ReferenceCountedOpenSslClientContext(java.security.cert.X509Certificate[] trustCertCollection, javax.net.ssl.TrustManagerFactory trustManagerFactory, java.security.cert.X509Certificate[] keyCertChain, java.security.PrivateKey key, java.lang.String keyPassword, javax.net.ssl.KeyManagerFactory keyManagerFactory, java.lang.Iterable<java.lang.String> ciphers, CipherSuiteFilter cipherFilter, ApplicationProtocolConfig apn, java.lang.String[] protocols, long sessionCacheSize, long sessionTimeout, boolean enableOcsp, java.lang.String keyStore, java.util.Map.Entry<SslContextOption<?>,java.lang.Object>... options) throws javax.net.ssl.SSLException
- Throws:
javax.net.ssl.SSLException
-
-
Method Detail
-
sessionContext
public OpenSslSessionContext sessionContext()
Description copied from class:SslContext
Returns theSSLSessionContext
object held by this context.- Specified by:
sessionContext
in classReferenceCountedOpenSslContext
-
newSessionContext
static OpenSslSessionContext newSessionContext(ReferenceCountedOpenSslContext thiz, long ctx, OpenSslEngineMap engineMap, java.security.cert.X509Certificate[] trustCertCollection, javax.net.ssl.TrustManagerFactory trustManagerFactory, java.security.cert.X509Certificate[] keyCertChain, java.security.PrivateKey key, java.lang.String keyPassword, javax.net.ssl.KeyManagerFactory keyManagerFactory, java.lang.String keyStore, long sessionCacheSize, long sessionTimeout) throws javax.net.ssl.SSLException
- Throws:
javax.net.ssl.SSLException
-
setVerifyCallback
private static void setVerifyCallback(long ctx, OpenSslEngineMap engineMap, javax.net.ssl.X509TrustManager manager)
-
-