Package io.netty.handler.ssl
Class JdkSslContext
- java.lang.Object
-
- io.netty.handler.ssl.SslContext
-
- io.netty.handler.ssl.JdkSslContext
-
- Direct Known Subclasses:
JdkSslClientContext,JdkSslServerContext
public class JdkSslContext extends SslContext
AnSslContextwhich uses JDK's SSL/TLS implementation.
-
-
Constructor Summary
Constructors Constructor Description JdkSslContext(javax.net.ssl.SSLContext sslContext, boolean isClient, ClientAuth clientAuth)JdkSslContext(javax.net.ssl.SSLContext sslContext, boolean isClient, java.lang.Iterable<java.lang.String> ciphers, CipherSuiteFilter cipherFilter, ApplicationProtocolConfig apn, ClientAuth clientAuth)JdkSslContext(javax.net.ssl.SSLContext sslContext, boolean isClient, java.lang.Iterable<java.lang.String> ciphers, CipherSuiteFilter cipherFilter, ApplicationProtocolConfig apn, ClientAuth clientAuth, java.lang.String[] protocols, boolean startTls)Creates a newJdkSslContextfrom a pre-configuredSSLContext.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description JdkApplicationProtocolNegotiatorapplicationProtocolNegotiator()Returns the object responsible for negotiating application layer protocols for the TLS NPN/ALPN extensions.protected static javax.net.ssl.KeyManagerFactorybuildKeyManagerFactory(java.io.File certChainFile, java.io.File keyFile, java.lang.String keyPassword, javax.net.ssl.KeyManagerFactory kmf)Deprecated.will be removed.protected static javax.net.ssl.KeyManagerFactorybuildKeyManagerFactory(java.io.File certChainFile, java.lang.String keyAlgorithm, java.io.File keyFile, java.lang.String keyPassword, javax.net.ssl.KeyManagerFactory kmf)Deprecated.will be removed.java.util.List<java.lang.String>cipherSuites()Returns the list of enabled cipher suites, in the order of preference.javax.net.ssl.SSLContextcontext()Returns the JDKSSLContextobject held by this context.booleanisClient()Returns thetrueif and only if this context is for client-side.javax.net.ssl.SSLEnginenewEngine(ByteBufAllocator alloc)Creates a newSSLEngine.javax.net.ssl.SSLEnginenewEngine(ByteBufAllocator alloc, java.lang.String peerHost, int peerPort)Creates a newSSLEngineusing advisory peer information.javax.net.ssl.SSLSessionContextsessionContext()Returns the JDKSSLSessionContextobject held by this context.-
Methods inherited from class io.netty.handler.ssl.SslContext
attributes, buildKeyManagerFactory, buildKeyStore, buildTrustManagerFactory, buildTrustManagerFactory, buildTrustManagerFactory, defaultClientProvider, defaultServerProvider, generateKeySpec, isServer, newClientContext, newClientContext, newClientContext, newClientContext, newClientContext, newClientContext, newClientContext, newClientContext, newClientContext, newClientContext, newClientContext, newClientContext, newClientContext, newHandler, newHandler, newHandler, newHandler, newHandler, newHandler, newHandler, newHandler, newServerContext, newServerContext, newServerContext, newServerContext, newServerContext, newServerContext, newServerContext, newServerContext, newServerContext, newServerContext, nextProtocols, sessionCacheSize, sessionTimeout, toPrivateKey, toPrivateKey, toX509Certificates, toX509Certificates
-
-
-
-
Constructor Detail
-
JdkSslContext
@Deprecated public JdkSslContext(javax.net.ssl.SSLContext sslContext, boolean isClient, ClientAuth clientAuth)Deprecated.Creates a newJdkSslContextfrom a pre-configuredSSLContext.- Parameters:
sslContext- theSSLContextto use.isClient-trueif this context should createSSLEngines for client-side usage.clientAuth- theClientAuthto use. This will only be used when {@param isClient} isfalse.
-
JdkSslContext
@Deprecated public JdkSslContext(javax.net.ssl.SSLContext sslContext, boolean isClient, java.lang.Iterable<java.lang.String> ciphers, CipherSuiteFilter cipherFilter, ApplicationProtocolConfig apn, ClientAuth clientAuth)Deprecated.Creates a newJdkSslContextfrom a pre-configuredSSLContext.- Parameters:
sslContext- theSSLContextto use.isClient-trueif this context should createSSLEngines for client-side usage.ciphers- the ciphers to use ornullif the standard should be used.cipherFilter- the filter to use.apn- theApplicationProtocolConfigto use.clientAuth- theClientAuthto use. This will only be used when {@param isClient} isfalse.
-
JdkSslContext
public JdkSslContext(javax.net.ssl.SSLContext sslContext, boolean isClient, java.lang.Iterable<java.lang.String> ciphers, CipherSuiteFilter cipherFilter, ApplicationProtocolConfig apn, ClientAuth clientAuth, java.lang.String[] protocols, boolean startTls)Creates a newJdkSslContextfrom a pre-configuredSSLContext.- Parameters:
sslContext- theSSLContextto use.isClient-trueif this context should createSSLEngines for client-side usage.ciphers- the ciphers to use ornullif the standard should be used.cipherFilter- the filter to use.apn- theApplicationProtocolConfigto use.clientAuth- theClientAuthto use. This will only be used when {@param isClient} isfalse.protocols- the protocols to enable, ornullto enable the default protocols.startTls-trueif the first write request shouldn't be encrypted
-
-
Method Detail
-
context
public final javax.net.ssl.SSLContext context()
Returns the JDKSSLContextobject held by this context.
-
isClient
public final boolean isClient()
Description copied from class:SslContextReturns thetrueif and only if this context is for client-side.- Specified by:
isClientin classSslContext
-
sessionContext
public final javax.net.ssl.SSLSessionContext sessionContext()
Returns the JDKSSLSessionContextobject held by this context.- Specified by:
sessionContextin classSslContext
-
cipherSuites
public final java.util.List<java.lang.String> cipherSuites()
Description copied from class:SslContextReturns the list of enabled cipher suites, in the order of preference.- Specified by:
cipherSuitesin classSslContext
-
newEngine
public final javax.net.ssl.SSLEngine newEngine(ByteBufAllocator alloc)
Description copied from class:SslContextCreates a newSSLEngine.If
SslProvider.OPENSSL_REFCNTis used then the object must be released. One way to do this is to wrap in aSslHandlerand insert it into a pipeline. SeeSslContext.newHandler(ByteBufAllocator).- Specified by:
newEnginein classSslContext- Returns:
- a new
SSLEngine
-
newEngine
public final javax.net.ssl.SSLEngine newEngine(ByteBufAllocator alloc, java.lang.String peerHost, int peerPort)
Description copied from class:SslContextCreates a newSSLEngineusing advisory peer information.If
SslProvider.OPENSSL_REFCNTis used then the object must be released. One way to do this is to wrap in aSslHandlerand insert it into a pipeline. SeeSslContext.newHandler(ByteBufAllocator, String, int).- Specified by:
newEnginein classSslContextpeerHost- the non-authoritative name of the hostpeerPort- the non-authoritative port- Returns:
- a new
SSLEngine
-
applicationProtocolNegotiator
public final JdkApplicationProtocolNegotiator applicationProtocolNegotiator()
Description copied from class:SslContextReturns the object responsible for negotiating application layer protocols for the TLS NPN/ALPN extensions.- Specified by:
applicationProtocolNegotiatorin classSslContext
-
buildKeyManagerFactory
@Deprecated protected static javax.net.ssl.KeyManagerFactory buildKeyManagerFactory(java.io.File certChainFile, java.io.File keyFile, java.lang.String keyPassword, javax.net.ssl.KeyManagerFactory kmf) throws java.security.UnrecoverableKeyException, java.security.KeyStoreException, java.security.NoSuchAlgorithmException, javax.crypto.NoSuchPaddingException, java.security.spec.InvalidKeySpecException, java.security.InvalidAlgorithmParameterException, java.security.cert.CertificateException, java.security.KeyException, java.io.IOExceptionDeprecated.will be removed.Build aKeyManagerFactorybased upon a key file, key file password, and a certificate chain.- Parameters:
certChainFile- an X.509 certificate chain file in PEM formatkeyFile- a PKCS#8 private key file in PEM formatkeyPassword- the password of thekeyFile.nullif it's not password-protected.kmf- The existingKeyManagerFactorythat will be used if notnull- Returns:
- A
KeyManagerFactorybased upon a key file, key file password, and a certificate chain. - Throws:
java.security.UnrecoverableKeyExceptionjava.security.KeyStoreExceptionjava.security.NoSuchAlgorithmExceptionjavax.crypto.NoSuchPaddingExceptionjava.security.spec.InvalidKeySpecExceptionjava.security.InvalidAlgorithmParameterExceptionjava.security.cert.CertificateExceptionjava.security.KeyExceptionjava.io.IOException
-
buildKeyManagerFactory
@Deprecated protected static javax.net.ssl.KeyManagerFactory buildKeyManagerFactory(java.io.File certChainFile, java.lang.String keyAlgorithm, java.io.File keyFile, java.lang.String keyPassword, javax.net.ssl.KeyManagerFactory kmf) throws java.security.KeyStoreException, java.security.NoSuchAlgorithmException, javax.crypto.NoSuchPaddingException, java.security.spec.InvalidKeySpecException, java.security.InvalidAlgorithmParameterException, java.io.IOException, java.security.cert.CertificateException, java.security.KeyException, java.security.UnrecoverableKeyExceptionDeprecated.will be removed.Build aKeyManagerFactorybased upon a key algorithm, key file, key file password, and a certificate chain.- Parameters:
certChainFile- an buildKeyManagerFactory X.509 certificate chain file in PEM formatkeyAlgorithm- the standard name of the requested algorithm. See the Java Secure Socket Extension Reference Guide for information about standard algorithm names.keyFile- a PKCS#8 private key file in PEM formatkeyPassword- the password of thekeyFile.nullif it's not password-protected.kmf- The existingKeyManagerFactorythat will be used if notnull- Returns:
- A
KeyManagerFactorybased upon a key algorithm, key file, key file password, and a certificate chain. - Throws:
java.security.KeyStoreExceptionjava.security.NoSuchAlgorithmExceptionjavax.crypto.NoSuchPaddingExceptionjava.security.spec.InvalidKeySpecExceptionjava.security.InvalidAlgorithmParameterExceptionjava.io.IOExceptionjava.security.cert.CertificateExceptionjava.security.KeyExceptionjava.security.UnrecoverableKeyException
-
-