Package io.netty.handler.ssl
Interface OpenSslInternalSession
- All Superinterfaces:
OpenSslSession
,SSLSession
- All Known Implementing Classes:
ExtendedOpenSslSession
,OpenSslSessionCache.NativeSslSession
,ReferenceCountedOpenSslEngine.DefaultOpenSslSession
SSLSession
that is specific to our native implementation.-
Method Summary
Modifier and TypeMethodDescriptionvoid
handshakeFinished
(byte[] id, String cipher, String protocol, byte[] peerCertificate, byte[][] peerCertificateChain, long creationTime, long timeout) Called once the handshake has completed.Return the underlyingMap
that is used by the following methods:SSLSession.putValue(String, Object)
SSLSession.removeValue(String)
SSLSession.getValue(String)
SSLSession.getValueNames()
TheMap
must be thread-safe!void
Called on a handshake session before being exposed to aTrustManager
.Return theOpenSslSessionId
that can be used to identify this session.void
setLastAccessedTime
(long time) Set the last access time which will be returned bySSLSession.getLastAccessedTime()
.void
setLocalCertificate
(Certificate[] localCertificate) Set the local certificate chain that is used.void
setSessionDetails
(long creationTime, long lastAccessedTime, OpenSslSessionId id, Map<String, Object> keyValueStorage) Set the details for the session which might come from a cache.void
tryExpandApplicationBufferSize
(int packetLengthDataOnly) Expand (or increase) the value returned bySSLSession.getApplicationBufferSize()
if necessary.Methods inherited from interface io.netty.handler.ssl.OpenSslSession
getSessionContext, hasPeerCertificates
Methods inherited from interface javax.net.ssl.SSLSession
getApplicationBufferSize, getCipherSuite, getCreationTime, getId, getLastAccessedTime, getLocalCertificates, getLocalPrincipal, getPacketBufferSize, getPeerCertificateChain, getPeerCertificates, getPeerHost, getPeerPort, getPeerPrincipal, getProtocol, getValue, getValueNames, invalidate, isValid, putValue, removeValue
-
Method Details
-
prepareHandshake
void prepareHandshake()Called on a handshake session before being exposed to aTrustManager
. Session data must be cleared by this call. -
sessionId
OpenSslSessionId sessionId()Return theOpenSslSessionId
that can be used to identify this session. -
setLocalCertificate
Set the local certificate chain that is used. It is not expected that this array will be changed at all and so its ok to not copy the array. -
setSessionDetails
void setSessionDetails(long creationTime, long lastAccessedTime, OpenSslSessionId id, Map<String, Object> keyValueStorage) Set the details for the session which might come from a cache.- Parameters:
creationTime
- the time at which the session was created.lastAccessedTime
- the time at which the session was last accessed via the session infrastructure (cache).id
- theOpenSslSessionId
keyValueStorage
- the key value store. SeekeyValueStorage()
.
-
keyValueStorage
Return the underlyingMap
that is used by the following methods:SSLSession.putValue(String, Object)
SSLSession.removeValue(String)
SSLSession.getValue(String)
-
SSLSession.getValueNames()
Map
must be thread-safe!- Returns:
- storage
-
setLastAccessedTime
void setLastAccessedTime(long time) Set the last access time which will be returned bySSLSession.getLastAccessedTime()
.- Parameters:
time
- the time
-
tryExpandApplicationBufferSize
void tryExpandApplicationBufferSize(int packetLengthDataOnly) Expand (or increase) the value returned bySSLSession.getApplicationBufferSize()
if necessary.This is only called in a synchronized block, so no need to use atomic operations.
- Parameters:
packetLengthDataOnly
- The packet size which exceeds the currentSSLSession.getApplicationBufferSize()
.
-
handshakeFinished
void handshakeFinished(byte[] id, String cipher, String protocol, byte[] peerCertificate, byte[][] peerCertificateChain, long creationTime, long timeout) throws SSLException Called once the handshake has completed.- Throws:
SSLException
-