60 memb_free(&hmac_context_storage, ctx);
65 memb_init(&hmac_context_storage);
71 const unsigned char *input,
size_t ilen) {
100 memcpy(ctx->
pad, key, klen);
142 int main(
int argc,
char **argv) {
148 fprintf(stderr,
"usage: %s key text", argv[0]);
159 for(i = 0; i < len; i++)
160 printf(
"%02x", buf[i]);
void dtls_hmac_update(dtls_hmac_context_t *ctx, const unsigned char *input, size_t ilen)
void dtls_hmac_free(dtls_hmac_context_t *ctx)
#define DTLS_HMAC_DIGEST_SIZE
void dtls_hmac_init(dtls_hmac_context_t *ctx, const unsigned char *key, size_t klen)
dtls_hmac_context_t * dtls_hmac_new(const unsigned char *key, size_t klen)
static void dtls_hash_init(dtls_hash_t ctx)
unsigned char pad[DTLS_HMAC_BLOCKSIZE]
static void dtls_hash_update(dtls_hash_t ctx, const unsigned char *input, size_t len)
int dtls_hmac_finalize(dtls_hmac_context_t *ctx, unsigned char *result)
static dtls_hmac_context_t * dtls_hmac_context_new(void)
static void dtls_hmac_context_free(dtls_hmac_context_t *ctx)
void dtls_hmac_storage_init(void)
#define DTLS_HMAC_BLOCKSIZE
static size_t dtls_hash_finalize(unsigned char *buf, dtls_hash_t ctx)