HMAC_CTX_init(&m_ctx); HMAC_Init_ex( &m_ctx, (const void*)(secretKey), keyLength, HashAlgo(), NULL); // erase key buffer inside hmac ctx memset(m_ctx.key, 0, m_ctx.key_length); m_ctx.key_length = 0; However, because OpenSSL_1.1.1 makes the HMAC_CTX opaque, we cannot ...