Rhonabwy
Javascript Object Signing and Encryption (JOSE) library - JWK, JWKS, JWS, JWE and JWT
Functions
jwt.c File Reference
#include <stdint.h>
#include <string.h>
#include <gnutls/gnutls.h>
#include <gnutls/crypto.h>
#include <gnutls/abstract.h>
#include <gnutls/x509.h>
#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, rhn_int_t 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)
 
rhn_int_t 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, rhn_int_t 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)
 
rhn_int_t 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)
 
int r_jwt_set_enc_cypher_key (jwt_t *jwt, const unsigned char *key, size_t key_len)
 
const unsigned char * r_jwt_get_enc_cypher_key (jwt_t *jwt, size_t *key_len)
 
int r_jwt_generate_enc_cypher_key (jwt_t *jwt)
 
int r_jwt_set_enc_iv (jwt_t *jwt, const unsigned char *iv, size_t iv_len)
 
const unsigned char * r_jwt_get_enc_iv (jwt_t *jwt, size_t *iv_len)
 
int r_jwt_generate_enc_iv (jwt_t *jwt)
 
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_signed_unsecure (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_parse (jwt_t *jwt, const char *token, int x5u_flags)
 
int r_jwt_parsen (jwt_t *jwt, const char *token, size_t token_len, int x5u_flags)
 
int r_jwt_parsen_unsecure (jwt_t *jwt, const char *token, size_t token_len, int x5u_flags)
 
int r_jwt_parse_unsecure (jwt_t *jwt, const char *token, int x5u_flags)
 
int r_jwt_advanced_parse (jwt_t *jwt, const char *token, uint32_t parse_flags, int x5u_flags)
 
int r_jwt_advanced_parsen (jwt_t *jwt, const char *token, size_t token_len, uint32_t parse_flags, int x5u_flags)
 
jwt_tr_jwt_quick_parse (const char *token, uint32_t parse_flags, int x5u_flags)
 
jwt_tr_jwt_quick_parsen (const char *token, size_t token_len, uint32_t parse_flags, 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,...)
 
int r_jwt_set_claims (jwt_t *jwt,...)
 
int r_jwt_set_full_header_json_t (jwt_t *jwt, json_t *j_header)
 
int r_jwt_set_full_header_json_str (jwt_t *jwt, const char *str_header)
 
int r_jwt_set_properties (jwt_t *jwt,...)
 
int r_jwt_token_type (const char *token)
 
int r_jwt_token_typen (const char *token, size_t token_len)
 

Function Documentation

◆ r_jwt_generate_enc_iv()

int r_jwt_generate_enc_iv ( jwt_t jwt)