Actually, Abhijit, I think your question still has merit.
The documentation says that a client will use a TLS hello even when SSLv3 is one of its supported protocols. The problem then is, how can such a client communicate with an SSLv3 only server, which probably won’t understand the TLS hello msg?
How can a client force the library to use a SSLv3 hello msg while still advertising that is also supports higher TLS protocols?
It wasn’t apparent to me how to cause this behavior from the top level documentation.
Cheers!
-----
John Lane Schultz
Spread Concepts LLC
Cell: 443 838 2200
On Sep 18, 2014, at 4:37 AM, abhijit pai <abhijitpai05-***@public.gmane.org> wrote:
Thanks John,
After reading through http://tools.ietf.org/html/rfc2246#appendix-E I understood what you meant here, and couls make sense about fallback to SSLv3.
"
TLS version 1.0 and SSL 3.0 are very similar; thus, supporting both
is easy. TLS clients who wish to negotiate with SSL 3.0 servers
should send client hello messages using the SSL 3.0 record format and
client hello structure, sending {3, 1} for the version field to note
that they support TLS 1.0. If the server supports only SSL 3.0, it
will respond with an SSL 3.0 server hello; if it supports TLS, with a
TLS server hello. The negotiation then proceeds as appropriate for
the negotiated protocol.
"
I was under impression that client should advertise SSLv3.0 in its minimum version, but it was the Server who had to fallback to SSLv3.
Thanks to all of you who bothered to help me on this.
Regards,
Abhijit
On Tue, Sep 16, 2014 at 10:34 PM, John Lane Schultz <jschultz-***@public.gmane.org> wrote:
As Thulasi wrote, SSLv23_client_method supports *ALL* protocols that your library supports by default. The name of the function is just historical and should be ignored. From the documentation:
"If the cipher list does not contain any SSLv2 ciphersuites (the default cipher list does not) or extensions are required (for example server name) a client will send out TLSv1 client hello messages including extensions and will indicate that it also understands TLSv1.1, TLSv1.2 and permits a fallback to SSLv3."
The real question is why the server that didn’t support TLS couldn’t fall back to SSLv3? If a SSLv3 server can’t understand a TLSv1 hello, then it kind of defeats the purpose of being able to fallback to SSLv3 ...
Cheers!
-----
John Lane Schultz
Spread Concepts LLC
Cell: 443 838 2200
On Sep 16, 2014, at 12:36 PM, abhijit pai <abhijitpai05-***@public.gmane.org> wrote:
Hi Thulasi,
Thanks for the response.
But my point is little different here. I have a generic HTTP client, that talks to SSL 3.0 as well as TLS 1.x enabled server.
And as mentioned earlier, I have disabled SSLv2.
Now, when I talk to any server, shouldn't the client be sending SSLv3(SSL 3.0) in the version instead of TLS 1.0 as seen from packet capture?
Is it some default behaviour? Is it configurable?
Regards,
Abhijit
Thulasi Goriparthi
SSLv23_client_method supports all protocols by default and connects using
the highest protocol that server supports(as received from server hello)
I suggest you try disabling TLS 1.0 along with SSL2 if you want to force
your client to use SSL3 without changing the context's method.
SSL_CTX_set_options(ctx, SSL_OP_ALL|
SSL_OP_NO_SSLv2 |
SSL_OP_NO_TLSv1);
If the server supports TLS1.1 and TLS 1.2, update the client ctx option to
use SSL_OP_NO_TLSv1_1 and SSL_OP_NO_TLSv1_2 also.
On Fri, Sep 12, 2014 at 6:01 PM, abhijit pai <abhijitpai05-***@public.gmane.org> wrote:
Hello All,
I am using openSSL in my custom HTTP client.
Here I use SSLv23_client_method() and disable SSLv2 using
SSL_CTX_set_options(ctx, SSL_OP_ALL| SSL_OP_NO_SSLv2)
I would expect the handshake method sent out to the server be SSL v3.0
but to my surprise it is TLS 1.0, which for some reasons the server
does not support.
This is a generic code, that would talk to even TLS 1.x enabled
servers, so I cannot fix it using SSLv3_client_method().
Is there any other API that I am not aware of that could help me achieve it?
Thanks in advance!
Regards,
Abhijit
______________________________________________________________________
OpenSSL Project http://www.openssl.org
User Support Mailing List openssl-users-MCmKBN63+***@public.gmane.org
Automated List Manager majordomo-MCmKBN63+***@public.gmane.org
______________________________________________________________________
OpenSSL Project http://www.openssl.org
User Support Mailing List openssl-users-MCmKBN63+***@public.gmane.org
Automated List Manager majordomo-MCmKBN63+***@public.gmane.org