RFC 5246 has the following in section 7.4.7.1 (RSA-Encrypted Premaster Secret):

    client_version
         The latest (newest) version supported by the client.  This is
         used to detect version rollback attacks.

The TLS 1.3 draft specification has the following in section 1.4 (Updates 
Affecting TLS 1.2)

    The “supported_versions” ClientHello extension can be used to negotiate the 
version of TLS to use, in preference to the legacy_version field of the 
ClientHello.


I would appreciate some clarification regarding the value of "client_version" 
in a ClientKeyExchange if:
- ClientHello.legacy_version = TLS 1.2, and
- ClientHello.supported_versions extension has TLS 1.3, and
- TLS 1.2 is negotiated (either because the server does not support TLS 1.3, or 
because the TLS 1.3-capable server is configured to respond with TLS 1.2 for 
some reason)

My assumption is that ClientHello.legacy_version should be used because the 
client would not know whether the server ignored the supported_versions 
extension - is that correct?

--Roelof

_______________________________________________
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls

Reply via email to