Lines Matching refs:ctx
64 void HMAC_Init_ex(HMAC_CTX *ctx, const void *key, int len, in HMAC_Init_ex() argument
73 ctx->md=md; in HMAC_Init_ex()
76 md=ctx->md; in HMAC_Init_ex()
82 OPENSSL_assert(j <= (int)sizeof(ctx->key)); in HMAC_Init_ex()
85 EVP_DigestInit_ex(&ctx->md_ctx,md, impl); in HMAC_Init_ex()
86 EVP_DigestUpdate(&ctx->md_ctx,key,len); in HMAC_Init_ex()
87 EVP_DigestFinal_ex(&(ctx->md_ctx),ctx->key, in HMAC_Init_ex()
88 &ctx->key_length); in HMAC_Init_ex()
92 OPENSSL_assert(len>=0 && len<=(int)sizeof(ctx->key)); in HMAC_Init_ex()
93 memcpy(ctx->key,key,len); in HMAC_Init_ex()
94 ctx->key_length=len; in HMAC_Init_ex()
96 if(ctx->key_length != HMAC_MAX_MD_CBLOCK) in HMAC_Init_ex()
97 memset(&ctx->key[ctx->key_length], 0, in HMAC_Init_ex()
98 HMAC_MAX_MD_CBLOCK - ctx->key_length); in HMAC_Init_ex()
104 pad[i]=0x36^ctx->key[i]; in HMAC_Init_ex()
105 EVP_DigestInit_ex(&ctx->i_ctx,md, impl); in HMAC_Init_ex()
106 EVP_DigestUpdate(&ctx->i_ctx,pad,EVP_MD_block_size(md)); in HMAC_Init_ex()
109 pad[i]=0x5c^ctx->key[i]; in HMAC_Init_ex()
110 EVP_DigestInit_ex(&ctx->o_ctx,md, impl); in HMAC_Init_ex()
111 EVP_DigestUpdate(&ctx->o_ctx,pad,EVP_MD_block_size(md)); in HMAC_Init_ex()
113 EVP_MD_CTX_copy_ex(&ctx->md_ctx,&ctx->i_ctx); in HMAC_Init_ex()
116 void HMAC_Init(HMAC_CTX *ctx, const void *key, int len, in HMAC_Init() argument
120 HMAC_CTX_init(ctx); in HMAC_Init()
121 HMAC_Init_ex(ctx,key,len,md, NULL); in HMAC_Init()
124 void HMAC_Update(HMAC_CTX *ctx, const unsigned char *data, size_t len) in HMAC_Update() argument
126 EVP_DigestUpdate(&ctx->md_ctx,data,len); in HMAC_Update()
129 void HMAC_Final(HMAC_CTX *ctx, unsigned char *md, unsigned int *len) in HMAC_Final() argument
135 j=EVP_MD_block_size(ctx->md); in HMAC_Final()
137 EVP_DigestFinal_ex(&ctx->md_ctx,buf,&i); in HMAC_Final()
138 EVP_MD_CTX_copy_ex(&ctx->md_ctx,&ctx->o_ctx); in HMAC_Final()
139 EVP_DigestUpdate(&ctx->md_ctx,buf,i); in HMAC_Final()
140 EVP_DigestFinal_ex(&ctx->md_ctx,md,len); in HMAC_Final()
143 void HMAC_CTX_init(HMAC_CTX *ctx) in HMAC_CTX_init() argument
145 EVP_MD_CTX_init(&ctx->i_ctx); in HMAC_CTX_init()
146 EVP_MD_CTX_init(&ctx->o_ctx); in HMAC_CTX_init()
147 EVP_MD_CTX_init(&ctx->md_ctx); in HMAC_CTX_init()
150 void HMAC_CTX_cleanup(HMAC_CTX *ctx) in HMAC_CTX_cleanup() argument
152 EVP_MD_CTX_cleanup(&ctx->i_ctx); in HMAC_CTX_cleanup()
153 EVP_MD_CTX_cleanup(&ctx->o_ctx); in HMAC_CTX_cleanup()
154 EVP_MD_CTX_cleanup(&ctx->md_ctx); in HMAC_CTX_cleanup()
155 memset(ctx,0,sizeof *ctx); in HMAC_CTX_cleanup()