Hi,

The TLS 1.3 Certificate handshake message is defined as:

   struct {
       opaque certificate_request_context<0..2^8-1>;
       CertificateEntry certificate_list<0..2^24-1>;
   } Certificate;

   certificate_request_context  If this message is in response to a
      CertificateRequest, the value of certificate_request_context in
      that message.  Otherwise (in the case of server authentication),
      this field SHALL be zero length.


As the certificate_request_context and client delivered Certificate
handshake message are only in response to a CertificateRequest, the one
byte zero length of certificate_request_context field is redundant for
server delivered certificate handshake message. It may be more clear to use
the certificate_request_context field for client delivered Certificate
handshake message only, for example:

   struct {
       select (connection_end) {
            case client:
               opaque certificate_request_context<0..2^8-1>;
            case server:
               struct {};
       }
       CertificateEntry certificate_list<0..2^24-1>;
   } Certificate;

Regards,
Xuelei Fan
_______________________________________________
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls

Reply via email to