|
libjwt-2.1.1
|
JWT C Library. More...
#include <stdio.h>#include <time.h>
Go to the source code of this file.
Data Structures | |
| struct | jwt_key_t |
| Structure used by key provider to return a key. More... | |
Macros | |
| #define | DEPRECATED(func) |
| #define | JWT_EXPORT |
| #define | JWT_ALG_INVAL |
| #define | JWT_VALIDATION_SUCCESS |
| JWT Validation exception types. | |
| #define | JWT_VALIDATION_ERROR |
| #define | JWT_VALIDATION_ALG_MISMATCH |
| #define | JWT_VALIDATION_EXPIRED |
| #define | JWT_VALIDATION_TOO_NEW |
| #define | JWT_VALIDATION_ISS_MISMATCH |
| #define | JWT_VALIDATION_SUB_MISMATCH |
| #define | JWT_VALIDATION_AUD_MISMATCH |
| #define | JWT_VALIDATION_GRANT_MISSING |
| #define | JWT_VALIDATION_GRANT_MISMATCH |
Typedefs | |
| typedef struct jwt | jwt_t |
| Opaque JWT object. | |
| typedef struct jwt_valid | jwt_valid_t |
| Opaque JWT validation object. | |
| typedef enum jwt_alg | jwt_alg_t |
| JWT algorithm types. | |
| typedef void *(* | jwt_malloc_t) (size_t) |
| JWT Memory allocation overrides. | |
| typedef void *(* | jwt_realloc_t) (void *, size_t) |
| typedef void(* | jwt_free_t) (void *) |
| typedef int(* | jwt_key_p_t) (const jwt_t *, jwt_key_t *) |
| Key provider - inspects the JWT to obtain the key used to verify the signature. | |
Enumerations | |
| enum | jwt_alg { JWT_ALG_NONE , JWT_ALG_HS256 , JWT_ALG_HS384 , JWT_ALG_HS512 , JWT_ALG_RS256 , JWT_ALG_RS384 , JWT_ALG_RS512 , JWT_ALG_ES256 , JWT_ALG_ES384 , JWT_ALG_ES512 , JWT_ALG_PS256 , JWT_ALG_PS384 , JWT_ALG_PS512 , JWT_ALG_ES256K , JWT_ALG_EDDSA , JWT_ALG_TERM } |
| JWT algorithm types. More... | |
Functions | |
| const char * | jwt_get_crypto_ops (void) |
| Retrieve the name of the current crypto operations being used. | |
| int | jwt_set_crypto_ops (const char *opname) |
| Set the crypto operations to the named set. | |
| int | jwt_new (jwt_t **jwt) |
| Allocate a new, empty, JWT object. | |
| int | jwt_decode (jwt_t **jwt, const char *token, const unsigned char *key, int key_len) |
| Decode an existing JWT and allocate a new JWT object from it. | |
| int | jwt_decode_2 (jwt_t **jwt, const char *token, jwt_key_p_t key_provider) |
| Like jwt_decode(), but the key will be obtained via the key provider. | |
| void | jwt_free (jwt_t *jwt) |
| Free a JWT object and any other resources it is using. | |
| jwt_t * | jwt_dup (jwt_t *jwt) |
| Duplicate an existing JWT object. | |
| const char * | jwt_get_grant (jwt_t *jwt, const char *grant) |
| Return the value of a string grant. | |
| long | jwt_get_grant_int (jwt_t *jwt, const char *grant) |
| Return the value of an integer grant. | |
| int | jwt_get_grant_bool (jwt_t *jwt, const char *grant) |
| Return the value of an boolean grant. | |
| char * | jwt_get_grants_json (jwt_t *jwt, const char *grant) |
| Return the value of a grant as JSON encoded object string. | |
| int | jwt_add_grant (jwt_t *jwt, const char *grant, const char *val) |
| Add a new string grant to this JWT object. | |
| int | jwt_add_grant_int (jwt_t *jwt, const char *grant, long val) |
| Add a new integer grant to this JWT object. | |
| int | jwt_add_grant_bool (jwt_t *jwt, const char *grant, int val) |
| Add a new boolean grant to this JWT object. | |
| int | jwt_add_grants_json (jwt_t *jwt, const char *json) |
| Add grants from a JSON encoded object string. | |
| int | jwt_del_grants (jwt_t *jwt, const char *grant) |
| Delete a grant from this JWT object. | |
| const char * | jwt_get_header (jwt_t *jwt, const char *header) |
| Return the value of a string header. | |
| long | jwt_get_header_int (jwt_t *jwt, const char *header) |
| Return the value of an integer header. | |
| int | jwt_get_header_bool (jwt_t *jwt, const char *header) |
| Return the value of an boolean header. | |
| char * | jwt_get_headers_json (jwt_t *jwt, const char *header) |
| Return the value of a header as JSON encoded object string. | |
| int | jwt_add_header (jwt_t *jwt, const char *header, const char *val) |
| Add a new string header to this JWT object. | |
| int | jwt_add_header_int (jwt_t *jwt, const char *header, long val) |
| Add a new integer header to this JWT object. | |
| int | jwt_add_header_bool (jwt_t *jwt, const char *header, int val) |
| Add a new boolean header to this JWT object. | |
| int | jwt_add_headers_json (jwt_t *jwt, const char *json) |
| Add headers from a JSON encoded object string. | |
| int | jwt_del_headers (jwt_t *jwt, const char *header) |
| Delete a header from this JWT object. | |
| int | jwt_dump_fp (jwt_t *jwt, FILE *fp, int pretty) |
| Output plain text representation to a FILE pointer. | |
| char * | jwt_dump_str (jwt_t *jwt, int pretty) |
| Return plain text representation as a string. | |
| char * | jwt_dump_grants_str (jwt_t *jwt, int pretty) |
| Return plain text representation of grants as a string. | |
| int | jwt_encode_fp (jwt_t *jwt, FILE *fp) |
| Fully encode a JWT object and write it to FILE. | |
| char * | jwt_encode_str (jwt_t *jwt) |
| Fully encode a JWT object and return as a string. | |
| void | jwt_free_str (char *str) |
| Free a string returned from the library. | |
| int | jwt_set_alg (jwt_t *jwt, jwt_alg_t alg, const unsigned char *key, int len) |
| Set an algorithm from jwt_alg_t for this JWT object. | |
| jwt_alg_t | jwt_get_alg (const jwt_t *jwt) |
| Get the jwt_alg_t set for this JWT object. | |
| const char * | jwt_alg_str (jwt_alg_t alg) |
| Convert alg type to it's string representation. | |
| jwt_alg_t | jwt_str_alg (const char *alg) |
| Convert alg string to type. | |
| int | jwt_set_alloc (jwt_malloc_t pmalloc, jwt_realloc_t prealloc, jwt_free_t pfree) |
| Set functions to be used for allocating and freeing memory. | |
| void | jwt_get_alloc (jwt_malloc_t *pmalloc, jwt_realloc_t *prealloc, jwt_free_t *pfree) |
| Get functions used for allocating and freeing memory. | |
| unsigned int | jwt_validate (jwt_t *jwt, jwt_valid_t *jwt_valid) |
| Validate a JWT object with a validation object. | |
| int | jwt_valid_new (jwt_valid_t **jwt_valid, jwt_alg_t alg) |
| Allocate a new, JWT validation object. | |
| void | jwt_valid_free (jwt_valid_t *jwt_valid) |
| Free a JWT validation object and any other resources it is using. | |
| unsigned int | jwt_valid_get_status (jwt_valid_t *jwt_valid) |
| Return the status string for the validation object. | |
| time_t | jwt_valid_get_nbf_leeway (jwt_valid_t *jwt_valid) |
| Return the nbf_leeway value set. | |
| time_t | jwt_valid_get_exp_leeway (jwt_valid_t *jwt_valid) |
| Return the exp_leeway value set. | |
| int | jwt_valid_add_grant (jwt_valid_t *jwt_valid, const char *grant, const char *val) |
| Add a new string grant requirement to this JWT validation object. | |
| const char * | jwt_valid_get_grant (jwt_valid_t *jwt_valid, const char *grant) |
| Return the value of a string required grant. | |
| int | jwt_valid_add_grant_int (jwt_valid_t *jwt_valid, const char *grant, long val) |
| Add a new integer grant requirement to this JWT validation object. | |
| long | jwt_valid_get_grant_int (jwt_valid_t *jwt_valid, const char *grant) |
| Return the value of an integer required grant. | |
| int | jwt_valid_add_grant_bool (jwt_valid_t *jwt_valid, const char *grant, int val) |
| Add a new boolean required grant to this JWT validation object. | |
| int | jwt_valid_get_grant_bool (jwt_valid_t *jwt_valid, const char *grant) |
| Return the value of an boolean required grant. | |
| int | jwt_valid_add_grants_json (jwt_valid_t *jwt_valid, const char *json) |
| Add required grants from a JSON encoded object string. | |
| char * | jwt_valid_get_grants_json (jwt_valid_t *jwt_valid, const char *grant) |
| Return the value of a grant as JSON encoded object string. | |
| int | jwt_valid_del_grants (jwt_valid_t *jwt_valid, const char *grant) |
| Delete a grant from this JWT object. | |
| int | jwt_valid_set_now (jwt_valid_t *jwt_valid, const time_t now) |
| Set the time for which expires and not-before claims should be evaluated. | |
| int | jwt_valid_set_nbf_leeway (jwt_valid_t *jwt_valid, const time_t nbf_leeway) |
| Set the nbf_leeway value as defined in: https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5. | |
| int | jwt_valid_set_exp_leeway (jwt_valid_t *jwt_valid, const time_t exp_leeway) |
| Set the exp_leeway value as defined in: https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4. | |
| int | jwt_valid_set_headers (jwt_valid_t *jwt_valid, int hdr) |
| Set validation for replicated claims in headers. | |
| char * | jwt_exception_str (unsigned int exceptions) |
| Parses exceptions and returns a comma delimited and human-readable string. | |
JWT C Library.
Definition in file jwt.h.
| #define JWT_EXPORT |
Definition at line 41 of file jwt.h.
Referenced by jwt_add_grant(), jwt_add_grant_bool(), jwt_add_grant_int(), jwt_add_grants_json(), jwt_add_header(), jwt_add_header_bool(), jwt_add_header_int(), jwt_add_headers_json(), jwt_alg_str(), jwt_decode(), jwt_decode_2(), jwt_del_grants(), jwt_del_headers(), jwt_dump_fp(), jwt_dump_grants_str(), jwt_dump_str(), jwt_dup(), jwt_encode_fp(), jwt_encode_str(), jwt_exception_str(), jwt_free(), jwt_free_str(), jwt_get_alg(), jwt_get_alloc(), jwt_get_grant(), jwt_get_grant_bool(), jwt_get_grant_int(), jwt_get_grants_json(), jwt_get_header(), jwt_get_header_bool(), jwt_get_header_int(), jwt_get_headers_json(), jwt_new(), jwt_set_alg(), jwt_set_alloc(), jwt_str_alg(), jwt_valid_add_grant(), jwt_valid_add_grant_bool(), jwt_valid_add_grant_int(), jwt_valid_add_grants_json(), jwt_valid_del_grants(), jwt_valid_free(), jwt_valid_get_exp_leeway(), jwt_valid_get_grant(), jwt_valid_get_grant_bool(), jwt_valid_get_grant_int(), jwt_valid_get_grants_json(), jwt_valid_get_nbf_leeway(), jwt_valid_get_status(), jwt_valid_new(), jwt_valid_set_exp_leeway(), jwt_valid_set_headers(), jwt_valid_set_nbf_leeway(), jwt_valid_set_now(), and jwt_validate().
| #define JWT_VALIDATION_SUCCESS |
| typedef void *(* jwt_malloc_t) (size_t) |
| typedef struct jwt_valid jwt_valid_t |
| enum jwt_alg |