On Thu, Jul 23, 2015 at 09:22:04PM +0300, Jouni Malinen wrote:

> I used to use SSL_CTX_new(TLSv1_method()) to initialize SSL_CTX for
> various TLS-based EAP methods. This worked fine with EAP-TLS,
> EAP-PEAP, EAP-TTLS, and EAP-FAST. However, it did not allow OpenSSL to
> negotiate TLS v1.1 or v1.2 to be used. Consequently, there seemed to
> be need to change from TLSv1_method() to SSLv23_method() with
> SSL_OP_NO_SSLv2 and SSL_OP_NO_v3. Initially, this seemed to work fine,
> but I found an issue with EAP-FAST peer (i.e., TLS client).

Postfix happily sends session tickets and resuming sessions even
though it is using SSLv23_client_method(), and there is no server-side
session cache (I made sure the client connets to a different server
process between the initial handshake and the resumption, and that
there is no "external" cache configured.)  Output summary:

    $ posttls-finger -lmay -Ldebug -r 10 -c example.org
    posttls-finger: setting up TLS connection to mx1.example.org[192.0.2.1]:25
    posttls-finger: SSL_connect:before/connect initialization
    posttls-finger: SSL_connect:SSLv2/v3 write client hello A
    posttls-finger: SSL_connect:SSLv3 read server hello A
    posttls-finger: SSL_connect:SSLv3 read server key exchange A
    posttls-finger: SSL_connect:SSLv3 read server done A
    posttls-finger: SSL_connect:SSLv3 write client key exchange A
    posttls-finger: SSL_connect:SSLv3 write change cipher spec A
    posttls-finger: SSL_connect:SSLv3 write finished A
    posttls-finger: SSL_connect:SSLv3 flush data
    posttls-finger: SSL_connect:SSLv3 read server session ticket A
    posttls-finger: SSL_connect:SSLv3 read finished A
    posttls-finger: save session 
[192.0.2.1]:25&8132DFEF2967E661AEDA394357CABF4803EA6915B5AA3750F5C937BEAB39FE1E 
to memory cache
    posttls-finger: Anonymous TLS connection established to 
mx1.example.org[192.0.2.1]:25: TLSv1.2 with cipher AECDH-AES256-SHA (256/256 
bits)
    posttls-finger: Reconnecting after 10 seconds
    posttls-finger: looking for session 
[192.0.2.1]:25&8132DFEF2967E661AEDA394357CABF4803EA6915B5AA3750F5C937BEAB39FE1E 
in memory cache
    posttls-finger: reloaded session 
[192.0.2.1]:25&8132DFEF2967E661AEDA394357CABF4803EA6915B5AA3750F5C937BEAB39FE1E 
from memory cache
    posttls-finger: SSL_connect:before/connect initialization
    posttls-finger: SSL_connect:SSLv3 write client hello A
    posttls-finger: SSL_connect:SSLv3 read server hello A
    posttls-finger: SSL_connect:SSLv3 read finished A
    posttls-finger: SSL_connect:SSLv3 write change cipher spec A
    posttls-finger: SSL_connect:SSLv3 write finished A
    posttls-finger: SSL_connect:SSLv3 flush data
    posttls-finger: mx1.example.org[192.0.2.1]:25: Reusing old session
    posttls-finger: Anonymous TLS connection established to 
mx1.example.org[192.0.2.1]:25: TLSv1.2 with cipher AECDH-AES256-SHA (256/256 
bits)


The order of events is:

        /* Once only */
        ctx = SSL_CTX_new(SSLv23_client_method());

        /* Per connection */
        ssl = SSL_new(ctx);

        /* Protocol support varies per server, so not set via global context */
        SSL_set_options(...);

        /* restore appropriate session from the client cache */
        session = ... ;
        if (session)
            SSL_set_session(ssl, session);

        SSL_connect(ssl);

What are you doing to associate a previous session with a new SSL
connection?

-- 
        Viktor.
_______________________________________________
openssl-dev mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev

Reply via email to