Lines Matching refs:alg

32 	lws_cose_sig_alg_t *alg = lws_zalloc(sizeof(*alg), __func__);
38 if (!alg)
41 alg->cose_alg = cose_alg;
42 alg->cose_key = ck;
51 alg->keybits = 256;
56 alg->keybits = 384;
61 alg->keybits = 521;
70 if (lws_genhash_init(&alg->hash_ctx, gh))
73 if (lws_genecdsa_create(&alg->u.ecdsactx, cx, lws_ec_curves)) {
79 if (lws_genecdsa_set_key(&alg->u.ecdsactx, ck->e)) {
90 alg->keybits = 64;
94 alg->keybits = 256;
98 alg->keybits = 384;
102 alg->keybits = 512;
110 if (lws_genhmac_init(&alg->u.hmacctx, ghm, ke->buf, ke->len))
132 alg->keybits = (int)ck->e[LWS_GENCRYPTO_RSA_KEYEL_N].len * 8;
134 if (lws_genhash_init(&alg->hash_ctx, gh))
137 if (lws_genrsa_create(&alg->u.rsactx, ck->e, cx,
145 lwsl_warn("%s: unsupported alg %lld\n", __func__,
150 return alg;
153 lws_genec_destroy(&alg->u.ecdsactx);
155 lws_genhash_destroy(&alg->hash_ctx, NULL);
157 lws_free(alg);
164 lws_free(alg);
170 lws_cose_val_alg_hash(lws_cose_sig_alg_t *alg, const uint8_t *in, size_t in_len)
176 switch (alg->cose_alg) {
181 return lws_genhmac_update(&alg->u.hmacctx, in, in_len);
184 return lws_genhash_update(&alg->hash_ctx, in, in_len);
193 lws_cose_sig_alg_t *alg = *_alg;
199 lws_dll2_remove(&alg->list);
200 ht = alg->hash_ctx.type;
201 keybits = alg->keybits;
206 res->cose_key = alg->cose_key;
207 res->cose_alg = alg->cose_alg;
213 switch (alg->cose_alg) {
217 hs = lws_genhash_size(alg->hash_ctx.type);
218 lws_genhash_destroy(&alg->hash_ctx, digest);
224 &alg->u.ecdsactx, digest, ht,
226 lws_genec_destroy(&alg->u.ecdsactx);
233 shs = hs = lws_genhmac_size(alg->u.hmacctx.type);
234 if (alg->cose_alg == LWSCOSE_WKAHMAC_256_64)
237 if (lws_genhmac_destroy(&alg->u.hmacctx, digest)) {
259 if (!lws_genhash_destroy(&alg->hash_ctx, digest) &&
260 !alg->failed &&
261 lws_genrsa_hash_sig_verify(&alg->u.rsactx, digest,
262 alg->hash_ctx.type,
269 lws_genrsa_destroy(&alg->u.rsactx);