public abstract class SslContext extends Object
SSLEngine
and SslHandler
.
Internally, it is implemented via JDK's SSLContext
or OpenSSL's SSL_CTX
.
// In yourChannelInitializer
:ChannelPipeline
p = channel.pipeline();SslContext
sslCtx =SslContextBuilder.forServer(...)
.build(); p.addLast("ssl",sslCtx.newHandler(channel.alloc())
); ...
// In yourChannelInitializer
:ChannelPipeline
p = channel.pipeline();SslContext
sslCtx =SslContextBuilder.forClient()
.build(); p.addLast("ssl",sslCtx.newHandler(channel.alloc(), host, port)
); ...
Modifier | Constructor and Description |
---|---|
protected |
SslContext()
Creates a new instance (startTls set to
false ). |
protected |
SslContext(boolean startTls)
Creates a new instance.
|
Modifier and Type | Method and Description |
---|---|
abstract ApplicationProtocolNegotiator |
applicationProtocolNegotiator()
Returns the object responsible for negotiating application layer protocols for the TLS NPN/ALPN extensions.
|
protected static TrustManagerFactory |
buildTrustManagerFactory(File certChainFile,
TrustManagerFactory trustManagerFactory)
Deprecated.
|
abstract List<String> |
cipherSuites()
Returns the list of enabled cipher suites, in the order of preference.
|
static SslProvider |
defaultClientProvider()
Returns the default client-side implementation provider currently in use.
|
static SslProvider |
defaultServerProvider()
Returns the default server-side implementation provider currently in use.
|
protected static PKCS8EncodedKeySpec |
generateKeySpec(char[] password,
byte[] key)
Generates a key specification for an (encrypted) private key.
|
abstract boolean |
isClient()
Returns the
true if and only if this context is for client-side. |
boolean |
isServer()
Returns
true if and only if this context is for server-side. |
static SslContext |
newClientContext()
Deprecated.
Replaced by
SslContextBuilder |
static SslContext |
newClientContext(File certChainFile)
Deprecated.
Replaced by
SslContextBuilder |
static SslContext |
newClientContext(File certChainFile,
TrustManagerFactory trustManagerFactory)
Deprecated.
Replaced by
SslContextBuilder |
static SslContext |
newClientContext(File certChainFile,
TrustManagerFactory trustManagerFactory,
Iterable<String> ciphers,
CipherSuiteFilter cipherFilter,
ApplicationProtocolConfig apn,
long sessionCacheSize,
long sessionTimeout)
Deprecated.
Replaced by
SslContextBuilder |
static SslContext |
newClientContext(File certChainFile,
TrustManagerFactory trustManagerFactory,
Iterable<String> ciphers,
Iterable<String> nextProtocols,
long sessionCacheSize,
long sessionTimeout)
Deprecated.
Replaced by
SslContextBuilder |
static SslContext |
newClientContext(SslProvider provider)
Deprecated.
Replaced by
SslContextBuilder |
static SslContext |
newClientContext(SslProvider provider,
File certChainFile)
Deprecated.
Replaced by
SslContextBuilder |
static SslContext |
newClientContext(SslProvider provider,
File certChainFile,
TrustManagerFactory trustManagerFactory)
Deprecated.
Replaced by
SslContextBuilder |
static SslContext |
newClientContext(SslProvider provider,
File trustCertCollectionFile,
TrustManagerFactory trustManagerFactory,
File keyCertChainFile,
File keyFile,
String keyPassword,
KeyManagerFactory keyManagerFactory,
Iterable<String> ciphers,
CipherSuiteFilter cipherFilter,
ApplicationProtocolConfig apn,
long sessionCacheSize,
long sessionTimeout)
Deprecated.
Replaced by
SslContextBuilder |
static SslContext |
newClientContext(SslProvider provider,
File certChainFile,
TrustManagerFactory trustManagerFactory,
Iterable<String> ciphers,
CipherSuiteFilter cipherFilter,
ApplicationProtocolConfig apn,
long sessionCacheSize,
long sessionTimeout)
Deprecated.
Replaced by
SslContextBuilder |
static SslContext |
newClientContext(SslProvider provider,
File certChainFile,
TrustManagerFactory trustManagerFactory,
Iterable<String> ciphers,
Iterable<String> nextProtocols,
long sessionCacheSize,
long sessionTimeout)
Deprecated.
Replaced by
SslContextBuilder |
static SslContext |
newClientContext(SslProvider provider,
TrustManagerFactory trustManagerFactory)
Deprecated.
Replaced by
SslContextBuilder |
static SslContext |
newClientContext(TrustManagerFactory trustManagerFactory)
Deprecated.
Replaced by
SslContextBuilder |
abstract SSLEngine |
newEngine(io.netty.buffer.ByteBufAllocator alloc)
Creates a new
SSLEngine . |
abstract SSLEngine |
newEngine(io.netty.buffer.ByteBufAllocator alloc,
String peerHost,
int peerPort)
Creates a new
SSLEngine using advisory peer information. |
SslHandler |
newHandler(io.netty.buffer.ByteBufAllocator alloc)
Creates a new
SslHandler . |
SslHandler |
newHandler(io.netty.buffer.ByteBufAllocator alloc,
String peerHost,
int peerPort)
Creates a new
SslHandler with advisory peer information. |
static SslContext |
newServerContext(File certChainFile,
File keyFile)
Deprecated.
Replaced by
SslContextBuilder |
static SslContext |
newServerContext(File certChainFile,
File keyFile,
String keyPassword)
Deprecated.
Replaced by
SslContextBuilder |
static SslContext |
newServerContext(File certChainFile,
File keyFile,
String keyPassword,
Iterable<String> ciphers,
CipherSuiteFilter cipherFilter,
ApplicationProtocolConfig apn,
long sessionCacheSize,
long sessionTimeout)
Deprecated.
Replaced by
SslContextBuilder |
static SslContext |
newServerContext(File certChainFile,
File keyFile,
String keyPassword,
Iterable<String> ciphers,
Iterable<String> nextProtocols,
long sessionCacheSize,
long sessionTimeout)
Deprecated.
Replaced by
SslContextBuilder |
static SslContext |
newServerContext(SslProvider provider,
File certChainFile,
File keyFile)
Deprecated.
Replaced by
SslContextBuilder |
static SslContext |
newServerContext(SslProvider provider,
File certChainFile,
File keyFile,
String keyPassword)
Deprecated.
Replaced by
SslContextBuilder |
static SslContext |
newServerContext(SslProvider provider,
File certChainFile,
File keyFile,
String keyPassword,
Iterable<String> ciphers,
CipherSuiteFilter cipherFilter,
ApplicationProtocolConfig apn,
long sessionCacheSize,
long sessionTimeout)
Deprecated.
Replaced by
SslContextBuilder |
static SslContext |
newServerContext(SslProvider provider,
File certChainFile,
File keyFile,
String keyPassword,
Iterable<String> ciphers,
Iterable<String> nextProtocols,
long sessionCacheSize,
long sessionTimeout)
Deprecated.
Replaced by
SslContextBuilder |
static SslContext |
newServerContext(SslProvider provider,
File certChainFile,
File keyFile,
String keyPassword,
TrustManagerFactory trustManagerFactory,
Iterable<String> ciphers,
Iterable<String> nextProtocols,
long sessionCacheSize,
long sessionTimeout)
Deprecated.
Replaced by
SslContextBuilder |
static SslContext |
newServerContext(SslProvider provider,
File trustCertCollectionFile,
TrustManagerFactory trustManagerFactory,
File keyCertChainFile,
File keyFile,
String keyPassword,
KeyManagerFactory keyManagerFactory,
Iterable<String> ciphers,
CipherSuiteFilter cipherFilter,
ApplicationProtocolConfig apn,
long sessionCacheSize,
long sessionTimeout)
Deprecated.
Replaced by
SslContextBuilder |
List<String> |
nextProtocols()
Deprecated.
Use
applicationProtocolNegotiator() instead. |
abstract long |
sessionCacheSize()
Returns the size of the cache used for storing SSL session objects.
|
abstract SSLSessionContext |
sessionContext()
Returns the
SSLSessionContext object held by this context. |
abstract long |
sessionTimeout()
Returns the timeout for the cached SSL session objects, in seconds.
|
protected SslContext()
false
).protected SslContext(boolean startTls)
public static SslProvider defaultServerProvider()
SslProvider.OPENSSL
if OpenSSL is available. SslProvider.JDK
otherwise.public static SslProvider defaultClientProvider()
SslProvider.OPENSSL
if OpenSSL is available. SslProvider.JDK
otherwise.@Deprecated public static SslContext newServerContext(File certChainFile, File keyFile) throws SSLException
SslContextBuilder
SslContext
.certChainFile
- an X.509 certificate chain file in PEM formatkeyFile
- a PKCS#8 private key file in PEM formatSslContext
SSLException
@Deprecated public static SslContext newServerContext(File certChainFile, File keyFile, String keyPassword) throws SSLException
SslContextBuilder
SslContext
.certChainFile
- an X.509 certificate chain file in PEM formatkeyFile
- a PKCS#8 private key file in PEM formatkeyPassword
- the password of the keyFile
.
null
if it's not password-protected.SslContext
SSLException
@Deprecated public static SslContext newServerContext(File certChainFile, File keyFile, String keyPassword, Iterable<String> ciphers, Iterable<String> nextProtocols, long sessionCacheSize, long sessionTimeout) throws SSLException
SslContextBuilder
SslContext
.certChainFile
- an X.509 certificate chain file in PEM formatkeyFile
- a PKCS#8 private key file in PEM formatkeyPassword
- the password of the keyFile
.
null
if it's not password-protected.ciphers
- the cipher suites to enable, in the order of preference.
null
to use the default cipher suites.nextProtocols
- the application layer protocols to accept, in the order of preference.
null
to disable TLS NPN/ALPN extension.sessionCacheSize
- the size of the cache used for storing SSL session objects.
0
to use the default value.sessionTimeout
- the timeout for the cached SSL session objects, in seconds.
0
to use the default value.SslContext
SSLException
@Deprecated public static SslContext newServerContext(File certChainFile, File keyFile, String keyPassword, Iterable<String> ciphers, CipherSuiteFilter cipherFilter, ApplicationProtocolConfig apn, long sessionCacheSize, long sessionTimeout) throws SSLException
SslContextBuilder
SslContext
.certChainFile
- an X.509 certificate chain file in PEM formatkeyFile
- a PKCS#8 private key file in PEM formatkeyPassword
- the password of the keyFile
.
null
if it's not password-protected.ciphers
- the cipher suites to enable, in the order of preference.
null
to use the default cipher suites.cipherFilter
- a filter to apply over the supplied list of ciphersapn
- Provides a means to configure parameters related to application protocol negotiation.sessionCacheSize
- the size of the cache used for storing SSL session objects.
0
to use the default value.sessionTimeout
- the timeout for the cached SSL session objects, in seconds.
0
to use the default value.SslContext
SSLException
@Deprecated public static SslContext newServerContext(SslProvider provider, File certChainFile, File keyFile) throws SSLException
SslContextBuilder
SslContext
.provider
- the SslContext
implementation to use.
null
to use the current default one.certChainFile
- an X.509 certificate chain file in PEM formatkeyFile
- a PKCS#8 private key file in PEM formatSslContext
SSLException
@Deprecated public static SslContext newServerContext(SslProvider provider, File certChainFile, File keyFile, String keyPassword) throws SSLException
SslContextBuilder
SslContext
.provider
- the SslContext
implementation to use.
null
to use the current default one.certChainFile
- an X.509 certificate chain file in PEM formatkeyFile
- a PKCS#8 private key file in PEM formatkeyPassword
- the password of the keyFile
.
null
if it's not password-protected.SslContext
SSLException
@Deprecated public static SslContext newServerContext(SslProvider provider, File certChainFile, File keyFile, String keyPassword, Iterable<String> ciphers, Iterable<String> nextProtocols, long sessionCacheSize, long sessionTimeout) throws SSLException
SslContextBuilder
SslContext
.provider
- the SslContext
implementation to use.
null
to use the current default one.certChainFile
- an X.509 certificate chain file in PEM formatkeyFile
- a PKCS#8 private key file in PEM formatkeyPassword
- the password of the keyFile
.
null
if it's not password-protected.ciphers
- the cipher suites to enable, in the order of preference.
null
to use the default cipher suites.nextProtocols
- the application layer protocols to accept, in the order of preference.
null
to disable TLS NPN/ALPN extension.sessionCacheSize
- the size of the cache used for storing SSL session objects.
0
to use the default value.sessionTimeout
- the timeout for the cached SSL session objects, in seconds.
0
to use the default value.SslContext
SSLException
@Deprecated public static SslContext newServerContext(SslProvider provider, File certChainFile, File keyFile, String keyPassword, TrustManagerFactory trustManagerFactory, Iterable<String> ciphers, Iterable<String> nextProtocols, long sessionCacheSize, long sessionTimeout) throws SSLException
SslContextBuilder
SslContext
.provider
- the SslContext
implementation to use.
null
to use the current default one.certChainFile
- an X.509 certificate chain file in PEM formatkeyFile
- a PKCS#8 private key file in PEM formatkeyPassword
- the password of the keyFile
.
null
if it's not password-protected.trustManagerFactory
- the TrustManagerFactory
that provides the TrustManager
s
that verifies the certificates sent from servers.
null
to use the default.ciphers
- the cipher suites to enable, in the order of preference.
null
to use the default cipher suites.nextProtocols
- the application layer protocols to accept, in the order of preference.
null
to disable TLS NPN/ALPN extension.sessionCacheSize
- the size of the cache used for storing SSL session objects.
0
to use the default value.sessionTimeout
- the timeout for the cached SSL session objects, in seconds.
0
to use the default value.SslContext
SSLException
@Deprecated public static SslContext newServerContext(SslProvider provider, File certChainFile, File keyFile, String keyPassword, Iterable<String> ciphers, CipherSuiteFilter cipherFilter, ApplicationProtocolConfig apn, long sessionCacheSize, long sessionTimeout) throws SSLException
SslContextBuilder
SslContext
.provider
- the SslContext
implementation to use.
null
to use the current default one.certChainFile
- an X.509 certificate chain file in PEM formatkeyFile
- a PKCS#8 private key file in PEM formatkeyPassword
- the password of the keyFile
.
null
if it's not password-protected.ciphers
- the cipher suites to enable, in the order of preference.
null
to use the default cipher suites.cipherFilter
- a filter to apply over the supplied list of ciphers
Only required if provider
is SslProvider.JDK
apn
- Provides a means to configure parameters related to application protocol negotiation.sessionCacheSize
- the size of the cache used for storing SSL session objects.
0
to use the default value.sessionTimeout
- the timeout for the cached SSL session objects, in seconds.
0
to use the default value.SslContext
SSLException
@Deprecated public static SslContext newServerContext(SslProvider provider, File trustCertCollectionFile, TrustManagerFactory trustManagerFactory, File keyCertChainFile, File keyFile, String keyPassword, KeyManagerFactory keyManagerFactory, Iterable<String> ciphers, CipherSuiteFilter cipherFilter, ApplicationProtocolConfig apn, long sessionCacheSize, long sessionTimeout) throws SSLException
SslContextBuilder
SslContext
.provider
- the SslContext
implementation to use.
null
to use the current default one.trustCertCollectionFile
- an X.509 certificate collection file in PEM format.
This provides the certificate collection used for mutual authentication.
null
to use the system defaulttrustManagerFactory
- the TrustManagerFactory
that provides the TrustManager
s
that verifies the certificates sent from clients.
null
to use the default or the results of parsing
trustCertCollectionFile
.
This parameter is ignored if provider
is not SslProvider.JDK
.keyCertChainFile
- an X.509 certificate chain file in PEM formatkeyFile
- a PKCS#8 private key file in PEM formatkeyPassword
- the password of the keyFile
.
null
if it's not password-protected.keyManagerFactory
- the KeyManagerFactory
that provides the KeyManager
s
that is used to encrypt data being sent to clients.
null
to use the default or the results of parsing
keyCertChainFile
and keyFile
.
This parameter is ignored if provider
is not SslProvider.JDK
.ciphers
- the cipher suites to enable, in the order of preference.
null
to use the default cipher suites.cipherFilter
- a filter to apply over the supplied list of ciphers
Only required if provider
is SslProvider.JDK
apn
- Provides a means to configure parameters related to application protocol negotiation.sessionCacheSize
- the size of the cache used for storing SSL session objects.
0
to use the default value.sessionTimeout
- the timeout for the cached SSL session objects, in seconds.
0
to use the default value.SslContext
SSLException
@Deprecated public static SslContext newClientContext() throws SSLException
SslContextBuilder
SslContext
.SslContext
SSLException
@Deprecated public static SslContext newClientContext(File certChainFile) throws SSLException
SslContextBuilder
SslContext
.certChainFile
- an X.509 certificate chain file in PEM formatSslContext
SSLException
@Deprecated public static SslContext newClientContext(TrustManagerFactory trustManagerFactory) throws SSLException
SslContextBuilder
SslContext
.trustManagerFactory
- the TrustManagerFactory
that provides the TrustManager
s
that verifies the certificates sent from servers.
null
to use the default.SslContext
SSLException
@Deprecated public static SslContext newClientContext(File certChainFile, TrustManagerFactory trustManagerFactory) throws SSLException
SslContextBuilder
SslContext
.certChainFile
- an X.509 certificate chain file in PEM format.
null
to use the system defaulttrustManagerFactory
- the TrustManagerFactory
that provides the TrustManager
s
that verifies the certificates sent from servers.
null
to use the default.SslContext
SSLException
@Deprecated public static SslContext newClientContext(File certChainFile, TrustManagerFactory trustManagerFactory, Iterable<String> ciphers, Iterable<String> nextProtocols, long sessionCacheSize, long sessionTimeout) throws SSLException
SslContextBuilder
SslContext
.certChainFile
- an X.509 certificate chain file in PEM format.
null
to use the system defaulttrustManagerFactory
- the TrustManagerFactory
that provides the TrustManager
s
that verifies the certificates sent from servers.
null
to use the default.ciphers
- the cipher suites to enable, in the order of preference.
null
to use the default cipher suites.nextProtocols
- the application layer protocols to accept, in the order of preference.
null
to disable TLS NPN/ALPN extension.sessionCacheSize
- the size of the cache used for storing SSL session objects.
0
to use the default value.sessionTimeout
- the timeout for the cached SSL session objects, in seconds.
0
to use the default value.SslContext
SSLException
@Deprecated public static SslContext newClientContext(File certChainFile, TrustManagerFactory trustManagerFactory, Iterable<String> ciphers, CipherSuiteFilter cipherFilter, ApplicationProtocolConfig apn, long sessionCacheSize, long sessionTimeout) throws SSLException
SslContextBuilder
SslContext
.certChainFile
- an X.509 certificate chain file in PEM format.
null
to use the system defaulttrustManagerFactory
- the TrustManagerFactory
that provides the TrustManager
s
that verifies the certificates sent from servers.
null
to use the default.ciphers
- the cipher suites to enable, in the order of preference.
null
to use the default cipher suites.cipherFilter
- a filter to apply over the supplied list of ciphersapn
- Provides a means to configure parameters related to application protocol negotiation.sessionCacheSize
- the size of the cache used for storing SSL session objects.
0
to use the default value.sessionTimeout
- the timeout for the cached SSL session objects, in seconds.
0
to use the default value.SslContext
SSLException
@Deprecated public static SslContext newClientContext(SslProvider provider) throws SSLException
SslContextBuilder
SslContext
.provider
- the SslContext
implementation to use.
null
to use the current default one.SslContext
SSLException
@Deprecated public static SslContext newClientContext(SslProvider provider, File certChainFile) throws SSLException
SslContextBuilder
SslContext
.provider
- the SslContext
implementation to use.
null
to use the current default one.certChainFile
- an X.509 certificate chain file in PEM format.
null
to use the system defaultSslContext
SSLException
@Deprecated public static SslContext newClientContext(SslProvider provider, TrustManagerFactory trustManagerFactory) throws SSLException
SslContextBuilder
SslContext
.provider
- the SslContext
implementation to use.
null
to use the current default one.trustManagerFactory
- the TrustManagerFactory
that provides the TrustManager
s
that verifies the certificates sent from servers.
null
to use the default.SslContext
SSLException
@Deprecated public static SslContext newClientContext(SslProvider provider, File certChainFile, TrustManagerFactory trustManagerFactory) throws SSLException
SslContextBuilder
SslContext
.provider
- the SslContext
implementation to use.
null
to use the current default one.certChainFile
- an X.509 certificate chain file in PEM format.
null
to use the system defaulttrustManagerFactory
- the TrustManagerFactory
that provides the TrustManager
s
that verifies the certificates sent from servers.
null
to use the default.SslContext
SSLException
@Deprecated public static SslContext newClientContext(SslProvider provider, File certChainFile, TrustManagerFactory trustManagerFactory, Iterable<String> ciphers, Iterable<String> nextProtocols, long sessionCacheSize, long sessionTimeout) throws SSLException
SslContextBuilder
SslContext
.provider
- the SslContext
implementation to use.
null
to use the current default one.certChainFile
- an X.509 certificate chain file in PEM format.
null
to use the system defaulttrustManagerFactory
- the TrustManagerFactory
that provides the TrustManager
s
that verifies the certificates sent from servers.
null
to use the default.ciphers
- the cipher suites to enable, in the order of preference.
null
to use the default cipher suites.nextProtocols
- the application layer protocols to accept, in the order of preference.
null
to disable TLS NPN/ALPN extension.sessionCacheSize
- the size of the cache used for storing SSL session objects.
0
to use the default value.sessionTimeout
- the timeout for the cached SSL session objects, in seconds.
0
to use the default value.SslContext
SSLException
@Deprecated public static SslContext newClientContext(SslProvider provider, File certChainFile, TrustManagerFactory trustManagerFactory, Iterable<String> ciphers, CipherSuiteFilter cipherFilter, ApplicationProtocolConfig apn, long sessionCacheSize, long sessionTimeout) throws SSLException
SslContextBuilder
SslContext
.provider
- the SslContext
implementation to use.
null
to use the current default one.certChainFile
- an X.509 certificate chain file in PEM format.
null
to use the system defaulttrustManagerFactory
- the TrustManagerFactory
that provides the TrustManager
s
that verifies the certificates sent from servers.
null
to use the default.ciphers
- the cipher suites to enable, in the order of preference.
null
to use the default cipher suites.cipherFilter
- a filter to apply over the supplied list of ciphersapn
- Provides a means to configure parameters related to application protocol negotiation.sessionCacheSize
- the size of the cache used for storing SSL session objects.
0
to use the default value.sessionTimeout
- the timeout for the cached SSL session objects, in seconds.
0
to use the default value.SslContext
SSLException
@Deprecated public static SslContext newClientContext(SslProvider provider, File trustCertCollectionFile, TrustManagerFactory trustManagerFactory, File keyCertChainFile, File keyFile, String keyPassword, KeyManagerFactory keyManagerFactory, Iterable<String> ciphers, CipherSuiteFilter cipherFilter, ApplicationProtocolConfig apn, long sessionCacheSize, long sessionTimeout) throws SSLException
SslContextBuilder
SslContext
.provider
- the SslContext
implementation to use.
null
to use the current default one.trustCertCollectionFile
- an X.509 certificate collection file in PEM format.
null
to use the system defaulttrustManagerFactory
- the TrustManagerFactory
that provides the TrustManager
s
that verifies the certificates sent from servers.
null
to use the default or the results of parsing
trustCertCollectionFile
.
This parameter is ignored if provider
is not SslProvider.JDK
.keyCertChainFile
- an X.509 certificate chain file in PEM format.
This provides the public key for mutual authentication.
null
to use the system defaultkeyFile
- a PKCS#8 private key file in PEM format.
This provides the private key for mutual authentication.
null
for no mutual authentication.keyPassword
- the password of the keyFile
.
null
if it's not password-protected.
Ignored if keyFile
is null
.keyManagerFactory
- the KeyManagerFactory
that provides the KeyManager
s
that is used to encrypt data being sent to servers.
null
to use the default or the results of parsing
keyCertChainFile
and keyFile
.
This parameter is ignored if provider
is not SslProvider.JDK
.ciphers
- the cipher suites to enable, in the order of preference.
null
to use the default cipher suites.cipherFilter
- a filter to apply over the supplied list of ciphersapn
- Provides a means to configure parameters related to application protocol negotiation.sessionCacheSize
- the size of the cache used for storing SSL session objects.
0
to use the default value.sessionTimeout
- the timeout for the cached SSL session objects, in seconds.
0
to use the default value.SslContext
SSLException
public final boolean isServer()
true
if and only if this context is for server-side.public abstract boolean isClient()
true
if and only if this context is for client-side.public abstract List<String> cipherSuites()
public abstract long sessionCacheSize()
public abstract long sessionTimeout()
@Deprecated public final List<String> nextProtocols()
applicationProtocolNegotiator()
instead.public abstract ApplicationProtocolNegotiator applicationProtocolNegotiator()
public abstract SSLEngine newEngine(io.netty.buffer.ByteBufAllocator alloc)
SSLEngine
.
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 newHandler(ByteBufAllocator)
.
SSLEngine
public abstract SSLEngine newEngine(io.netty.buffer.ByteBufAllocator alloc, String peerHost, int peerPort)
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 newHandler(ByteBufAllocator, String, int)
.
peerHost
- the non-authoritative name of the hostpeerPort
- the non-authoritative portSSLEngine
public abstract SSLSessionContext sessionContext()
SSLSessionContext
object held by this context.public final SslHandler newHandler(io.netty.buffer.ByteBufAllocator alloc)
SslHandler
.
If SslProvider.OPENSSL_REFCNT
is used then the returned SslHandler
will release the engine
that is wrapped. If the returned SslHandler
is not inserted into a pipeline then you may leak native
memory!
SslHandler
public final SslHandler newHandler(io.netty.buffer.ByteBufAllocator alloc, String peerHost, int peerPort)
SslHandler
with advisory peer information.
If SslProvider.OPENSSL_REFCNT
is used then the returned SslHandler
will release the engine
that is wrapped. If the returned SslHandler
is not inserted into a pipeline then you may leak native
memory!
peerHost
- the non-authoritative name of the hostpeerPort
- the non-authoritative portSslHandler
protected static PKCS8EncodedKeySpec generateKeySpec(char[] password, byte[] key) throws IOException, NoSuchAlgorithmException, NoSuchPaddingException, InvalidKeySpecException, InvalidKeyException, InvalidAlgorithmParameterException
password
- characters, if null
an unencrypted key is assumedkey
- bytes of the DER encoded private keyIOException
- if parsing key
failsNoSuchAlgorithmException
- if the algorithm used to encrypt key
is unkownNoSuchPaddingException
- if the padding scheme specified in the decryption algorithm is unkownInvalidKeySpecException
- if the decryption key based on password
cannot be generatedInvalidKeyException
- if the decryption key based on password
cannot be used to decrypt
key
InvalidAlgorithmParameterException
- if decryption algorithm parameters are somehow faulty@Deprecated protected static TrustManagerFactory buildTrustManagerFactory(File certChainFile, TrustManagerFactory trustManagerFactory) throws NoSuchAlgorithmException, CertificateException, KeyStoreException, IOException
TrustManagerFactory
from a certificate chain file.certChainFile
- The certificate file to build from.trustManagerFactory
- The existing TrustManagerFactory
that will be used if not null
.TrustManagerFactory
which contains the certificates in certChainFile
NoSuchAlgorithmException
CertificateException
KeyStoreException
IOException
Copyright © 2008–2017 The Netty Project. All rights reserved.