diff --git a/src/internal.c b/src/internal.c index 5a529ba5b..749e2b7ba 100644 --- a/src/internal.c +++ b/src/internal.c @@ -15960,6 +15960,14 @@ int SendChangeCipher(WOLFSSL* ssl) #endif ssl->buffers.outputBuffer.length += sendSz; + /* setup encrypt keys */ + if ((ret = SetKeysSide(ssl, ENCRYPT_SIDE_ONLY)) != 0) + return ret; + + #if defined(HAVE_ENCRYPT_THEN_MAC) && !defined(WOLFSSL_AEAD_ONLY) + ssl->options.startedETMWrite = ssl->options.encThenMac; + #endif + if (ssl->options.groupMessages) return 0; #if defined(WOLFSSL_DTLS) && !defined(WOLFSSL_DEBUG_DTLS) @@ -16707,14 +16715,6 @@ int SendFinished(WOLFSSL* ssl) WOLFSSL_START(WC_FUNC_FINISHED_SEND); WOLFSSL_ENTER("SendFinished"); - /* setup encrypt keys */ - if ((ret = SetKeysSide(ssl, ENCRYPT_SIDE_ONLY)) != 0) - return ret; - - #if defined(HAVE_ENCRYPT_THEN_MAC) && !defined(WOLFSSL_AEAD_ONLY) - ssl->options.startedETMWrite = ssl->options.encThenMac; - #endif - /* check for available size */ outputSz = sizeof(input) + MAX_MSG_EXTRA; if ((ret = CheckAvailableSize(ssl, outputSz)) != 0)