24 enum lws_jws_jose_hdr_indexes {
54 LWS_COUNT_JOSE_HDR_ELEMENTS
57 enum lws_jose_algtype {
58 LWS_JOSE_ENCTYPE_NONE,
60 LWS_JOSE_ENCTYPE_RSASSA_PKCS1_1_5,
61 LWS_JOSE_ENCTYPE_RSASSA_PKCS1_OAEP,
62 LWS_JOSE_ENCTYPE_RSASSA_PKCS1_PSS,
64 LWS_JOSE_ENCTYPE_ECDSA,
65 LWS_JOSE_ENCTYPE_ECDHES,
67 LWS_JOSE_ENCTYPE_AES_CBC,
68 LWS_JOSE_ENCTYPE_AES_CFB128,
69 LWS_JOSE_ENCTYPE_AES_CFB8,
70 LWS_JOSE_ENCTYPE_AES_CTR,
71 LWS_JOSE_ENCTYPE_AES_ECB,
72 LWS_JOSE_ENCTYPE_AES_OFB,
73 LWS_JOSE_ENCTYPE_AES_XTS,
74 LWS_JOSE_ENCTYPE_AES_GCM,
80 enum lws_genhash_types hash_type;
81 enum lws_genhmac_types hmac_type;
82 enum lws_jose_algtype algtype_signing;
83 enum lws_jose_algtype algtype_crypto;
85 const char *curve_name;
86 unsigned short keybits_min, keybits_fixed;
87 unsigned short ivbits;
103 #define LWS_JWS_MAX_RECIPIENTS 3
133 LWS_VISIBLE LWS_EXTERN
void
134 lws_jose_init(
struct lws_jose *jose);
141 LWS_VISIBLE LWS_EXTERN
void
142 lws_jose_destroy(
struct lws_jose *jose);
152 LWS_VISIBLE LWS_EXTERN
int
153 lws_gencrypto_jws_alg_to_definition(
const char *alg,
164 LWS_VISIBLE LWS_EXTERN
int
165 lws_gencrypto_jwe_alg_to_definition(
const char *alg,
176 LWS_VISIBLE LWS_EXTERN
int
177 lws_gencrypto_jwe_enc_to_definition(
const char *enc,
191 LWS_VISIBLE LWS_EXTERN
int
192 lws_jws_parse_jose(
struct lws_jose *jose,
193 const char *buf,
int len,
char *temp,
int *temp_len);
206 LWS_VISIBLE LWS_EXTERN
int
207 lws_jwe_parse_jose(
struct lws_jose *jose,
208 const char *buf,
int len,
char *temp,
int *temp_len);
Definition: lws-gencrypto.h:91
Definition: lws-jose.h:79
Definition: lws-jose.h:115
Definition: lws-jose.h:105