Rhonabwy
Create, modify, parse or export Json Web Keys as defined in the RFC 7517
Functions
jwt.c File Reference
#include <orcania.h>
#include <yder.h>
#include <rhonabwy.h>

Functions

int r_jwt_init (jwt_t **jwt)
 
void r_jwt_free (jwt_t *jwt)
 
jwt_tr_jwt_copy (jwt_t *jwt)
 
int r_jwt_set_header_str_value (jwt_t *jwt, const char *key, const char *str_value)
 
int r_jwt_set_header_int_value (jwt_t *jwt, const char *key, int i_value)
 
int r_jwt_set_header_json_t_value (jwt_t *jwt, const char *key, json_t *j_value)
 
const char * r_jwt_get_header_str_value (jwt_t *jwt, const char *key)
 
int r_jwt_get_header_int_value (jwt_t *jwt, const char *key)
 
json_t * r_jwt_get_header_json_t_value (jwt_t *jwt, const char *key)
 
json_t * r_jwt_get_full_header_json_t (jwt_t *jwt)
 
char * r_jwt_get_full_header_str (jwt_t *jwt)
 
int r_jwt_set_claim_str_value (jwt_t *jwt, const char *key, const char *str_value)
 
int r_jwt_set_claim_int_value (jwt_t *jwt, const char *key, int i_value)
 
int r_jwt_set_claim_json_t_value (jwt_t *jwt, const char *key, json_t *j_value)
 
const char * r_jwt_get_claim_str_value (jwt_t *jwt, const char *key)
 
int r_jwt_get_claim_int_value (jwt_t *jwt, const char *key)
 
json_t * r_jwt_get_claim_json_t_value (jwt_t *jwt, const char *key)
 
json_t * r_jwt_get_full_claims_json_t (jwt_t *jwt)
 
char * r_jwt_get_full_claims_str (jwt_t *jwt)
 
int r_jwt_set_full_claims_json_t (jwt_t *jwt, json_t *j_claim)
 
int r_jwt_set_full_claims_json_str (jwt_t *jwt, const char *str_claims)
 
int r_jwt_append_claims_json_t (jwt_t *jwt, json_t *j_claim)
 
int r_jwt_add_sign_keys (jwt_t *jwt, jwk_t *privkey, jwk_t *pubkey)
 
int r_jwt_add_sign_jwks (jwt_t *jwt, jwks_t *jwks_privkey, jwks_t *jwks_pubkey)
 
int r_jwt_add_sign_keys_json_str (jwt_t *jwt, const char *privkey, const char *pubkey)
 
int r_jwt_add_sign_keys_json_t (jwt_t *jwt, json_t *privkey, json_t *pubkey)
 
int r_jwt_add_sign_keys_pem_der (jwt_t *jwt, int format, const unsigned char *privkey, size_t privkey_len, const unsigned char *pubkey, size_t pubkey_len)
 
int r_jwt_add_sign_keys_gnutls (jwt_t *jwt, gnutls_privkey_t privkey, gnutls_pubkey_t pubkey)
 
int r_jwt_add_sign_key_symmetric (jwt_t *jwt, const unsigned char *key, size_t key_len)
 
jwks_tr_jwt_get_sign_jwks_privkey (jwt_t *jwt)
 
jwks_tr_jwt_get_sign_jwks_pubkey (jwt_t *jwt)
 
int r_jwt_add_enc_keys (jwt_t *jwt, jwk_t *privkey, jwk_t *pubkey)
 
int r_jwt_add_enc_jwks (jwt_t *jwt, jwks_t *jwks_privkey, jwks_t *jwks_pubkey)
 
int r_jwt_add_enc_keys_json_str (jwt_t *jwt, const char *privkey, const char *pubkey)
 
int r_jwt_add_enc_keys_json_t (jwt_t *jwt, json_t *privkey, json_t *pubkey)
 
int r_jwt_add_enc_keys_pem_der (jwt_t *jwt, int format, const unsigned char *privkey, size_t privkey_len, const unsigned char *pubkey, size_t pubkey_len)
 
int r_jwt_add_enc_keys_gnutls (jwt_t *jwt, gnutls_privkey_t privkey, gnutls_pubkey_t pubkey)
 
int r_jwt_add_enc_key_symmetric (jwt_t *jwt, const unsigned char *key, size_t key_len)
 
jwks_tr_jwt_get_enc_jwks_privkey (jwt_t *jwt)
 
jwks_tr_jwt_get_enc_jwks_pubkey (jwt_t *jwt)
 
int r_jwt_set_sign_alg (jwt_t *jwt, jwa_alg alg)
 
jwa_alg r_jwt_get_sign_alg (jwt_t *jwt)
 
int r_jwt_set_enc_alg (jwt_t *jwt, jwa_alg alg)
 
jwa_alg r_jwt_get_enc_alg (jwt_t *jwt)
 
int r_jwt_set_enc (jwt_t *jwt, jwa_enc enc)
 
jwa_enc r_jwt_get_enc (jwt_t *jwt)
 
const char * r_jwt_get_enc_kid (jwt_t *jwt)
 
const char * r_jwt_get_sig_kid (jwt_t *jwt)
 
char * r_jwt_serialize_signed (jwt_t *jwt, jwk_t *privkey, int x5u_flags)
 
char * r_jwt_serialize_encrypted (jwt_t *jwt, jwk_t *pubkey, int x5u_flags)
 
char * r_jwt_serialize_nested (jwt_t *jwt, unsigned int type, jwk_t *sign_key, int sign_key_x5u_flags, jwk_t *encrypt_key, int encrypt_key_x5u_flags)
 
int r_jwt_parsen (jwt_t *jwt, const char *token, size_t token_len, int x5u_flags)
 
int r_jwt_parse (jwt_t *jwt, const char *token, int x5u_flags)
 
int r_jwt_get_type (jwt_t *jwt)
 
int r_jwt_verify_signature (jwt_t *jwt, jwk_t *pubkey, int x5u_flags)
 
int r_jwt_decrypt (jwt_t *jwt, jwk_t *privkey, int x5u_flags)
 
int r_jwt_decrypt_verify_signature_nested (jwt_t *jwt, jwk_t *verify_key, int verify_key_x5u_flags, jwk_t *decrypt_key, int decrypt_key_x5u_flags)
 
int r_jwt_decrypt_nested (jwt_t *jwt, jwk_t *decrypt_key, int decrypt_key_x5u_flags)
 
int r_jwt_verify_signature_nested (jwt_t *jwt, jwk_t *verify_key, int verify_key_x5u_flags)
 
int r_jwt_validate_claims (jwt_t *jwt,...)