Lines Matching refs:ctx

101 static void init(KBKDF *ctx)
103 ctx->use_l = 1;
104 ctx->use_separator = 1;
109 KBKDF *ctx;
114 ctx = OPENSSL_zalloc(sizeof(*ctx));
115 if (ctx == NULL) {
120 ctx->provctx = provctx;
121 init(ctx);
122 return ctx;
127 KBKDF *ctx = (KBKDF *)vctx;
129 if (ctx != NULL) {
130 kbkdf_reset(ctx);
131 OPENSSL_free(ctx);
137 KBKDF *ctx = (KBKDF *)vctx;
138 void *provctx = ctx->provctx;
140 EVP_MAC_CTX_free(ctx->ctx_init);
141 OPENSSL_clear_free(ctx->context, ctx->context_len);
142 OPENSSL_clear_free(ctx->label, ctx->label_len);
143 OPENSSL_clear_free(ctx->ki, ctx->ki_len);
144 OPENSSL_clear_free(ctx->iv, ctx->iv_len);
145 memset(ctx, 0, sizeof(*ctx));
146 ctx->provctx = provctx;
147 init(ctx);
158 EVP_MAC_CTX *ctx = NULL;
181 ctx = EVP_MAC_CTX_dup(ctx_init);
182 if (ctx == NULL)
186 if (mode == FEEDBACK && !EVP_MAC_update(ctx, k_i, k_i_len))
189 if (!EVP_MAC_update(ctx, (unsigned char *)&i, 4)
190 || !EVP_MAC_update(ctx, label, label_len)
191 || (has_separator && !EVP_MAC_update(ctx, &zero, 1))
192 || !EVP_MAC_update(ctx, context, context_len)
193 || (has_l && !EVP_MAC_update(ctx, (unsigned char *)&l, 4))
194 || !EVP_MAC_final(ctx, k_i, NULL, h))
202 EVP_MAC_CTX_free(ctx);
203 ctx = NULL;
208 EVP_MAC_CTX_free(ctx);
215 KBKDF *ctx = (KBKDF *)vctx;
221 if (!ossl_prov_is_running() || !kbkdf_set_ctx_params(ctx, params))
226 if (ctx->ctx_init == NULL) {
227 if (ctx->ki_len == 0 || ctx->ki == NULL) {
243 h = EVP_MAC_CTX_get_mac_size(ctx->ctx_init);
246 if (ctx->iv_len != 0 && ctx->iv_len != h) {
251 if (ctx->use_l != 0)
258 ret = derive(ctx->ctx_init, ctx->mode, ctx->iv, ctx->iv_len, ctx->label,
259 ctx->label_len, ctx->context, ctx->context_len, k_i, h, l,
260 ctx->use_separator, key, keylen);
281 KBKDF *ctx = (KBKDF *)vctx;
282 OSSL_LIB_CTX *libctx = PROV_LIBCTX_OF(ctx->provctx);
288 if (!ossl_prov_macctx_load_from_params(&ctx->ctx_init, params, NULL,
291 else if (ctx->ctx_init != NULL
292 && !EVP_MAC_is_a(EVP_MAC_CTX_get0_mac(ctx->ctx_init),
294 && !EVP_MAC_is_a(EVP_MAC_CTX_get0_mac(ctx->ctx_init),
303 ctx->mode = COUNTER;
306 ctx->mode = FEEDBACK;
313 if (p != NULL && !kbkdf_set_buffer(&ctx->ki, &ctx->ki_len, p))
317 if (p != NULL && !kbkdf_set_buffer(&ctx->label, &ctx->label_len, p))
321 if (p != NULL && !kbkdf_set_buffer(&ctx->context, &ctx->context_len, p))
325 if (p != NULL && !kbkdf_set_buffer(&ctx->iv, &ctx->iv_len, p))
329 if (p != NULL && !OSSL_PARAM_get_int(p, &ctx->use_l))
333 if (p != NULL && !OSSL_PARAM_get_int(p, &ctx->use_separator))
337 if (ctx->ctx_init != NULL && ctx->ki_len != 0
338 && !EVP_MAC_init(ctx->ctx_init, ctx->ki, ctx->ki_len, NULL))
343 static const OSSL_PARAM *kbkdf_settable_ctx_params(ossl_unused void *ctx,
375 static const OSSL_PARAM *kbkdf_gettable_ctx_params(ossl_unused void *ctx,