Interface SSLSessionCache


  • public interface SSLSessionCache
    Allows to implement a custom external SSL_SESSION cache. See SSL_CTX_sess_set_get_cb.html and {a href="https://www.openssl.org/docs/man1.1.0/man3/SSL_CTX_set_session_cache_mode.html">SSL_CTX_set_session_cache_mode.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      long getSession​(long sslCtx, byte[] sessionId)
      Called once a SSL_SESSION should be retrieved for the given SSL and with the given session ID.
      boolean sessionCreated​(long ssl, long sslSession)
      Returns true if the cache takes ownership of the SSL_SESSION and will call SSL_SESSION_free once it should be destroyed, false otherwise.
    • Method Detail

      • sessionCreated

        boolean sessionCreated​(long ssl,
                               long sslSession)
        Returns true if the cache takes ownership of the SSL_SESSION and will call SSL_SESSION_free once it should be destroyed, false otherwise. See SSL_CTX_sess_set_new_cb.
        Parameters:
        ssl - SSL*
        sslSession - SSL_SESSION*
        Returns:
        true if session ownership was transfered, false if not.
      • getSession

        long getSession​(long sslCtx,
                        byte[] sessionId)
        Called once a SSL_SESSION should be retrieved for the given SSL and with the given session ID. See SSL_CTX_sess_set_get_cb. If the session is shared you need to call SSLSession.upRef(long) explicit in this callback and explicit free all SSL_SESSIONs once the cache is destroyed via SSLSession.free(long).
        Parameters:
        sslCtx - {code SSL_CTX*}
        sessionId - the session id
        Returns:
        the SSL_SESSION or -1 if none was found in the cache.