Interface OpenSslSession

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      OpenSslSessionContext getSessionContext()  
      void handshakeFinished​(byte[] id, java.lang.String cipher, java.lang.String protocol, byte[] peerCertificate, byte[][] peerCertificateChain, long creationTime, long timeout)
      Called once the handshake has completed.
      java.util.Map<java.lang.String,​java.lang.Object> keyValueStorage()
      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!
      void prepareHandshake()
      Called on a handshake session before being exposed to a TrustManager.
      OpenSslSessionId sessionId()
      Return the OpenSslSessionId that can be used to identify this session.
      void setLastAccessedTime​(long time)
      Set the last access time which will be returned by SSLSession.getLastAccessedTime().
      void setLocalCertificate​(java.security.cert.Certificate[] localCertificate)
      Set the local certificate chain that is used.
      void setSessionDetails​(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.
      void tryExpandApplicationBufferSize​(int packetLengthDataOnly)
      Expand (or increase) the value returned by SSLSession.getApplicationBufferSize() if necessary.
      • 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 Detail

      • prepareHandshake

        void prepareHandshake()
        Called on a handshake session before being exposed to a TrustManager. Session data must be cleared by this call.
      • setLocalCertificate

        void setLocalCertificate​(java.security.cert.Certificate[] localCertificate)
        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,
                               java.util.Map<java.lang.String,​java.lang.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 - the OpenSslSessionId
        keyValueStorage - the key value store. See keyValueStorage().
      • keyValueStorage

        java.util.Map<java.lang.String,​java.lang.Object> keyValueStorage()
        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!
        Returns:
        storage
      • setLastAccessedTime

        void setLastAccessedTime​(long time)
        Set the last access time which will be returned by SSLSession.getLastAccessedTime().
        Parameters:
        time - the time
      • getSessionContext

        OpenSslSessionContext getSessionContext()
        Specified by:
        getSessionContext in interface javax.net.ssl.SSLSession
      • tryExpandApplicationBufferSize

        void tryExpandApplicationBufferSize​(int packetLengthDataOnly)
        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.

        Parameters:
        packetLengthDataOnly - The packet size which exceeds the current SSLSession.getApplicationBufferSize().
      • handshakeFinished

        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
        Called once the handshake has completed.
        Throws:
        javax.net.ssl.SSLException