Go to the documentation of this file.
65 #include "../../internal.h"
70 unsigned int *out_len) {
130 unsigned key_block_len;
133 assert(block_size <=
sizeof(key_block));
134 if (block_size < key_len) {
142 assert(key_len <=
sizeof(key_block));
144 key_block_len = (unsigned)key_len;
148 OPENSSL_memset(&key_block[key_block_len], 0,
sizeof(key_block) - key_block_len);
152 pad[
i] = 0x36 ^ key_block[
i];
160 pad[
i] = 0x5c ^ key_block[
i];
size_t HMAC_size(const HMAC_CTX *ctx)
#define EVP_MD_block_size
int HMAC_Update(HMAC_CTX *ctx, const uint8_t *data, size_t data_len)
static struct test_ctx ctx
#define EVP_DigestInit_ex
static void * OPENSSL_memset(void *dst, int c, size_t n)
int HMAC_CTX_copy(HMAC_CTX *dest, const HMAC_CTX *src)
#define EVP_MD_CTX_copy_ex
int HMAC_CTX_copy_ex(HMAC_CTX *dest, const HMAC_CTX *src)
static void * OPENSSL_memcpy(void *dst, const void *src, size_t n)
int HMAC_Init_ex(HMAC_CTX *ctx, const void *key, size_t key_len, const EVP_MD *md, ENGINE *impl)
#define EVP_MAX_MD_BLOCK_SIZE
void HMAC_CTX_init(HMAC_CTX *ctx)
#define EVP_DigestFinal_ex
int HMAC_Final(HMAC_CTX *ctx, uint8_t *out, unsigned int *out_len)
void HMAC_CTX_cleanup(HMAC_CTX *ctx)
void HMAC_CTX_reset(HMAC_CTX *ctx)
#define EVP_MD_CTX_cleanup
int HMAC_Init(HMAC_CTX *ctx, const void *key, int key_len, const EVP_MD *md)
HMAC_CTX * HMAC_CTX_new(void)
void HMAC_CTX_free(HMAC_CTX *ctx)
uint8_t * HMAC(const EVP_MD *evp_md, const void *key, size_t key_len, const uint8_t *data, size_t data_len, uint8_t *out, unsigned int *out_len)
grpc
Author(s):
autogenerated on Thu Mar 13 2025 03:00:13