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 | |
16 | struct 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 | |