mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2026-02-04 08:05:07 +01:00
TLS 1.2 message order check: certificate before CKE
Make sure we received a Certificate message before the ClientKeyExchange when a certificate is requested. (Certificate message will be empty when client has no valid certificate.)
This commit is contained in:
@@ -18066,6 +18066,12 @@ static int SanityCheckMsgReceived(WOLFSSL* ssl, byte type)
|
|||||||
WOLFSSL_ERROR_VERBOSE(OUT_OF_ORDER_E);
|
WOLFSSL_ERROR_VERBOSE(OUT_OF_ORDER_E);
|
||||||
return OUT_OF_ORDER_E;
|
return OUT_OF_ORDER_E;
|
||||||
}
|
}
|
||||||
|
if (!ssl->options.resuming && ssl->options.verifyPeer &&
|
||||||
|
!ssl->options.usingPSK_cipher &&
|
||||||
|
!ssl->options.usingAnon_cipher &&
|
||||||
|
!ssl->msgsReceived.got_certificate) {
|
||||||
|
return OUT_OF_ORDER_E;
|
||||||
|
}
|
||||||
if (ssl->msgsReceived.got_certificate_verify||
|
if (ssl->msgsReceived.got_certificate_verify||
|
||||||
ssl->msgsReceived.got_change_cipher ||
|
ssl->msgsReceived.got_change_cipher ||
|
||||||
ssl->msgsReceived.got_finished) {
|
ssl->msgsReceived.got_finished) {
|
||||||
|
|||||||
Reference in New Issue
Block a user