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 aServerHello
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.