It certainly does, thanks to you and Rich for the clarification ... N

-----Original Message-----
From: owner-openssl-us...@openssl.org [mailto:owner-openssl-us...@openssl.org] 
On Behalf Of Matt Caswell
Sent: October-20-14 1:40 PM
To: openssl-users@openssl.org
Subject: Re: SSL_MODE_SEND_FALLBACK_SCSV option



On 20/10/14 21:10, Nou Dadoun wrote:
> Well I think I'm completely confused about this option now; "always when you 
> fall back" seems to suggest that falling back is an application level 
> operation (as opposed to openssl-implemented behaviour), is it?   i.e. is the 
> onus on the client application to retry with a lower version if it wants to?  
> What then is the purpose of the option?

A ClientHello handshake message sent by the client will give the lowest and the 
highest SSL/TLS version supported. The server is expected to select the highest 
one of those that it also supports.

Normally that's all you need to do and there is no need for the fall back 
option. However some buggy servers have been seen to be version intolerant, 
i.e. if the client sends a maximum supported version in the ClientHello higher 
than the one the server supports then the connection fails...even though the 
server does actually support a lower version that the client also supports.

Frankly most applications don't need to worry about this. However some browsers 
have tried to work around the problem by sending a second ClientHello with a 
lower maximum supported version if they fail with the initial ClientHello. This 
is called fallback and is one of the issues that was exploited in POODLE.

The simple answer in most cases is don't worry about it and don't do fallback 
unless you really have to. If you do then its entirely within the control of 
the client...openssl (client) does not do this automatically. If you decide to 
do it, then you should set SSL_MODE_SEND_FALLBACK_SCSV.


> Maybe the following would clarify it - is there code in the new release of 
> openssl to recognize and act on this new option (other than simply sending 
> the option down the wire to be handled by application code)?

OpenSSL on the server will appropriately respond when it sees a request with 
the option set. You do not need to do anything for this...it will handle it 
automatically.

The application only needs to do anything if it is acting as a client and it 
wants to do fallback (as described above).

> 
> Is there a simple example of a scenario where it would be used?
> 
> 
> Is there documentation anywhere that describes how "fall back" is performed?

Jeff Walton has provided some example code on the wiki:
https://wiki.openssl.org/index.php/SSL_MODE_SEND_FALLBACK_SCSV

Hope that helps

Matt



______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@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