Class ExtendedOpenSslSession

  • All Implemented Interfaces:
    OpenSslSession, javax.net.ssl.SSLSession

    abstract class ExtendedOpenSslSession
    extends javax.net.ssl.ExtendedSSLSession
    implements OpenSslSession
    Delegates all operations to a wrapped OpenSslSession except the methods defined by ExtendedSSLSession itself.
    • Field Detail

      • LOCAL_SUPPORTED_SIGNATURE_ALGORITHMS

        private static final java.lang.String[] LOCAL_SUPPORTED_SIGNATURE_ALGORITHMS
    • Constructor Detail

      • ExtendedOpenSslSession

        ExtendedOpenSslSession​(OpenSslSession wrapped)
    • Method Detail

      • getRequestedServerNames

        public abstract java.util.List getRequestedServerNames()
        Overrides:
        getRequestedServerNames in class javax.net.ssl.ExtendedSSLSession
      • getStatusResponses

        public java.util.List<byte[]> getStatusResponses()
        Overrides:
        getStatusResponses in class javax.net.ssl.ExtendedSSLSession
      • prepareHandshake

        public void prepareHandshake()
        Description copied from interface: OpenSslSession
        Called on a handshake session before being exposed to a TrustManager. Session data must be cleared by this call.
        Specified by:
        prepareHandshake in interface OpenSslSession
      • keyValueStorage

        public java.util.Map<java.lang.String,​java.lang.Object> keyValueStorage()
        Description copied from interface: OpenSslSession
        Return the underlying Map that is used by the following methods:
        • SSLSession.putValue(String, Object)
        • SSLSession.removeValue(String)
        • SSLSession.getValue(String)
        • SSLSession.getValueNames()
        The Map must be thread-safe!
        Specified by:
        keyValueStorage in interface OpenSslSession
        Returns:
        storage
      • setSessionDetails

        public void setSessionDetails​(long creationTime,
                                      long lastAccessedTime,
                                      OpenSslSessionId id,
                                      java.util.Map<java.lang.String,​java.lang.Object> keyValueStorage)
        Description copied from interface: OpenSslSession
        Set the details for the session which might come from a cache.
        Specified by:
        setSessionDetails in interface OpenSslSession
        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 - the OpenSslSessionId
        keyValueStorage - the key value store. See OpenSslSession.keyValueStorage().
      • setLocalCertificate

        public final void setLocalCertificate​(java.security.cert.Certificate[] localCertificate)
        Description copied from interface: OpenSslSession
        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.
        Specified by:
        setLocalCertificate in interface OpenSslSession
      • getPeerSupportedSignatureAlgorithms

        public java.lang.String[] getPeerSupportedSignatureAlgorithms()
        Specified by:
        getPeerSupportedSignatureAlgorithms in class javax.net.ssl.ExtendedSSLSession
      • tryExpandApplicationBufferSize

        public final void tryExpandApplicationBufferSize​(int packetLengthDataOnly)
        Description copied from interface: OpenSslSession
        Expand (or increase) the value returned by SSLSession.getApplicationBufferSize() if necessary.

        This is only called in a synchronized block, so no need to use atomic operations.

        Specified by:
        tryExpandApplicationBufferSize in interface OpenSslSession
        Parameters:
        packetLengthDataOnly - The packet size which exceeds the current SSLSession.getApplicationBufferSize().
      • getLocalSupportedSignatureAlgorithms

        public final java.lang.String[] getLocalSupportedSignatureAlgorithms()
        Specified by:
        getLocalSupportedSignatureAlgorithms in class javax.net.ssl.ExtendedSSLSession
      • getId

        public final byte[] getId()
        Specified by:
        getId in interface javax.net.ssl.SSLSession
      • getCreationTime

        public final long getCreationTime()
        Specified by:
        getCreationTime in interface javax.net.ssl.SSLSession
      • getLastAccessedTime

        public final long getLastAccessedTime()
        Specified by:
        getLastAccessedTime in interface javax.net.ssl.SSLSession
      • setLastAccessedTime

        public void setLastAccessedTime​(long time)
        Description copied from interface: OpenSslSession
        Set the last access time which will be returned by SSLSession.getLastAccessedTime().
        Specified by:
        setLastAccessedTime in interface OpenSslSession
        Parameters:
        time - the time
      • invalidate

        public final void invalidate()
        Specified by:
        invalidate in interface javax.net.ssl.SSLSession
      • isValid

        public final boolean isValid()
        Specified by:
        isValid in interface javax.net.ssl.SSLSession
      • putValue

        public final void putValue​(java.lang.String name,
                                   java.lang.Object value)
        Specified by:
        putValue in interface javax.net.ssl.SSLSession
      • getValue

        public final java.lang.Object getValue​(java.lang.String s)
        Specified by:
        getValue in interface javax.net.ssl.SSLSession
      • removeValue

        public final void removeValue​(java.lang.String s)
        Specified by:
        removeValue in interface javax.net.ssl.SSLSession
      • getValueNames

        public final java.lang.String[] getValueNames()
        Specified by:
        getValueNames in interface javax.net.ssl.SSLSession
      • getPeerCertificates

        public final java.security.cert.Certificate[] getPeerCertificates()
                                                                   throws javax.net.ssl.SSLPeerUnverifiedException
        Specified by:
        getPeerCertificates in interface javax.net.ssl.SSLSession
        Throws:
        javax.net.ssl.SSLPeerUnverifiedException
      • getLocalCertificates

        public final java.security.cert.Certificate[] getLocalCertificates()
        Specified by:
        getLocalCertificates in interface javax.net.ssl.SSLSession
      • getPeerCertificateChain

        public final javax.security.cert.X509Certificate[] getPeerCertificateChain()
                                                                            throws javax.net.ssl.SSLPeerUnverifiedException
        Specified by:
        getPeerCertificateChain in interface javax.net.ssl.SSLSession
        Throws:
        javax.net.ssl.SSLPeerUnverifiedException
      • getPeerPrincipal

        public final java.security.Principal getPeerPrincipal()
                                                       throws javax.net.ssl.SSLPeerUnverifiedException
        Specified by:
        getPeerPrincipal in interface javax.net.ssl.SSLSession
        Throws:
        javax.net.ssl.SSLPeerUnverifiedException
      • getLocalPrincipal

        public final java.security.Principal getLocalPrincipal()
        Specified by:
        getLocalPrincipal in interface javax.net.ssl.SSLSession
      • getCipherSuite

        public final java.lang.String getCipherSuite()
        Specified by:
        getCipherSuite in interface javax.net.ssl.SSLSession
      • getProtocol

        public java.lang.String getProtocol()
        Specified by:
        getProtocol in interface javax.net.ssl.SSLSession
      • getPeerHost

        public final java.lang.String getPeerHost()
        Specified by:
        getPeerHost in interface javax.net.ssl.SSLSession
      • getPeerPort

        public final int getPeerPort()
        Specified by:
        getPeerPort in interface javax.net.ssl.SSLSession
      • getPacketBufferSize

        public final int getPacketBufferSize()
        Specified by:
        getPacketBufferSize in interface javax.net.ssl.SSLSession
      • getApplicationBufferSize

        public final int getApplicationBufferSize()
        Specified by:
        getApplicationBufferSize in interface javax.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.SSLException
        Description copied from interface: OpenSslSession
        Called once the handshake has completed.
        Specified by:
        handshakeFinished in interface OpenSslSession
        Throws:
        javax.net.ssl.SSLException
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object