Lines Matching defs:ctx

24     EVP_MAC_CTX *ctx = OPENSSL_zalloc(sizeof(EVP_MAC_CTX));
26 if (ctx == NULL
27 || (ctx->algctx = mac->newctx(ossl_provider_ctx(mac->prov))) == NULL
30 if (ctx != NULL)
31 mac->freectx(ctx->algctx);
32 OPENSSL_free(ctx);
33 ctx = NULL;
35 ctx->meth = mac;
37 return ctx;
40 void EVP_MAC_CTX_free(EVP_MAC_CTX *ctx)
42 if (ctx == NULL)
44 ctx->meth->freectx(ctx->algctx);
45 ctx->algctx = NULL;
47 EVP_MAC_free(ctx->meth);
48 OPENSSL_free(ctx);
80 EVP_MAC *EVP_MAC_CTX_get0_mac(EVP_MAC_CTX *ctx)
82 return ctx->meth;
85 static size_t get_size_t_ctx_param(EVP_MAC_CTX *ctx, const char *name)
89 if (ctx->algctx != NULL) {
93 if (ctx->meth->get_ctx_params != NULL) {
94 if (ctx->meth->get_ctx_params(ctx->algctx, params))
96 } else if (ctx->meth->get_params != NULL) {
97 if (ctx->meth->get_params(params))
108 size_t EVP_MAC_CTX_get_mac_size(EVP_MAC_CTX *ctx)
110 return get_size_t_ctx_param(ctx, OSSL_MAC_PARAM_SIZE);
113 size_t EVP_MAC_CTX_get_block_size(EVP_MAC_CTX *ctx)
115 return get_size_t_ctx_param(ctx, OSSL_MAC_PARAM_BLOCK_SIZE);
118 int EVP_MAC_init(EVP_MAC_CTX *ctx, const unsigned char *key, size_t keylen,
121 return ctx->meth->init(ctx->algctx, key, keylen, params);
124 int EVP_MAC_update(EVP_MAC_CTX *ctx, const unsigned char *data, size_t datalen)
126 return ctx->meth->update(ctx->algctx, data, datalen);
129 static int evp_mac_final(EVP_MAC_CTX *ctx, int xof,
137 if (ctx == NULL || ctx->meth == NULL) {
141 if (ctx->meth->final == NULL) {
146 macsize = EVP_MAC_CTX_get_mac_size(ctx);
163 if (EVP_MAC_CTX_set_params(ctx, params) <= 0) {
168 res = ctx->meth->final(ctx->algctx, out, &l, outsize);
174 int EVP_MAC_final(EVP_MAC_CTX *ctx,
177 return evp_mac_final(ctx, 0, out, outl, outsize);
180 int EVP_MAC_finalXOF(EVP_MAC_CTX *ctx, unsigned char *out, size_t outsize)
182 return evp_mac_final(ctx, 1, out, NULL, outsize);
198 int EVP_MAC_CTX_get_params(EVP_MAC_CTX *ctx, OSSL_PARAM params[])
200 if (ctx->meth->get_ctx_params != NULL)
201 return ctx->meth->get_ctx_params(ctx->algctx, params);
205 int EVP_MAC_CTX_set_params(EVP_MAC_CTX *ctx, const OSSL_PARAM params[])
207 if (ctx->meth->set_ctx_params != NULL)
208 return ctx->meth->set_ctx_params(ctx->algctx, params);
251 EVP_MAC_CTX *ctx = NULL;
281 if ((ctx = EVP_MAC_CTX_new(mac)) != NULL
282 && EVP_MAC_CTX_set_params(ctx, subalg_param)
283 && EVP_MAC_CTX_set_params(ctx, params)
284 && EVP_MAC_init(ctx, key, keylen, params)
285 && EVP_MAC_update(ctx, data, datalen)
286 && EVP_MAC_final(ctx, out, &len, outsize)) {
289 if (out != NULL && !EVP_MAC_final(ctx, out, NULL, len)) {
300 EVP_MAC_CTX_free(ctx);