diff --git a/ssl/d1_srvr.c b/ssl/d1_srvr.c index 1b2ccb8552b16998f21ef6bcfd67fc32746a5849..b6e8dbcdd96f875317c0511a925194a73095a3e0 100644 --- a/ssl/d1_srvr.c +++ b/ssl/d1_srvr.c @@ -1011,6 +1011,7 @@ int dtls1_send_certificate_request(SSL *s) STACK_OF(X509_NAME) *sk=NULL; X509_NAME *name; BUF_MEM *buf; + unsigned int msg_len; if (s->state == SSL3_ST_SW_CERT_REQ_A) { @@ -1088,6 +1089,10 @@ int dtls1_send_certificate_request(SSL *s) #endif /* XDTLS: set message header ? */ + msg_len = s->init_num - DTLS1_HM_HEADER_LENGTH; + dtls1_set_message_header(s, s->init_buf->data, + SSL3_MT_CERTIFICATE_REQUEST, msg_len, 0, msg_len); + /* buffer the message to handle re-xmits */ dtls1_buffer_message(s, 0);