@@ -8475,6 +8475,9 @@ int TLSX_KeyShare_Parse(WOLFSSL* ssl, const byte* input, word16 length,
if (!WOLFSSL_NAMED_GROUP_IS_PQC(group))
#endif
ret = TLSX_KeyShare_Use(ssl, group, 0, NULL, NULL, &ssl->extensions);
+
+ if (ret == 0)
+ ssl->session->namedGroup = ssl->namedGroup = group;
}
else {
/* Not a message type that is allowed to have this extension. */
@@ -5236,8 +5236,18 @@ int DoTls13ServerHello(WOLFSSL* ssl, const byte* input, word32* inOutIdx,
+ /* sanity check on PSK / KSE */
+ if (
+ #if defined(HAVE_SESSION_TICKET) || !defined(NO_PSK)
+ ssl->options.pskNegotiated == 0 &&
+ #endif
+ ssl->session->namedGroup == 0) {
+ return EXT_MISSING;
+ }
ssl->keys.encryptionOn = 1;
ssl->options.serverState = SERVER_HELLO_COMPLETE;
ssl->options.tls1_3 = 1;