Lines Matching refs:jwk
52 lws_jwk_dump(struct lws_jwk *jwk)
61 switch (jwk->kty) {
64 lwsl_err("%s: jwk %p: unknown type\n", __func__, jwk);
84 lwsl_info("%s: jwk %p\n", __func__, jwk);
87 if (jwk->meta[n].buf && meta_b64[n]) {
89 lwsl_hexdump_info(jwk->meta[n].buf, jwk->meta[n].len);
91 if (jwk->meta[n].buf && !meta_b64[n])
93 jwk->meta[n].buf);
97 if (jwk->e[n].buf && b64[n]) {
99 lwsl_hexdump_info(jwk->e[n].buf, jwk->e[n].len);
101 if (jwk->e[n].buf && !b64[n])
102 lwsl_info(" e: %s: '%s'\n", enames[n], jwk->e[n].buf);
111 e->buf = lws_malloc(len + 1, "jwk");
137 lws_jwk_destroy(struct lws_jwk *jwk)
139 lws_jwk_destroy_elements(jwk->e, LWS_ARRAY_SIZE(jwk->e));
140 lws_jwk_destroy_elements(jwk->meta, LWS_ARRAY_SIZE(jwk->meta));
145 struct lws_jwk *jwk, lws_jwk_key_import_callback cb,
148 if (jwk)
149 memset(jwk, 0, sizeof(*jwk));
151 jps->jwk = jwk;
161 lws_jwk_dup_oct(struct lws_jwk *jwk, const void *key, int len)
165 jwk->e[LWS_GENCRYPTO_KTY_OCT].buf = lws_malloc(ulen, __func__);
166 if (!jwk->e[LWS_GENCRYPTO_KTY_OCT].buf)
169 jwk->kty = LWS_GENCRYPTO_KTY_OCT;
170 jwk->e[LWS_GENCRYPTO_OCT_KEYEL_K].len = ulen;
172 memcpy(jwk->e[LWS_GENCRYPTO_KTY_OCT].buf, key, ulen);
178 lws_jwk_generate(struct lws_context *context, struct lws_jwk *jwk,
184 memset(jwk, 0, sizeof(*jwk));
186 jwk->kty = (int)kty;
187 jwk->private_key = 1;
196 jwk->e, bits);
206 jwk->e[LWS_GENCRYPTO_OCT_KEYEL_K].buf = lws_malloc(sn, "oct");
207 if (!jwk->e[LWS_GENCRYPTO_OCT_KEYEL_K].buf)
209 jwk->e[LWS_GENCRYPTO_OCT_KEYEL_K].len = (uint32_t)sn;
211 jwk->e[LWS_GENCRYPTO_OCT_KEYEL_K].buf, sn) != sn) {
232 n = lws_genecdsa_new_keypair(&ctx, curve, jwk->e);
251 lws_jwk_rfc7638_fingerprint(struct lws_jwk *jwk, char *digest32)
260 n = lws_jwk_export(jwk, LWSJWKF_EXPORT_NOCRLF, tmp, &m);
286 lws_jwk_strdup_meta(struct lws_jwk *jwk, enum enum_jwk_meta_tok idx,
289 jwk->meta[idx].buf = lws_malloc((unsigned int)len, __func__);
290 if (!jwk->meta[idx].buf)
292 jwk->meta[idx].len = (uint32_t)(unsigned int)len;
293 memcpy(jwk->meta[idx].buf, in, (unsigned int)len);