41 enum enum_jws_sig_elements {
57 LWS_JWS_MAX_COMPACT_BLOCKS
61 const char *buf[LWS_JWS_MAX_COMPACT_BLOCKS];
62 uint32_t len[LWS_JWS_MAX_COMPACT_BLOCKS];
65 #define LWS_JWS_MAX_SIGS 3
69 struct lws_context *context;
84 LWS_VISIBLE LWS_EXTERN
void
86 struct lws_context *context);
97 LWS_VISIBLE LWS_EXTERN
void
115 LWS_VISIBLE LWS_EXTERN
int
117 struct lws_context *context,
118 char *temp,
int *temp_len);
120 LWS_VISIBLE LWS_EXTERN
int
121 lws_jws_sig_confirm_compact_b64_map(
struct lws_jws_map *map_b64,
123 struct lws_context *context,
124 char *temp,
int *temp_len);
143 LWS_VISIBLE LWS_EXTERN
int
147 struct lws_context *context,
148 char *temp,
int *temp_len);
167 LWS_VISIBLE LWS_EXTERN
int
170 struct lws_jwk *jwk,
struct lws_context *context);
191 LWS_VISIBLE LWS_EXTERN
int
212 LWS_VISIBLE LWS_EXTERN
int
214 struct lws_jws_map *map_b64,
char *out,
int *out_len);
216 LWS_VISIBLE LWS_EXTERN
int
217 lws_jws_compact_encode(
struct lws_jws_map *map_b64,
219 char *buf,
int *out_len);
221 LWS_VISIBLE LWS_EXTERN
int
222 lws_jws_sig_confirm_json(
const char *in,
size_t len,
224 struct lws_context *context,
225 char *temp,
int *temp_len);
235 LWS_VISIBLE LWS_EXTERN
int
246 LWS_VISIBLE LWS_EXTERN
int
277 LWS_VISIBLE LWS_EXTERN
int
279 char *temp,
int *temp_len,
const void *in,
size_t in_len,
280 size_t actual_alloc);
302 LWS_VISIBLE LWS_EXTERN
int
305 int idx,
char *temp,
int *temp_len,
size_t random_len,
306 size_t actual_alloc);
327 LWS_VISIBLE LWS_EXTERN
int
329 int *temp_len,
size_t len,
size_t actual_alloc);
350 LWS_VISIBLE LWS_EXTERN
int
352 char *temp,
int *temp_len,
const void *in,
370 LWS_VISIBLE LWS_EXTERN
int
384 LWS_VISIBLE LWS_EXTERN
int
401 LWS_VISIBLE LWS_EXTERN
int
LWS_VISIBLE LWS_EXTERN int lws_jws_encode_section(const char *in, size_t in_len, int first, char **p, char *end)
LWS_VISIBLE LWS_EXTERN int lws_jws_sign_from_b64(struct lws_jose *jose, struct lws_jws *jws, char *b64_sig, size_t sig_len)
LWS_VISIBLE LWS_EXTERN int lws_jws_randomize_element(struct lws_context *context, struct lws_jws_map *map, int idx, char *temp, int *temp_len, size_t random_len, size_t actual_alloc)
LWS_VISIBLE LWS_EXTERN int lws_jws_sig_confirm_compact_b64(const char *in, size_t len, struct lws_jws_map *map, struct lws_jwk *jwk, struct lws_context *context, char *temp, int *temp_len)
LWS_VISIBLE LWS_EXTERN int lws_jws_write_compact(struct lws_jws *jws, char *compact, size_t len)
LWS_VISIBLE LWS_EXTERN void lws_jws_destroy(struct lws_jws *jws)
LWS_VISIBLE LWS_EXTERN int lws_jws_sig_confirm(struct lws_jws_map *map_b64, struct lws_jws_map *map, struct lws_jwk *jwk, struct lws_context *context)
LWS_VISIBLE LWS_EXTERN int lws_jws_encode_b64_element(struct lws_jws_map *map, int idx, char *temp, int *temp_len, const void *in, size_t in_len)
LWS_VISIBLE LWS_EXTERN int lws_jws_sig_confirm_compact(struct lws_jws_map *map, struct lws_jwk *jwk, struct lws_context *context, char *temp, int *temp_len)
LWS_VISIBLE LWS_EXTERN int lws_jws_alloc_element(struct lws_jws_map *map, int idx, char *temp, int *temp_len, size_t len, size_t actual_alloc)
LWS_VISIBLE LWS_EXTERN int lws_jws_dup_element(struct lws_jws_map *map, int idx, char *temp, int *temp_len, const void *in, size_t in_len, size_t actual_alloc)
LWS_VISIBLE LWS_EXTERN int lws_jws_write_flattened_json(struct lws_jws *jws, char *flattened, size_t len)
LWS_VISIBLE LWS_EXTERN int lws_jws_base64_enc(const char *in, size_t in_len, char *out, size_t out_max)
LWS_VISIBLE LWS_EXTERN int lws_jws_b64_compact_map(const char *in, int len, struct lws_jws_map *map)
LWS_VISIBLE LWS_EXTERN int lws_jws_compact_decode(const char *in, int len, struct lws_jws_map *map, struct lws_jws_map *map_b64, char *out, int *out_len)
LWS_VISIBLE LWS_EXTERN void lws_jws_init(struct lws_jws *jws, struct lws_jwk *jwk, struct lws_context *context)
Definition: lws-jose.h:115