Package io.netty.handler.ssl
Class ExtendedOpenSslSession
- java.lang.Object
-
- javax.net.ssl.ExtendedSSLSession
-
- io.netty.handler.ssl.ExtendedOpenSslSession
-
- All Implemented Interfaces:
OpenSslSession,javax.net.ssl.SSLSession
abstract class ExtendedOpenSslSession extends javax.net.ssl.ExtendedSSLSession implements OpenSslSession
Delegates all operations to a wrappedOpenSslSessionexcept the methods defined byExtendedSSLSessionitself.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private classExtendedOpenSslSession.SSLSessionBindingListenerDecorator
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String[]LOCAL_SUPPORTED_SIGNATURE_ALGORITHMSprivate OpenSslSessionwrapped
-
Constructor Summary
Constructors Constructor Description ExtendedOpenSslSession(OpenSslSession wrapped)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description booleanequals(java.lang.Object o)intgetApplicationBufferSize()java.lang.StringgetCipherSuite()longgetCreationTime()byte[]getId()longgetLastAccessedTime()java.security.cert.Certificate[]getLocalCertificates()java.security.PrincipalgetLocalPrincipal()java.lang.String[]getLocalSupportedSignatureAlgorithms()intgetPacketBufferSize()javax.security.cert.X509Certificate[]getPeerCertificateChain()java.security.cert.Certificate[]getPeerCertificates()java.lang.StringgetPeerHost()intgetPeerPort()java.security.PrincipalgetPeerPrincipal()java.lang.String[]getPeerSupportedSignatureAlgorithms()java.lang.StringgetProtocol()abstract java.util.ListgetRequestedServerNames()OpenSslSessionContextgetSessionContext()java.util.List<byte[]>getStatusResponses()java.lang.ObjectgetValue(java.lang.String s)java.lang.String[]getValueNames()voidhandshakeFinished(byte[] id, java.lang.String cipher, java.lang.String protocol, byte[] peerCertificate, byte[][] peerCertificateChain, long creationTime, long timeout)Called once the handshake has completed.inthashCode()voidinvalidate()booleanisValid()java.util.Map<java.lang.String,java.lang.Object>keyValueStorage()Return the underlyingMapthat is used by the following methods:SSLSession.putValue(String, Object)SSLSession.removeValue(String)SSLSession.getValue(String)SSLSession.getValueNames()TheMapmust be thread-safe!voidprepareHandshake()Called on a handshake session before being exposed to aTrustManager.voidputValue(java.lang.String name, java.lang.Object value)voidremoveValue(java.lang.String s)OpenSslSessionIdsessionId()Return theOpenSslSessionIdthat can be used to identify this session.voidsetLastAccessedTime(long time)Set the last access time which will be returned bySSLSession.getLastAccessedTime().voidsetLocalCertificate(java.security.cert.Certificate[] localCertificate)Set the local certificate chain that is used.voidsetSessionDetails(long creationTime, long lastAccessedTime, OpenSslSessionId id, java.util.Map<java.lang.String,java.lang.Object> keyValueStorage)Set the details for the session which might come from a cache.java.lang.StringtoString()voidtryExpandApplicationBufferSize(int packetLengthDataOnly)Expand (or increase) the value returned bySSLSession.getApplicationBufferSize()if necessary.
-
-
-
Field Detail
-
LOCAL_SUPPORTED_SIGNATURE_ALGORITHMS
private static final java.lang.String[] LOCAL_SUPPORTED_SIGNATURE_ALGORITHMS
-
wrapped
private final OpenSslSession wrapped
-
-
Constructor Detail
-
ExtendedOpenSslSession
ExtendedOpenSslSession(OpenSslSession wrapped)
-
-
Method Detail
-
getRequestedServerNames
public abstract java.util.List getRequestedServerNames()
- Overrides:
getRequestedServerNamesin classjavax.net.ssl.ExtendedSSLSession
-
getStatusResponses
public java.util.List<byte[]> getStatusResponses()
- Overrides:
getStatusResponsesin classjavax.net.ssl.ExtendedSSLSession
-
prepareHandshake
public void prepareHandshake()
Description copied from interface:OpenSslSessionCalled on a handshake session before being exposed to aTrustManager. Session data must be cleared by this call.- Specified by:
prepareHandshakein interfaceOpenSslSession
-
keyValueStorage
public java.util.Map<java.lang.String,java.lang.Object> keyValueStorage()
Description copied from interface:OpenSslSessionReturn the underlyingMapthat is used by the following methods:SSLSession.putValue(String, Object)SSLSession.removeValue(String)SSLSession.getValue(String)-
SSLSession.getValueNames()
Mapmust be thread-safe!- Specified by:
keyValueStoragein interfaceOpenSslSession- Returns:
- storage
-
sessionId
public OpenSslSessionId sessionId()
Description copied from interface:OpenSslSessionReturn theOpenSslSessionIdthat can be used to identify this session.- Specified by:
sessionIdin interfaceOpenSslSession
-
setSessionDetails
public void setSessionDetails(long creationTime, long lastAccessedTime, OpenSslSessionId id, java.util.Map<java.lang.String,java.lang.Object> keyValueStorage)Description copied from interface:OpenSslSessionSet the details for the session which might come from a cache.- Specified by:
setSessionDetailsin interfaceOpenSslSession- 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- theOpenSslSessionIdkeyValueStorage- the key value store. SeeOpenSslSession.keyValueStorage().
-
setLocalCertificate
public final void setLocalCertificate(java.security.cert.Certificate[] localCertificate)
Description copied from interface:OpenSslSessionSet 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.- Specified by:
setLocalCertificatein interfaceOpenSslSession
-
getPeerSupportedSignatureAlgorithms
public java.lang.String[] getPeerSupportedSignatureAlgorithms()
- Specified by:
getPeerSupportedSignatureAlgorithmsin classjavax.net.ssl.ExtendedSSLSession
-
tryExpandApplicationBufferSize
public final void tryExpandApplicationBufferSize(int packetLengthDataOnly)
Description copied from interface:OpenSslSessionExpand (or increase) the value returned bySSLSession.getApplicationBufferSize()if necessary.This is only called in a synchronized block, so no need to use atomic operations.
- Specified by:
tryExpandApplicationBufferSizein interfaceOpenSslSession- Parameters:
packetLengthDataOnly- The packet size which exceeds the currentSSLSession.getApplicationBufferSize().
-
getLocalSupportedSignatureAlgorithms
public final java.lang.String[] getLocalSupportedSignatureAlgorithms()
- Specified by:
getLocalSupportedSignatureAlgorithmsin classjavax.net.ssl.ExtendedSSLSession
-
getId
public final byte[] getId()
- Specified by:
getIdin interfacejavax.net.ssl.SSLSession
-
getSessionContext
public final OpenSslSessionContext getSessionContext()
- Specified by:
getSessionContextin interfaceOpenSslSession- Specified by:
getSessionContextin interfacejavax.net.ssl.SSLSession
-
getCreationTime
public final long getCreationTime()
- Specified by:
getCreationTimein interfacejavax.net.ssl.SSLSession
-
getLastAccessedTime
public final long getLastAccessedTime()
- Specified by:
getLastAccessedTimein interfacejavax.net.ssl.SSLSession
-
setLastAccessedTime
public void setLastAccessedTime(long time)
Description copied from interface:OpenSslSessionSet the last access time which will be returned bySSLSession.getLastAccessedTime().- Specified by:
setLastAccessedTimein interfaceOpenSslSession- Parameters:
time- the time
-
invalidate
public final void invalidate()
- Specified by:
invalidatein interfacejavax.net.ssl.SSLSession
-
isValid
public final boolean isValid()
- Specified by:
isValidin interfacejavax.net.ssl.SSLSession
-
putValue
public final void putValue(java.lang.String name, java.lang.Object value)- Specified by:
putValuein interfacejavax.net.ssl.SSLSession
-
getValue
public final java.lang.Object getValue(java.lang.String s)
- Specified by:
getValuein interfacejavax.net.ssl.SSLSession
-
removeValue
public final void removeValue(java.lang.String s)
- Specified by:
removeValuein interfacejavax.net.ssl.SSLSession
-
getValueNames
public final java.lang.String[] getValueNames()
- Specified by:
getValueNamesin interfacejavax.net.ssl.SSLSession
-
getPeerCertificates
public final java.security.cert.Certificate[] getPeerCertificates() throws javax.net.ssl.SSLPeerUnverifiedException- Specified by:
getPeerCertificatesin interfacejavax.net.ssl.SSLSession- Throws:
javax.net.ssl.SSLPeerUnverifiedException
-
getLocalCertificates
public final java.security.cert.Certificate[] getLocalCertificates()
- Specified by:
getLocalCertificatesin interfacejavax.net.ssl.SSLSession
-
getPeerCertificateChain
public final javax.security.cert.X509Certificate[] getPeerCertificateChain() throws javax.net.ssl.SSLPeerUnverifiedException- Specified by:
getPeerCertificateChainin interfacejavax.net.ssl.SSLSession- Throws:
javax.net.ssl.SSLPeerUnverifiedException
-
getPeerPrincipal
public final java.security.Principal getPeerPrincipal() throws javax.net.ssl.SSLPeerUnverifiedException- Specified by:
getPeerPrincipalin interfacejavax.net.ssl.SSLSession- Throws:
javax.net.ssl.SSLPeerUnverifiedException
-
getLocalPrincipal
public final java.security.Principal getLocalPrincipal()
- Specified by:
getLocalPrincipalin interfacejavax.net.ssl.SSLSession
-
getCipherSuite
public final java.lang.String getCipherSuite()
- Specified by:
getCipherSuitein interfacejavax.net.ssl.SSLSession
-
getProtocol
public java.lang.String getProtocol()
- Specified by:
getProtocolin interfacejavax.net.ssl.SSLSession
-
getPeerHost
public final java.lang.String getPeerHost()
- Specified by:
getPeerHostin interfacejavax.net.ssl.SSLSession
-
getPeerPort
public final int getPeerPort()
- Specified by:
getPeerPortin interfacejavax.net.ssl.SSLSession
-
getPacketBufferSize
public final int getPacketBufferSize()
- Specified by:
getPacketBufferSizein interfacejavax.net.ssl.SSLSession
-
getApplicationBufferSize
public final int getApplicationBufferSize()
- Specified by:
getApplicationBufferSizein interfacejavax.net.ssl.SSLSession
-
handshakeFinished
public void handshakeFinished(byte[] id, java.lang.String cipher, java.lang.String protocol, byte[] peerCertificate, byte[][] peerCertificateChain, long creationTime, long timeout) throws javax.net.ssl.SSLExceptionDescription copied from interface:OpenSslSessionCalled once the handshake has completed.- Specified by:
handshakeFinishedin interfaceOpenSslSession- Throws:
javax.net.ssl.SSLException
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-