2018-05-06 04:42:46 +00:00
|
|
|
/*
|
|
|
|
* Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
|
2018-05-06 00:25:55 +00:00
|
|
|
*
|
2018-05-06 04:42:46 +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
|
2018-05-06 00:25:55 +00:00
|
|
|
*/
|
2018-05-06 04:42:46 +00:00
|
|
|
|
2018-05-06 00:25:55 +00:00
|
|
|
#ifndef HEADER_HMAC_H
|
|
|
|
# define HEADER_HMAC_H
|
|
|
|
|
|
|
|
# include <openssl/opensslconf.h>
|
|
|
|
|
|
|
|
# include <openssl/evp.h>
|
|
|
|
|
|
|
|
# define HMAC_MAX_MD_CBLOCK 128/* largest known is SHA512 */
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
2018-05-06 04:42:46 +00:00
|
|
|
size_t HMAC_size(const HMAC_CTX *e);
|
|
|
|
HMAC_CTX *HMAC_CTX_new(void);
|
|
|
|
int HMAC_CTX_reset(HMAC_CTX *ctx);
|
|
|
|
void HMAC_CTX_free(HMAC_CTX *ctx);
|
2018-05-06 00:25:55 +00:00
|
|
|
|
2018-05-06 04:42:46 +00:00
|
|
|
DEPRECATEDIN_1_1_0(__owur int HMAC_Init(HMAC_CTX *ctx, const void *key, int len,
|
|
|
|
const EVP_MD *md))
|
2018-05-06 00:25:55 +00:00
|
|
|
|
2018-05-06 04:42:46 +00:00
|
|
|
/*__owur*/ int HMAC_Init_ex(HMAC_CTX *ctx, const void *key, int len,
|
|
|
|
const EVP_MD *md, ENGINE *impl);
|
|
|
|
/*__owur*/ int HMAC_Update(HMAC_CTX *ctx, const unsigned char *data,
|
|
|
|
size_t len);
|
|
|
|
/*__owur*/ int HMAC_Final(HMAC_CTX *ctx, unsigned char *md,
|
|
|
|
unsigned int *len);
|
2018-05-06 00:25:55 +00:00
|
|
|
unsigned char *HMAC(const EVP_MD *evp_md, const void *key, int key_len,
|
|
|
|
const unsigned char *d, size_t n, unsigned char *md,
|
|
|
|
unsigned int *md_len);
|
2018-05-06 04:42:46 +00:00
|
|
|
__owur int HMAC_CTX_copy(HMAC_CTX *dctx, HMAC_CTX *sctx);
|
2018-05-06 00:25:55 +00:00
|
|
|
|
|
|
|
void HMAC_CTX_set_flags(HMAC_CTX *ctx, unsigned long flags);
|
2018-05-06 04:42:46 +00:00
|
|
|
const EVP_MD *HMAC_CTX_get_md(const HMAC_CTX *ctx);
|
2018-05-06 00:25:55 +00:00
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif
|