I was reading two answers here on the site about the TLS versions compatibility:

The first one says:

Basically, for the handshake to succeed, there must be a protocol version that both client and server support. If the client supports only TLS 1.1, and the server supports only TLS 1.2 and SSL 3.0, then there is no common protocol version, and communications won't happen.

The second one says:

TLS is backward compatible, in the following sense: when the client connects, it sends a ClientHello message that specifies the highest version that it supports; the server then responds with a ServerHello that defines the protocol version which will be used. That way, a TLS server can perfectly support TLS 1.2 and yet interoperate properly with clients who know only SSL 3.0, TLS 1.0 or TLS 1.1.

For me, there are differences between these 2 answers. The first says that if server and client don't have the same protocol version, no communication happens (regardless if one version is higher than the other), while the second says if the server has the highest protocol version, can interoperate with the client if the client has a lower version.

So, I'm on a situation where I need to implement that scenario: A server with TLSv1.2 and client with TLSv1.1. I need to know which one of those answers is the truth.

1 Answer 1


Those two posts are saying different things. If the server is configured to not support lower versions, it won't.

The second quote assumes that the server has not been configured to limit supported versions.

  • Ok, with the word "assumes" I can understand everything right now. Thanks for your answer !
    – robe007
    Commented Mar 2, 2020 at 21:41

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .