public abstract class ReferenceCountedOpenSslContext extends SslContext implements ReferenceCounted
SslContext
的一个实现,它与支持OpenSsl C库API的库一起工作。
这个类的实例必须是released
,否则本机内存将会泄漏!
在任何取决于这个类的实例的ReferenceCountedOpenSslEngine
被释放之前,这个类的实例不能被释放。 否则,如果调用任何使用此类的JNI资源的方法ReferenceCountedOpenSslEngine
,JVM可能会崩溃。
Modifier and Type | Field and Description |
---|---|
protected long |
ctx
OpenSSL SSL_CTX对象。
|
protected static int |
VERIFY_DEPTH |
Modifier and Type | Method and Description |
---|---|
ApplicationProtocolNegotiator |
applicationProtocolNegotiator()
返回负责协商TLS NPN / ALPN扩展的应用层协议的对象。
|
protected static java.security.cert.X509Certificate[] |
certificates(byte[][] chain) |
protected static javax.net.ssl.X509TrustManager |
chooseTrustManager(javax.net.ssl.TrustManager[] managers) |
protected static javax.net.ssl.X509KeyManager |
chooseX509KeyManager(javax.net.ssl.KeyManager[] kms) |
java.util.List<java.lang.String> |
cipherSuites()
按优先顺序返回启用的密码套件列表。
|
long |
context()
已过时。
此方法被认为是不安全的,因为返回的指针可能稍后被释放。
不要使用它!
|
int |
getBioNonApplicationBufferSize()
返回BIO为基于非应用程序的写入所使用的缓冲区的大小
|
boolean |
getRejectRemoteInitiatedRenegotiation()
已过时。
|
boolean |
isClient()
当且仅当此上下文用于客户端时才返回
true 。
|
javax.net.ssl.SSLEngine |
newEngine(ByteBufAllocator alloc)
用当前配置返回一个新的服务器端
SSLEngine 。
|
javax.net.ssl.SSLEngine |
newEngine(ByteBufAllocator alloc, java.lang.String peerHost, int peerPort)
使用咨询对等信息创建新的
SSLEngine 。
|
protected SslHandler |
newHandler(ByteBufAllocator alloc, boolean startTls)
创建一个新的SslHandler。
|
protected SslHandler |
newHandler(ByteBufAllocator alloc, java.lang.String peerHost, int peerPort, boolean startTls)
创建一个新的SslHandler。
|
int |
refCnt()
返回此对象的引用计数。
|
boolean |
release()
通过减小引用计数
1 并且如果所述引用计数达到在将释放该对象
0 。
|
boolean |
release(int decrement)
减小由指定的引用计数
decrement 并且如果所述引用计数达到在将释放该对象
0 。
|
ReferenceCounted |
retain()
将引用计数增加
1 。
|
ReferenceCounted |
retain(int increment)
按指定的
increment 增加参考计数。
|
long |
sessionCacheSize()
返回用于存储SSL会话对象的缓存大小。
|
abstract OpenSslSessionContext |
sessionContext()
返回此上下文所持有的
SSLSessionContext 对象。
|
long |
sessionTimeout()
以秒为单位返回缓存的SSL会话对象的超时时间。
|
void |
setBioNonApplicationBufferSize(int bioNonApplicationBufferSize)
设置BIO为基于非应用程序的写入所使用的缓冲区的大小(例如握手,重新协商等)。
|
void |
setRejectRemoteInitiatedRenegotiation(boolean rejectRemoteInitiatedRenegotiation)
已过时。
|
void |
setTicketKeys(byte[] keys)
|
long |
sslCtxPointer()
已过时。
此方法被认为是不安全的,因为返回的指针可能稍后被释放。
不要使用它!
|
OpenSslSessionStats |
stats()
已过时。
使用
#sessionContext#stats()
|
ReferenceCounted |
touch()
记录此对象的当前访问位置以进行调试。
|
ReferenceCounted |
touch(java.lang.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 long ctx
ctxLock
!
public final java.util.List<java.lang.String> cipherSuites()
SslContext
cipherSuites
在课堂上
SslContext
public final long sessionCacheSize()
SslContext
sessionCacheSize
在课堂上
SslContext
public final long sessionTimeout()
SslContext
sessionTimeout
在课堂上
SslContext
public ApplicationProtocolNegotiator applicationProtocolNegotiator()
SslContext
applicationProtocolNegotiator
在课堂上
SslContext
public final boolean isClient()
SslContext
true
。
isClient
在类
SslContext
public final javax.net.ssl.SSLEngine newEngine(ByteBufAllocator alloc, java.lang.String peerHost, int peerPort)
SslContext
SSLEngine
。
如果使用SslProvider.OPENSSL_REFCNT
,则必须释放该对象。 一种方法是将SslHandler
包装并插入流水线中。 见SslContext.newHandler(ByteBufAllocator, String, int)
。
newEngine
在课堂上
SslContext
peerHost
- 主机的非权威名称
peerPort
- 非权威的港口
SSLEngine
protected final SslHandler newHandler(ByteBufAllocator alloc, boolean startTls)
SslContext
newHandler
在课堂上
SslContext
SslContext.newHandler(ByteBufAllocator)
protected final SslHandler newHandler(ByteBufAllocator alloc, java.lang.String peerHost, int peerPort, boolean startTls)
SslContext
public final javax.net.ssl.SSLEngine newEngine(ByteBufAllocator alloc)
SSLEngine
。
newEngine
在课堂上
SslContext
SSLEngine
@Deprecated public final long context()
@Deprecated public final OpenSslSessionStats stats()
#sessionContext#stats()
@Deprecated public void setRejectRemoteInitiatedRenegotiation(boolean rejectRemoteInitiatedRenegotiation)
SSLHandshakeException
。
@Deprecated public boolean getRejectRemoteInitiatedRenegotiation()
true
因为不支持重新协商。
public void setBioNonApplicationBufferSize(int bioNonApplicationBufferSize)
public int getBioNonApplicationBufferSize()
@Deprecated public final void setTicketKeys(byte[] keys)
public abstract OpenSslSessionContext sessionContext()
SslContext
SSLSessionContext
对象。
sessionContext
在课堂上
SslContext
@Deprecated public final long sslCtxPointer()
protected static java.security.cert.X509Certificate[] certificates(byte[][] chain)
protected static javax.net.ssl.X509TrustManager chooseTrustManager(javax.net.ssl.TrustManager[] managers)
protected static javax.net.ssl.X509KeyManager chooseX509KeyManager(javax.net.ssl.KeyManager[] kms)
public final int refCnt()
ReferenceCounted
0
,则表示该对象已被释放。
refCnt
在界面
ReferenceCounted
public final ReferenceCounted retain()
ReferenceCounted
复制的描述
1
。
retain
在界面
ReferenceCounted
public final ReferenceCounted retain(int increment)
ReferenceCounted
复制的描述
increment
。
retain
在界面
ReferenceCounted
public final ReferenceCounted touch()
ReferenceCounted
touch
在界面
ReferenceCounted
public final ReferenceCounted touch(java.lang.Object hint)
ReferenceCounted
ResourceLeakDetector
提供给您。
touch
,界面
ReferenceCounted
public final boolean release()
ReferenceCounted
1
并且如果所述引用计数达到在将释放该对象
0
。
release
在界面
ReferenceCounted
true
当且仅当引用计数变为
0
且此对象已被释放
public final boolean release(int decrement)
ReferenceCounted
decrement
并且如果所述引用计数达到在将释放该对象
0
。
release
在界面
ReferenceCounted
true
当且仅当引用计数变为
0
且此对象已被释放
Copyright © 2008–2018 The Netty Project. All rights reserved.