2016-05-17 18:51:26 +00:00
|
|
|
/*
|
2018-08-15 22:54:35 +00:00
|
|
|
* Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
|
2015-11-30 12:34:20 +00:00
|
|
|
*
|
2016-05-17 18:51:26 +00: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 12:34:20 +00:00
|
|
|
*/
|
2016-05-17 18:51:26 +00:00
|
|
|
|
2019-09-27 21:58:12 +00:00
|
|
|
#ifndef OSSL_CRYPTO_HMAC_LOCAL_H
|
|
|
|
# define OSSL_CRYPTO_HMAC_LOCAL_H
|
2015-11-30 12:34:20 +00:00
|
|
|
|
2018-08-15 22:54:35 +00:00
|
|
|
/* The current largest case is for SHA3-224 */
|
|
|
|
#define HMAC_MAX_MD_CBLOCK_SIZE 144
|
|
|
|
|
2015-12-07 19:49:17 +00:00
|
|
|
struct hmac_ctx_st {
|
2015-11-30 12:34:20 +00: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-15 22:54:35 +00:00
|
|
|
unsigned char key[HMAC_MAX_MD_CBLOCK_SIZE];
|
2015-12-07 19:49:17 +00:00
|
|
|
};
|
2015-11-30 12:34:20 +00:00
|
|
|
|
|
|
|
#endif
|