56 # define HEADER_CMAC_H
62 # include <openssl/evp.h>
65 typedef struct CMAC_CTX_st CMAC_CTX;
67 CMAC_CTX *CMAC_CTX_new(
void);
68 void CMAC_CTX_cleanup(CMAC_CTX *ctx);
69 void CMAC_CTX_free(CMAC_CTX *ctx);
70 EVP_CIPHER_CTX *CMAC_CTX_get0_cipher_ctx(CMAC_CTX *ctx);
71 int CMAC_CTX_copy(CMAC_CTX *out,
const CMAC_CTX *in);
73 int CMAC_Init(CMAC_CTX *ctx,
const void *key,
size_t keylen,
74 const EVP_CIPHER *cipher, ENGINE *impl);
75 int CMAC_Update(CMAC_CTX *ctx,
const void *data,
size_t dlen);
76 int CMAC_Final(CMAC_CTX *ctx,
unsigned char *out,
size_t *poutlen);
77 int CMAC_resume(CMAC_CTX *ctx);