Rhonabwy
Javascript Object Signing and Encryption (JOSE) library - JWK, JWKS, JWS, JWE and JWT
Functions
jwks.c File Reference
#include <orcania.h>
#include <yder.h>
#include <rhonabwy.h>

Functions

int _r_get_http_content (const char *url, int x5u_flags, const char *expected_content_type, struct _o_datum *datum)
 
int r_jwks_init (jwks_t **jwks)
 
void r_jwks_free (jwks_t *jwks)
 
int r_jwks_is_valid (jwks_t *jwks)
 
size_t r_jwks_size (jwks_t *jwks)
 
jwk_tr_jwks_get_at (jwks_t *jwks, size_t index)
 
jwk_tr_jwks_get_by_kid (jwks_t *jwks, const char *kid)
 
jwks_tr_jwks_copy (jwks_t *jwks)
 
int r_jwks_append_jwk (jwks_t *jwks, jwk_t *jwk)
 
int r_jwks_set_at (jwks_t *jwks, size_t index, jwk_t *jwk)
 
int r_jwks_remove_at (jwks_t *jwks, size_t index)
 
int r_jwks_empty (jwks_t *jwks)
 
int r_jwks_equal (jwks_t *jwks1, jwks_t *jwks2)
 
char * r_jwks_export_to_json_str (jwks_t *jwks, int pretty)
 
json_t * r_jwks_export_to_json_t (jwks_t *jwks)
 
gnutls_privkey_t * r_jwks_export_to_gnutls_privkey (jwks_t *jwks, size_t *len)
 
gnutls_pubkey_t * r_jwks_export_to_gnutls_pubkey (jwks_t *jwks, size_t *len, int x5u_flags)
 
int r_jwks_export_to_pem_der (jwks_t *jwks, int format, unsigned char *output, size_t *output_len, int x5u_flags)
 
int r_jwks_import_from_json_str (jwks_t *jwks, const char *input)
 
int r_jwks_import_from_json_t (jwks_t *jwks, json_t *j_input)
 
int r_jwks_import_from_uri (jwks_t *jwks, const char *uri, int x5u_flags)
 
jwks_tr_jwks_quick_import (rhn_import type,...)
 
jwks_tr_jwks_search_json_t (jwks_t *jwks, json_t *j_match)
 
jwks_tr_jwks_search_json_str (jwks_t *jwks, const char *str_match)
 

Function Documentation

◆ _r_get_http_content()

int _r_get_http_content ( const char *  url,
int  x5u_flags,
const char *  expected_content_type,
struct _o_datum *  datum 
)

Rhonabwy JSON Web Key Set (JWKS) library

jwks.c: functions definitions

Copyright 2020-2022 Nicolas Mora mail@.nosp@m.babe.nosp@m.loues.nosp@m.t.or.nosp@m.g

This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; version 2.1 of the License.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU GENERAL PUBLIC LICENSE for more details.

You should have received a copy of the GNU General Public License along with this library. If not, see http://www.gnu.org/licenses/.