On Sun, Jul 19, 2009, Jan F. Schnellbaecher wrote:

> Hi,
> 
> I am using 098h with the non default configure option 'enable-tlsext' and 
> have a
> problem with the TLS extension servername in conjunction with ssl session 
> caching.
> 
> It seems that sessions that contain the SNI extension will not be cached by
> openssl. (I tried with FF 351)
> 
> During the handshake openssl calls the function ssl_get_prev_session
> (ssl/ssl_sess.c) which calls tls1_process_ticket (ssl/t1_libc). Latter sets 
> the
> member tlsext_ticket_expected of the openssl object to 1.
> 
> For the first handshake no session will be found and a new one will be created
> in ssl_get_new_session (ssl/ssl_sess.c). Here the session id will not(!) be 
> set
> in case that tlsext_ticket_expected is 1.
> 
> At the end of the handshake the session will not be saved in ssl_update_cache
> (ssl/ssl_lib.c) because the session->session_id_length is 0!
> 
> Tweaking the ssl context by setting SSL_OP_NO_TICKET enables openssl to write
> the session in the session cache, but when searching for an existing session
> tls1_process_ticket returns 0, which means cache miss. The comment in the 
> source is
> 
> /* If tickets disabled indicate cache miss which will
>  * trigger a full handshake
>  */
> 
> Any idea how I can make openssl to cache the initial handshake and let it find
> the session for further requests or an explanation why theses extensions are
> handled this way?
> 

Is that a bug or is OpenSSL using stateless session resumption? FF also
supports that. In that case the session cache is not used.

Steve.
--
Dr Stephen N. Henson. OpenSSL project core developer.
Commercial tech support now available see: http://www.openssl.org
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to