2016-05-18 02:51:26 +08:00
|
|
|
/*
|
2018-08-16 06:54:35 +08:00
|
|
|
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
2015-11-30 20:34:20 +08:00
|
|
|
*
|
2016-05-18 02:51:26 +08:00
|
|
|
* Licensed under the OpenSSL license (the "License"). You may not use
|
|
|
|
* this file except in compliance with the License. You can obtain a copy
|
|
|
|
* in the file LICENSE in the source distribution or at
|
|
|
|
* https://www.openssl.org/source/license.html
|
2015-11-30 20:34:20 +08:00
|
|
|
*/
|
2016-05-18 02:51:26 +08:00
|
|
|
|
2015-11-30 20:34:20 +08:00
|
|
|
#ifndef HEADER_HMAC_LCL_H
|
|
|
|
# define HEADER_HMAC_LCL_H
|
|
|
|
|
2018-08-16 06:54:35 +08:00
|
|
|
/* The current largest case is for SHA3-224 */
|
|
|
|
#define HMAC_MAX_MD_CBLOCK_SIZE 144
|
|
|
|
|
2015-12-08 03:49:17 +08:00
|
|
|
struct hmac_ctx_st {
|
2015-11-30 20:34:20 +08:00
|
|
|
const EVP_MD *md;
|
|
|
|
EVP_MD_CTX *md_ctx;
|
|
|
|
EVP_MD_CTX *i_ctx;
|
|
|
|
EVP_MD_CTX *o_ctx;
|
|
|
|
unsigned int key_length;
|
2018-08-16 06:54:35 +08:00
|
|
|
unsigned char key[HMAC_MAX_MD_CBLOCK_SIZE];
|
2015-12-08 03:49:17 +08:00
|
|
|
};
|
2015-11-30 20:34:20 +08:00
|
|
|
|
|
|
|
#endif
|