public final class SslContextBuilder
extends java.lang.Object
| Modifier and Type | Method and Description |
|---|---|
SslContextBuilder |
applicationProtocolConfig(ApplicationProtocolConfig apn)
应用协议协商配置。
|
SslContext |
build()
使用配置的设置创建新的
SslContext实例。
|
SslContextBuilder |
ciphers(java.lang.Iterable<java.lang.String> ciphers)
按优先顺序启用密码套件。
|
SslContextBuilder |
ciphers(java.lang.Iterable<java.lang.String> ciphers, CipherSuiteFilter cipherFilter)
按优先顺序启用密码套件。
|
SslContextBuilder |
clientAuth(ClientAuth clientAuth)
设置客户端身份验证模式。
|
SslContextBuilder |
enableOcsp(boolean enableOcsp)
启用OCSP装订。
|
static SslContextBuilder |
forClient()
为新客户端创建一个构建器 SslContext 。
|
static SslContextBuilder |
forServer(java.io.File keyCertChainFile, java.io.File keyFile)
为新的服务器端 SslContext创建一个构建器。
|
static SslContextBuilder |
forServer(java.io.File keyCertChainFile, java.io.File keyFile, java.lang.String keyPassword)
为新服务器端创建一个构建器 SslContext 。
|
static SslContextBuilder |
forServer(java.io.InputStream keyCertChainInputStream, java.io.InputStream keyInputStream)
为新的服务器端创建一个构建器 SslContext 。
|
static SslContextBuilder |
forServer(java.io.InputStream keyCertChainInputStream, java.io.InputStream keyInputStream, java.lang.String keyPassword)
为新的服务器端 SslContext创建一个构建器。
|
static SslContextBuilder |
forServer(javax.net.ssl.KeyManagerFactory keyManagerFactory)
为新服务器端创建一个构建器 SslContext 。
|
static SslContextBuilder |
forServer(java.security.PrivateKey key, java.lang.String keyPassword, java.security.cert.X509Certificate... keyCertChain)
为新服务器端创建一个构建器 SslContext 。
|
static SslContextBuilder |
forServer(java.security.PrivateKey key, java.security.cert.X509Certificate... keyCertChain)
为新的服务器端 SslContext创建一个构建器。
|
SslContextBuilder |
keyManager(java.io.File keyCertChainFile, java.io.File keyFile)
识别该主机的证书。
|
SslContextBuilder |
keyManager(java.io.File keyCertChainFile, java.io.File keyFile, java.lang.String keyPassword)
识别该主机的证书。
|
SslContextBuilder |
keyManager(java.io.InputStream keyCertChainInputStream, java.io.InputStream keyInputStream)
识别该主机的证书。
|
SslContextBuilder |
keyManager(java.io.InputStream keyCertChainInputStream, java.io.InputStream keyInputStream, java.lang.String keyPassword)
识别该主机的证书。
|
SslContextBuilder |
keyManager(javax.net.ssl.KeyManagerFactory keyManagerFactory)
识别该主机的管理员。
|
SslContextBuilder |
keyManager(java.security.PrivateKey key, java.lang.String keyPassword, java.security.cert.X509Certificate... keyCertChain)
识别该主机的证书。
|
SslContextBuilder |
keyManager(java.security.PrivateKey key, java.security.cert.X509Certificate... keyCertChain)
识别该主机的证书。
|
SslContextBuilder |
protocols(java.lang.String... protocols)
要启用的TLS协议版本。
|
SslContextBuilder |
sessionCacheSize(long sessionCacheSize)
设置用于存储SSL会话对象的高速缓存大小。
|
SslContextBuilder |
sessionTimeout(long sessionTimeout)
以秒为单位设置缓存的SSL会话对象的超时时间。
|
SslContextBuilder |
sslContextProvider(java.security.Provider sslContextProvider)
使用SSLContext
Provider 。
|
SslContextBuilder |
sslProvider(SslProvider provider)
要使用的 SslContext实施。
|
SslContextBuilder |
startTls(boolean startTls)
true如果第一个写请求不应该被加密。
|
SslContextBuilder |
trustManager(java.io.File trustCertCollectionFile)
受信任的证书用于验证远程端点的证书。
|
SslContextBuilder |
trustManager(java.io.InputStream trustCertCollectionInputStream)
受信任的证书用于验证远程端点的证书。
|
SslContextBuilder |
trustManager(javax.net.ssl.TrustManagerFactory trustManagerFactory)
可信经理验证远程终端的证书。
|
SslContextBuilder |
trustManager(java.security.cert.X509Certificate... trustCertCollection)
用于验证远程端点证书的可信证书,
null使用系统默认值。
|
public static SslContextBuilder forClient()
SslContext 。
public static SslContextBuilder forServer(java.io.File keyCertChainFile, java.io.File keyFile)
SslContext 。
keyCertChainFile - PEM格式的X.509证书链文件
keyFile - PEM格式的PKCS#8私钥文件
keyManager(File, File)
public static SslContextBuilder forServer(java.io.InputStream keyCertChainInputStream, java.io.InputStream keyInputStream)
SslContext 。
keyCertChainInputStream - PEM格式的X.509证书链的输入流
keyInputStream - PEM格式的PKCS#8私钥的输入流
keyManager(InputStream, InputStream)
public static SslContextBuilder forServer(java.security.PrivateKey key, java.security.cert.X509Certificate... keyCertChain)
SslContext 。
key - PKCS#8私钥
keyCertChain - X.509证书链
keyManager(PrivateKey, X509Certificate[])
public static SslContextBuilder forServer(java.io.File keyCertChainFile, java.io.File keyFile, java.lang.String keyPassword)
SslContext 。
keyCertChainFile - PEM格式的X.509证书链文件
keyFile - PEM格式的PKCS#8私钥文件
keyPassword - 密码
keyFile ,或
null密码保护
keyManager(File, File, String)
public static SslContextBuilder forServer(java.io.InputStream keyCertChainInputStream, java.io.InputStream keyInputStream, java.lang.String keyPassword)
SslContext 。
keyCertChainInputStream - PEM格式的X.509证书链的输入流
keyInputStream - PEM格式的PKCS#8私钥的输入流
keyPassword - 密码
keyFile ,或
null密码保护
keyManager(InputStream, InputStream, String)
public static SslContextBuilder forServer(java.security.PrivateKey key, java.lang.String keyPassword, java.security.cert.X509Certificate... keyCertChain)
SslContext 。
key - PKCS#8私钥
keyCertChain - X.509证书链
keyPassword -
keyFile或
null的密码(如果密码不受密码保护)
keyManager(File, File, String)
public static SslContextBuilder forServer(javax.net.ssl.KeyManagerFactory keyManagerFactory)
SslContext 。
keyManagerFactory - 非
null工厂用于服务器的私钥
keyManager(KeyManagerFactory)
public SslContextBuilder sslProvider(SslProvider provider)
SslContext实现。
null使用默认的一个。
public SslContextBuilder sslContextProvider(java.security.Provider sslContextProvider)
public SslContextBuilder trustManager(java.io.File trustCertCollectionFile)
null使用系统默认值。
public SslContextBuilder trustManager(java.io.InputStream trustCertCollectionInputStream)
null使用系统默认值。
public SslContextBuilder trustManager(java.security.cert.X509Certificate... trustCertCollection)
null使用系统默认值。
public SslContextBuilder trustManager(javax.net.ssl.TrustManagerFactory trustManagerFactory)
null使用系统默认值。
public SslContextBuilder keyManager(java.io.File keyCertChainFile, java.io.File keyFile)
keyCertChainFile和keyFile可能是null用于客户端上下文,它禁用相互身份验证。
keyCertChainFile - PEM格式的X.509证书链文件
keyFile - PEM格式的PKCS#8私钥文件
public SslContextBuilder keyManager(java.io.InputStream keyCertChainInputStream, java.io.InputStream keyInputStream)
keyCertChainInputStream和keyInputStream可能是null用于客户端上下文,它禁用相互身份验证。
keyCertChainInputStream - PEM格式的X.509证书链的输入流
keyInputStream - PEM格式的PKCS#8私钥的输入流
public SslContextBuilder keyManager(java.security.PrivateKey key, java.security.cert.X509Certificate... keyCertChain)
keyCertChain和key可能是null用于客户端上下文,它禁用相互身份验证。
key - PKCS#8私钥
keyCertChain - 一个X.509证书链
public SslContextBuilder keyManager(java.io.File keyCertChainFile, java.io.File keyFile, java.lang.String keyPassword)
keyCertChainFile和keyFile可能为null用于客户端上下文,禁用相互身份验证。
keyCertChainFile - PEM格式的X.509证书链文件
keyFile - PEM格式的PKCS#8私钥文件
keyPassword -
keyFile或
null的密码(如果密码不受密码保护)
public SslContextBuilder keyManager(java.io.InputStream keyCertChainInputStream, java.io.InputStream keyInputStream, java.lang.String keyPassword)
keyCertChainInputStream和keyInputStream对于客户端上下文可能是null ,这会禁用相互身份验证。
keyCertChainInputStream - PEM格式的X.509证书链的输入流
keyInputStream - PEM格式的PKCS#8私钥的输入流
keyPassword - 密码
keyInputStream或
null如果密码不受密码保护)
public SslContextBuilder keyManager(java.security.PrivateKey key, java.lang.String keyPassword, java.security.cert.X509Certificate... keyCertChain)
keyCertChain和key可能是null用于客户端上下文,它禁用相互身份验证。
key - 一个PKCS#8私钥文件
keyPassword - 密码为
key ,或
null如果密码不受密码保护)
keyCertChain - 一个X.509证书链
public SslContextBuilder keyManager(javax.net.ssl.KeyManagerFactory keyManagerFactory)
keyManagerFactory对于客户端上下文可能是null ,这会禁用相互身份验证。
使用KeyManagerFactory仅支持SslProvider.JDK或八二六三二七二六三四八六七四 / SslProvider.OPENSSL_REFCNT如果使用OpenSSL的版本为1.0.1+。
你可以,如果你的OpenSSL的版本支持使用检查KeyManagerFactory通过调用OpenSsl.supportsKeyManagerFactory() 。
如果不是这种情况,您必须使用keyManager(File, File)或keyManager(File, File, String) 。
public SslContextBuilder ciphers(java.lang.Iterable<java.lang.String> ciphers)
null使用默认密码套件。
public SslContextBuilder ciphers(java.lang.Iterable<java.lang.String> ciphers, CipherSuiteFilter cipherFilter)
cipherFilter将在使用前应用于密码。
如果ciphers是null ,那么将使用默认密码套件。
public SslContextBuilder applicationProtocolConfig(ApplicationProtocolConfig apn)
null禁用支持。
public SslContextBuilder sessionCacheSize(long sessionCacheSize)
0使用默认值。
public SslContextBuilder sessionTimeout(long sessionTimeout)
0使用默认值。
public SslContextBuilder clientAuth(ClientAuth clientAuth)
public SslContextBuilder protocols(java.lang.String... protocols)
protocols - 要启用的协议或
null启用默认协议。
SSLEngine.setEnabledCipherSuites(String[])
public SslContextBuilder startTls(boolean startTls)
true如果第一个写请求不应该被加密。
@UnstableApi public SslContextBuilder enableOcsp(boolean enableOcsp)
SslProvider实现都支持OCSP装订, build()将引发异常。
public SslContext build() throws javax.net.ssl.SSLException
SslContext实例。
如果sslProvider(SslProvider)设置为SslProvider.OPENSSL_REFCNT,则调用者负责释放此对象,否则本机内存可能会泄漏。
javax.net.ssl.SSLException
Copyright © 2008–2018 The Netty Project. All rights reserved.