72 #define APR_JOSE_JWA_HS256 "HS256" 79 #define APR_JOSE_JWA_HS384 "HS384" 86 #define APR_JOSE_JWA_HS512 "HS512" 93 #define APR_JOSE_JWA_RS256 "RS256" 100 #define APR_JOSE_JWA_RS384 "RS384" 107 #define APR_JOSE_JWA_RS512 "RS512" 114 #define APR_JOSE_JWA_ES256 "ES256" 121 #define APR_JOSE_JWA_ES384 "ES384" 128 #define APR_JOSE_JWA_ES512 "ES512" 135 #define APR_JOSE_JWA_PS256 "PS256" 142 #define APR_JOSE_JWA_PS384 "PS384" 149 #define APR_JOSE_JWA_PS512 "PS512" 156 #define APR_JOSE_JWA_NONE "none" 163 #define APR_JOSE_JWK_KEY_TYPE "kty" 170 #define APR_JOSE_JWK_PUBLIC_KEY_USE "use" 177 #define APR_JOSE_JWK_KEY_OPERATIONS "key_ops" 184 #define APR_JOSE_JWK_KEYS "keys" 193 #define APR_JOSE_JWKSE_ALGORITHM "alg" 200 #define APR_JOSE_JWE_ENCRYPTION "enc" 207 #define APR_JOSE_JWE_COMPRESSION "zip" 215 #define APR_JOSE_JWSE_JWK_SET_URL "jku" 223 #define APR_JOSE_JWSE_JWK "jwk" 231 #define APR_JOSE_JWKSE_KEYID "kid" 239 #define APR_JOSE_JWKSE_X509_URL "x5u" 247 #define APR_JOSE_JWKSE_X509_CHAIN "x5c" 255 #define APR_JOSE_JWKSE_X509_SHA1_THUMBPRINT "x5t" 264 #define APR_JOSE_JWKSE_X509_SHA256_THUMBPRINT "x5t#S256" 272 #define APR_JOSE_JWSE_TYPE "typ" 280 #define APR_JOSE_JWSE_CONTENT_TYPE "cty" 288 #define APR_JOSE_JWSE_CRITICAL "crit" 295 #define APR_JOSE_JWS_PAYLOAD "payload" 302 #define APR_JOSE_JWS_SIGNATURES "signatures" 310 #define APR_JOSE_JWSE_PROTECTED "protected" 318 #define APR_JOSE_JWSE_HEADER "header" 325 #define APR_JOSE_JWS_SIGNATURE "signature" 332 #define APR_JOSE_JWE_UNPROTECTED "unprotected" 339 #define APR_JOSE_JWE_CIPHERTEXT "ciphertext" 346 #define APR_JOSE_JWE_RECIPIENTS "recipients" 353 #define APR_JOSE_JWE_EKEY "encrypted_key" 360 #define APR_JOSE_JWE_IV "iv" 367 #define APR_JOSE_JWE_TAG "tag" 374 #define APR_JOSE_JWE_AAD "aad" 381 #define APR_JOSE_JWT_ISSUER "iss" 388 #define APR_JOSE_JWT_SUBJECT "sub" 395 #define APR_JOSE_JWT_AUDIENCE "aud" 402 #define APR_JOSE_JWT_EXPIRATION_TIME "exp" 409 #define APR_JOSE_JWT_NOT_BEFORE "nbf" 416 #define APR_JOSE_JWT_ISSUED_AT "iat" 423 #define APR_JOSE_JWT_ID "jti" 430 #define APR_JOSE_JWSE_TYPE_JWT "JWT" 435 #define APR_JOSE_FLAG_NONE 0 440 #define APR_JOSE_FLAG_DECODE_ALL 1 451 #define APR_JOSE_FLAG_BREAK 2 apr_jose_jwe_t * jwe
Definition: apr_jose.h:631
apr_pool_t * pool
Definition: apr_jose.h:617
Definition: apr_jose.h:499
apr_size_t len
Definition: apr_jose.h:493
apr_json_value_t * claims
Definition: apr_jose.h:609
apr_jose_json_t * json
Definition: apr_jose.h:635
struct apr_jose_jwk_t apr_jose_jwk_t
Definition: apr_jose.h:489
struct apr_jose_jwt_t apr_jose_jwt_t
struct apr_jose_json_t apr_jose_json_t
apr_status_t apr_status_t apr_jose_decode(apr_jose_t **jose, const char *typ, apr_bucket_brigade *brigade, apr_jose_cb_t *cb, int level, int flags, apr_pool_t *pool) __attribute__((nonnull(1
Definition: apr_jose.h:469
apr_jose_data_t aad
Definition: apr_jose.h:569
apr_bucket_brigade request_rec apr_pool_t * pool
Definition: mod_dav.h:555
apr_jose_encryption_t * encryption
Definition: apr_jose.h:599
struct apr_jose_data_t apr_jose_data_t
apr_jose_t * apr_jose_json_make(apr_jose_t *jose, const char *cty, apr_json_value_t *json, apr_pool_t *pool) __attribute__((nonnull(4)))
Definition: apr_jose.h:547
apr_jose_t * apr_jose_make(apr_jose_t *jose, apr_jose_type_e type, apr_pool_t *pool) __attribute__((nonnull(3)))
Definition: apr_jose.h:533
Definition: apr_jose.h:607
apr_size_t len
Definition: apr_jose.h:503
Definition: apr_jose.h:581
apr_jose_jwk_t * jwk
Definition: apr_jose.h:628
apr_json_value_t * protected_header
Definition: apr_jose.h:537
Definition: apr_jose.h:471
Definition: apr_jose.h:479
apr_jose_text_t * text
Definition: apr_jose.h:634
apr_jose_jwks_t * jwks
Definition: apr_jose.h:629
struct apr_jose_encryption_t apr_jose_encryption_t
apr_jose_t * payload
Definition: apr_jose.h:553
Definition: apr_buckets.h:258
apr_jose_t * apr_jose_jws_json_make(apr_jose_t *jose, apr_jose_signature_t *signature, apr_array_header_t *signatures, apr_jose_t *payload, apr_pool_t *pool) __attribute__((nonnull(5)))
Definition: apr_jose.h:642
struct apr_jose_jwks_t apr_jose_jwks_t
apr_jose_t * apr_jose_jwt_make(apr_jose_t *jose, apr_json_value_t *claims, apr_pool_t *pool) __attribute__((nonnull(3)))
apr_status_t apr_jose_encode(apr_bucket_brigade *brigade, apr_brigade_flush flush, void *ctx, apr_jose_t *jose, apr_jose_cb_t *cb, apr_pool_t *pool) __attribute__((nonnull(1
apr_status_t(* apr_brigade_flush)(apr_bucket_brigade *bb, void *ctx)
Definition: apr_buckets.h:282
Definition: apr_jose.h:593
apr_json_value_t * header
Definition: apr_jose.h:583
Definition: apr_jose.h:559
apr_jose_t * apr_jose_text_make(apr_jose_t *jose, const char *cty, const char *in, apr_size_t inlen, apr_pool_t *pool) __attribute__((nonnull(5)))
apr_json_value_t * json
Definition: apr_jose.h:511
apr_jose_data_t cipher
Definition: apr_jose.h:573
Definition: apr_jose.h:483
Definition: apr_jose.h:477
Definition: apr_jose.h:517
apr_jose_t * apr_jose_jwe_json_make(apr_jose_t *jose, apr_jose_recipient_t *recipient, apr_array_header_t *recipients, apr_jose_encryption_t *encryption, apr_jose_t *payload, apr_pool_t *pool) __attribute__((nonnull(6)))
struct apr_jose_cb_t apr_jose_cb_t
apr_bucket_brigade * bb
Definition: mod_dav.h:555
Definition: apr_json.h:123
Definition: apr_jose.h:467
apr_status_t status
Definition: apr_jose.h:541
const char * cty
Definition: apr_jose.h:621
apr_jose_jwt_t * jwt
Definition: apr_jose.h:632
apr_json_value_t * keys
Definition: apr_jose.h:527
Definition: apr_jose.h:463
apr_array_header_t * recipients
Definition: apr_jose.h:597
apr_jose_t * apr_jose_jwks_make(apr_jose_t *jose, apr_json_value_t *keys, apr_pool_t *pool) __attribute__((nonnull(3)))
apr_jose_signature_t * signature
Definition: apr_jose.h:549
void * ctx
Definition: apr_jose.h:908
apr_jose_data_t iv
Definition: apr_jose.h:567
struct apr_jose_jws_t apr_jose_jws_t
const char * text
Definition: apr_jose.h:501
Definition: apr_jose.h:481
apr_jose_recipient_t * apr_jose_recipient_make(apr_jose_recipient_t *recipient, apr_json_value_t *unprotected, apr_pool_t *pool) __attribute__((nonnull(3)))
APR-UTIL Buckets/Bucket Brigades.
apr_jose_data_t * data
Definition: apr_jose.h:633
apr_jose_t * apr_jose_jwk_make(apr_jose_t *jose, apr_json_value_t *key, apr_pool_t *pool) __attribute__((nonnull(3)))
struct apr_jose_text_t apr_jose_text_t
APR Platform Definitions.
const unsigned char * data
Definition: apr_jose.h:491
Definition: apr_jose.h:475
apu_err_t * apr_jose_error(apr_jose_t *jose) __attribute__((nonnull(1)))
Get the result of the last operation on the jose. If the result is NULL, the operation was successful...
apu_err_t result
Definition: apr_jose.h:623
apr_json_value_t * key
Definition: apr_jose.h:519
Definition: apr_jose.h:615
apr_json_value_t * header
Definition: apr_jose.h:535
apr_jose_jws_t * jws
Definition: apr_jose.h:630
struct apr_jose_recipient_t apr_jose_recipient_t
apr_jose_t * apr_jose_data_make(apr_jose_t *jose, const char *typ, const unsigned char *in, apr_size_t inlen, apr_pool_t *pool) __attribute__((nonnull(5)))
#define APR_DECLARE(x)
Definition: macros.h:6
apr_jose_t * apr_jose_jwe_make(apr_jose_t *jose, apr_jose_recipient_t *recipient, apr_array_header_t *recipients, apr_jose_encryption_t *encryption, apr_jose_t *payload, apr_pool_t *pool) __attribute__((nonnull(6)))
apr_status_t status
Definition: apr_jose.h:587
apr_jose_signature_t * apr_jose_signature_make(apr_jose_signature_t *signature, apr_json_value_t *header, apr_json_value_t *protected, apr_pool_t *pool) __attribute__((nonnull(4)))
Definition: apr_jose.h:473
struct apr_jose_signature_t apr_jose_signature_t
Definition: apu_errno.h:169
Definition: apr_jose.h:525
struct apr_pool_t apr_pool_t
Definition: apr_pools.h:60
int apr_status_t
Definition: apr_errno.h:44
apr_json_value_t * unprotected
Definition: apr_jose.h:561
apr_jose_data_t tag
Definition: apr_jose.h:575
apr_jose_encryption_t * apr_jose_encryption_make(apr_jose_encryption_t *encryption, apr_json_value_t *unprotected, apr_json_value_t *protected, apr_pool_t *pool) __attribute__((nonnull(4)))
apr_jose_data_t sig
Definition: apr_jose.h:539
const char * typ
Definition: apr_jose.h:619
apr_jose_recipient_t * recipient
Definition: apr_jose.h:595
apr_jose_data_t ekey
Definition: apr_jose.h:585
apr_jose_type_e
Definition: apr_jose.h:461
apr_array_header_t * signatures
Definition: apr_jose.h:551
dav_resource int dav_locktoken dav_response int flags
Definition: mod_dav.h:1452
Definition: apr_jose.h:465
apr_jose_t * payload
Definition: apr_jose.h:601
apr_jose_text_t aad64
Definition: apr_jose.h:571
Definition: apr_jose.h:509
apr_jose_text_t protected64
Definition: apr_jose.h:565
apr_jose_t * apr_jose_jws_make(apr_jose_t *jose, apr_jose_signature_t *signature, apr_array_header_t *signatures, apr_jose_t *payload, apr_pool_t *pool) __attribute__((nonnull(5)))
struct apr_jose_jwe_t apr_jose_jwe_t
apr_jose_type_e type
Definition: apr_jose.h:625