1/*
2 * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
3 *
4 * Licensed under the Apache License 2.0 (the "License"). You may not use
5 * this file except in compliance with the License. You can obtain a copy
6 * in the file LICENSE in the source distribution or at
7 * https://www.openssl.org/source/license.html
8 */
9
10#ifndef OSSL_CRYPTO_HMAC_LOCAL_H
11# define OSSL_CRYPTO_HMAC_LOCAL_H
12
13/* The current largest case is for SHA3-224 */
14#define HMAC_MAX_MD_CBLOCK_SIZE 144
15
16struct hmac_ctx_st {
17 const EVP_MD *md;
18 EVP_MD_CTX *md_ctx;
19 EVP_MD_CTX *i_ctx;
20 EVP_MD_CTX *o_ctx;
21 unsigned int key_length;
22 unsigned char key[HMAC_MAX_MD_CBLOCK_SIZE];
23};
24
25#endif
26