From 6a2c4b21965410a796fc27c5fb06744ce5296418 Mon Sep 17 00:00:00 2001 From: babelouest Date: Mon, 20 Jul 2020 20:26:09 -0400 Subject: [PATCH] Fix test to handle GnuTLS 3.6.7 and Rhonabwy 0.9.12 --- test/glewlwyd_oidc_discovery.c | 4 +++- test/glewlwyd_oidc_jwks_config.c | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/test/glewlwyd_oidc_discovery.c b/test/glewlwyd_oidc_discovery.c index ba185a18d..b977ce5f2 100644 --- a/test/glewlwyd_oidc_discovery.c +++ b/test/glewlwyd_oidc_discovery.c @@ -189,7 +189,9 @@ END_TEST START_TEST(test_oidc_discovery_new_plugin_test) { -#if GNUTLS_VERSION_NUMBER >= 0x030600 +#if GNUTLS_VERSION_NUMBER >= 0x03060e + json_t * j_result = json_loads("{\"issuer\":\"https://glewlwyd.tld\",\"authorization_endpoint\":\"http://localhost:4593/api/oidc_claims/auth\",\"token_endpoint\":\"http://localhost:4593/api/oidc_claims/token\",\"userinfo_endpoint\":\"http://localhost:4593/api/oidc_claims/userinfo\",\"jwks_uri\":\"http://localhost:4593/api/oidc_claims/jwks\",\"token_endpoint_auth_methods_supported\":[\"client_secret_basic\",\"client_secret_post\",\"client_secret_jwt\",\"private_key_jwt\"],\"id_token_signing_alg_values_supported\":[\"RS256\"],\"userinfo_signing_alg_values_supported\":[\"RS256\"],\"userinfo_encryption_alg_values_supported\":[\"RSA1_5\",\"A128KW\",\"A256KW\",\"dir\",\"A192KW\"],\"userinfo_encryption_enc_values_supported\":[\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\",\"A128GCM\",\"A256GCM\",\"A192GCM\"],\"request_object_signing_alg_values_supported\":[\"none\",\"HS256\",\"HS384\",\"HS512\",\"RS256\",\"RS384\",\"RS512\",\"ES256\",\"ES384\",\"ES512\",\"EdDSA\",\"PS256\",\"PS384\",\"PS512\"],\"request_object_encryption_alg_values_supported\":[\"RSA1_5\",\"A128KW\",\"A256KW\",\"dir\",\"A192KW\"],\"request_object_encryption_enc_values_supported\":[\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\",\"A128GCM\",\"A256GCM\",\"A192GCM\"],\"token_endpoint_auth_signing_alg_values_supported\":[\"HS256\",\"HS384\",\"HS512\",\"RS256\",\"RS384\",\"RS512\",\"ES256\",\"ES384\",\"ES512\",\"EdDSA\",\"PS256\",\"PS384\",\"PS512\"],\"scopes_supported\":[\"openid\",\"g_profile\",\"scope1\",\"scope2\"],\"response_types_supported\":[\"code\",\"id_token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"none\",\"refresh_token\"],\"response_modes_supported\":[\"query\",\"fragment\",\"form_post\"],\"grant_types_supported\":[\"authorization_code\",\"implicit\",\"urn:ietf:params:oauth:grant-type:device_code\"],\"display_values_supported\":[\"page\",\"popup\",\"touch\",\"wap\"],\"claim_types_supported\":[\"normal\"],\"claims_parameter_supported\":true,\"claims_supported\":[\"claim1\",\"claim2\",\"name\",\"email\",\"address\"],\"ui_locales_supported\":[\"en\",\"fr\",\"nl\"],\"request_parameter_supported\":true,\"request_uri_parameter_supported\":true,\"require_request_uri_registration\":false,\"subject_types_supported\":[\"pairwise\"],\"code_challenge_methods_supported\":[\"S256\",\"plain\"],\"revocation_endpoint\":\"http://localhost:4593/api/oidc_claims/revoke\",\"introspection_endpoint\":\"http://localhost:4593/api/oidc_claims/introspect\",\"revocation_endpoint_auth_methods_supported\":[\"client_secret_basic\",\"bearer\"],\"introspection_endpoint_auth_methods_supported\":[\"client_secret_basic\",\"bearer\"],\"registration_endpoint\":\"http://localhost:4593/api/oidc_claims/register\",\"end_session_endpoint\":\"http://localhost:4593/api/oidc_claims/end_session\",\"check_session_iframe\":\"http://localhost:4593/api/oidc_claims/check_session_iframe\",\"introspection_endpoint_signing_alg_values_supported\":[\"RS256\"],\"introspection_endpoint_encryption_alg_values_supported\":[\"RSA1_5\",\"A128KW\",\"A256KW\",\"dir\",\"A192KW\"],\"introspection_endpoint_encryption_enc_values_supported\":[\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\",\"A128GCM\",\"A256GCM\",\"A192GCM\"],\"device_authorization_endpoint\":\"http://localhost:4593/api/oidc_claims/device_authorization\",\"mtls_endpoint_aliases\":{\"token_endpoint\":\"http://localhost:4593/api/oidc_claims/mtls/token\",\"device_authorization_endpoint\":\"http://localhost:4593/api/oidc_claims/mtls/device_authorization\",\"revocation_endpoint\":\"http://localhost:4593/api/oidc_claims/mtls/revoke\",\"introspection_endpoint\":\"http://localhost:4593/api/oidc_claims/mtls/introspect\"}}", JSON_DECODE_ANY, NULL), +#elif GNUTLS_VERSION_NUMBER >= 0x030600 json_t * j_result = json_loads("{\"issuer\":\"https://glewlwyd.tld\",\"authorization_endpoint\":\"http://localhost:4593/api/oidc_claims/auth\",\"token_endpoint\":\"http://localhost:4593/api/oidc_claims/token\",\"userinfo_endpoint\":\"http://localhost:4593/api/oidc_claims/userinfo\",\"jwks_uri\":\"http://localhost:4593/api/oidc_claims/jwks\",\"token_endpoint_auth_methods_supported\":[\"client_secret_basic\",\"client_secret_post\",\"client_secret_jwt\",\"private_key_jwt\"],\"id_token_signing_alg_values_supported\":[\"RS256\"],\"userinfo_signing_alg_values_supported\":[\"RS256\"],\"userinfo_encryption_alg_values_supported\":[\"RSA1_5\",\"A128KW\",\"A256KW\",\"dir\"],\"userinfo_encryption_enc_values_supported\":[\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\",\"A128GCM\",\"A256GCM\"],\"request_object_signing_alg_values_supported\":[\"none\",\"HS256\",\"HS384\",\"HS512\",\"RS256\",\"RS384\",\"RS512\",\"ES256\",\"ES384\",\"ES512\",\"EdDSA\",\"PS256\",\"PS384\",\"PS512\"],\"request_object_encryption_alg_values_supported\":[\"RSA1_5\",\"A128KW\",\"A256KW\",\"dir\"],\"request_object_encryption_enc_values_supported\":[\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\",\"A128GCM\",\"A256GCM\"],\"token_endpoint_auth_signing_alg_values_supported\":[\"HS256\",\"HS384\",\"HS512\",\"RS256\",\"RS384\",\"RS512\",\"ES256\",\"ES384\",\"ES512\",\"EdDSA\",\"PS256\",\"PS384\",\"PS512\"],\"scopes_supported\":[\"openid\",\"g_profile\",\"scope1\",\"scope2\"],\"response_types_supported\":[\"code\",\"id_token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"none\",\"refresh_token\"],\"response_modes_supported\":[\"query\",\"fragment\",\"form_post\"],\"grant_types_supported\":[\"authorization_code\",\"implicit\",\"urn:ietf:params:oauth:grant-type:device_code\"],\"display_values_supported\":[\"page\",\"popup\",\"touch\",\"wap\"],\"claim_types_supported\":[\"normal\"],\"claims_parameter_supported\":true,\"claims_supported\":[\"claim1\",\"claim2\",\"name\",\"email\",\"address\"],\"ui_locales_supported\":[\"en\",\"fr\",\"nl\"],\"request_parameter_supported\":true,\"request_uri_parameter_supported\":true,\"require_request_uri_registration\":false,\"subject_types_supported\":[\"pairwise\"],\"code_challenge_methods_supported\":[\"S256\",\"plain\"],\"revocation_endpoint\":\"http://localhost:4593/api/oidc_claims/revoke\",\"introspection_endpoint\":\"http://localhost:4593/api/oidc_claims/introspect\",\"revocation_endpoint_auth_methods_supported\":[\"client_secret_basic\",\"bearer\"],\"introspection_endpoint_auth_methods_supported\":[\"client_secret_basic\",\"bearer\"],\"registration_endpoint\":\"http://localhost:4593/api/oidc_claims/register\",\"end_session_endpoint\":\"http://localhost:4593/api/oidc_claims/end_session\",\"check_session_iframe\":\"http://localhost:4593/api/oidc_claims/check_session_iframe\",\"introspection_endpoint_signing_alg_values_supported\":[\"RS256\"],\"introspection_endpoint_encryption_alg_values_supported\":[\"RSA1_5\",\"A128KW\",\"A256KW\",\"dir\"],\"introspection_endpoint_encryption_enc_values_supported\":[\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\",\"A128GCM\",\"A256GCM\"],\"device_authorization_endpoint\":\"http://localhost:4593/api/oidc_claims/device_authorization\",\"mtls_endpoint_aliases\":{\"token_endpoint\":\"http://localhost:4593/api/oidc_claims/mtls/token\",\"device_authorization_endpoint\":\"http://localhost:4593/api/oidc_claims/mtls/device_authorization\",\"revocation_endpoint\":\"http://localhost:4593/api/oidc_claims/mtls/revoke\",\"introspection_endpoint\":\"http://localhost:4593/api/oidc_claims/mtls/introspect\"}}", JSON_DECODE_ANY, NULL), #else json_t * j_result = json_loads("{\"issuer\":\"https://glewlwyd.tld\",\"authorization_endpoint\":\"http://localhost:4593/api/oidc_claims/auth\",\"token_endpoint\":\"http://localhost:4593/api/oidc_claims/token\",\"userinfo_endpoint\":\"http://localhost:4593/api/oidc_claims/userinfo\",\"jwks_uri\":\"http://localhost:4593/api/oidc_claims/jwks\",\"token_endpoint_auth_methods_supported\":[\"client_secret_basic\",\"client_secret_post\",\"client_secret_jwt\",\"private_key_jwt\"],\"id_token_signing_alg_values_supported\":[\"RS256\"],\"userinfo_signing_alg_values_supported\":[\"RS256\"],\"userinfo_encryption_alg_values_supported\":[\"RSA1_5\",\"A128KW\",\"A256KW\",\"dir\"],\"userinfo_encryption_enc_values_supported\":[\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\",\"A128GCM\",\"A256GCM\"],\"request_object_signing_alg_values_supported\":[\"none\",\"HS256\",\"HS384\",\"HS512\",\"RS256\",\"RS384\",\"RS512\"],\"request_object_encryption_alg_values_supported\":[\"RSA1_5\",\"A128KW\",\"A256KW\",\"dir\"],\"request_object_encryption_enc_values_supported\":[\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\",\"A128GCM\",\"A256GCM\"],\"token_endpoint_auth_signing_alg_values_supported\":[\"HS256\",\"HS384\",\"HS512\",\"RS256\",\"RS384\",\"RS512\"],\"scopes_supported\":[\"openid\",\"g_profile\",\"scope1\",\"scope2\"],\"response_types_supported\":[\"code\",\"id_token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"none\",\"refresh_token\"],\"response_modes_supported\":[\"query\",\"fragment\",\"form_post\"],\"grant_types_supported\":[\"authorization_code\",\"implicit\",\"urn:ietf:params:oauth:grant-type:device_code\"],\"display_values_supported\":[\"page\",\"popup\",\"touch\",\"wap\"],\"claim_types_supported\":[\"normal\"],\"claims_parameter_supported\":true,\"claims_supported\":[\"claim1\",\"claim2\",\"name\",\"email\",\"address\"],\"ui_locales_supported\":[\"en\",\"fr\",\"nl\"],\"request_parameter_supported\":true,\"request_uri_parameter_supported\":true,\"require_request_uri_registration\":false,\"subject_types_supported\":[\"pairwise\"],\"code_challenge_methods_supported\":[\"S256\",\"plain\"],\"revocation_endpoint\":\"http://localhost:4593/api/oidc_claims/revoke\",\"introspection_endpoint\":\"http://localhost:4593/api/oidc_claims/introspect\",\"revocation_endpoint_auth_methods_supported\":[\"client_secret_basic\",\"bearer\"],\"introspection_endpoint_auth_methods_supported\":[\"client_secret_basic\",\"bearer\"],\"registration_endpoint\":\"http://localhost:4593/api/oidc_claims/register\",\"end_session_endpoint\":\"http://localhost:4593/api/oidc_claims/end_session\",\"check_session_iframe\":\"http://localhost:4593/api/oidc_claims/check_session_iframe\",\"introspection_endpoint_signing_alg_values_supported\":[\"RS256\"],\"introspection_endpoint_encryption_alg_values_supported\":[\"RSA1_5\",\"A128KW\",\"A256KW\",\"dir\"],\"introspection_endpoint_encryption_enc_values_supported\":[\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\",\"A128GCM\",\"A256GCM\"],\"device_authorization_endpoint\":\"http://localhost:4593/api/oidc_claims/device_authorization\",\"mtls_endpoint_aliases\":{\"token_endpoint\":\"http://localhost:4593/api/oidc_claims/mtls/token\",\"device_authorization_endpoint\":\"http://localhost:4593/api/oidc_claims/mtls/device_authorization\",\"revocation_endpoint\":\"http://localhost:4593/api/oidc_claims/mtls/revoke\",\"introspection_endpoint\":\"http://localhost:4593/api/oidc_claims/mtls/introspect\"}}", JSON_DECODE_ANY, NULL), diff --git a/test/glewlwyd_oidc_jwks_config.c b/test/glewlwyd_oidc_jwks_config.c index a0cf371be..b66c15b0d 100644 --- a/test/glewlwyd_oidc_jwks_config.c +++ b/test/glewlwyd_oidc_jwks_config.c @@ -884,7 +884,10 @@ END_TEST START_TEST(test_oidc_jwks_discovery_valid) { -#if GNUTLS_VERSION_NUMBER >= 0x030600 +#if GNUTLS_VERSION_NUMBER >= 0x03060e + json_t * j_result = json_loads("{\"issuer\":\"https://glewlwyd.tld\",\"authorization_endpoint\":\"http://localhost:4593/api/oidc_jwks/auth\",\"token_endpoint\":\"http://localhost:4593/api/oidc_jwks/token\",\"userinfo_endpoint\":\"http://localhost:4593/api/oidc_jwks/userinfo\",\"jwks_uri\":\"http://localhost:4593/api/oidc_jwks/jwks\",\"token_endpoint_auth_methods_supported\":[\"client_secret_basic\",\"client_secret_post\",\"client_secret_jwt\",\"private_key_jwt\"],\"id_token_signing_alg_values_supported\":[\"RS256\",\"PS512\",\"ES384\",\"HS256\"],\"userinfo_signing_alg_values_supported\":[\"RS256\",\"PS512\",\"ES384\",\"HS256\"],\"userinfo_encryption_alg_values_supported\":[\"RSA1_5\",\"A128KW\",\"A256KW\",\"dir\",\"A192KW\"],\"userinfo_encryption_enc_values_supported\":[\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\",\"A128GCM\",\"A256GCM\",\"A192GCM\"],\"request_object_signing_alg_values_supported\":[\"none\",\"HS256\",\"HS384\",\"HS512\",\"RS256\",\"RS384\",\"RS512\",\"ES256\",\"ES384\",\"ES512\",\"EdDSA\",\"PS256\",\"PS384\",\"PS512\"],\"request_object_encryption_alg_values_supported\":[\"RSA1_5\",\"A128KW\",\"A256KW\",\"dir\",\"A192KW\"],\"request_object_encryption_enc_values_supported\":[\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\",\"A128GCM\",\"A256GCM\",\"A192GCM\"],\"token_endpoint_auth_signing_alg_values_supported\":[\"HS256\",\"HS384\",\"HS512\",\"RS256\",\"RS384\",\"RS512\",\"ES256\",\"ES384\",\"ES512\",\"EdDSA\",\"PS256\",\"PS384\",\"PS512\"],\"scopes_supported\":[\"openid\"],\"response_types_supported\":[\"code\",\"id_token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"password\",\"token\",\"client_credentials\",\"refresh_token\"],\"response_modes_supported\":[\"query\",\"fragment\",\"form_post\"],\"grant_types_supported\":[\"authorization_code\",\"implicit\"],\"display_values_supported\":[\"page\",\"popup\",\"touch\",\"wap\"],\"claim_types_supported\":[\"normal\"],\"claims_parameter_supported\":true,\"claims_supported\":[],\"ui_locales_supported\":[\"en\",\"fr\",\"nl\"],\"request_parameter_supported\":true,\"request_uri_parameter_supported\":true,\"require_request_uri_registration\":false,\"subject_types_supported\":[\"public\"]}", JSON_DECODE_ANY, NULL), + * j_key = json_loads("{\"keys\":[{\"kty\":\"RSA\",\"n\":\"AOidO2hPJFDK-jHdQ6p-SDGNAS3SbTCq1DN7Yv4kmClva5FtgLFIG8VG0hvn8RKN2kpqmNOa30KsOlYW9GqUCy6esFn0yqyNC_01IVY67qPIU5SRbCD88UXSfqsnhNsFgwU76OmpamqBGXUenZRrewNleNfYLJ6fNQO5n1rOa_UCcOaFqNLjjAcS9Z6e6h4Edlhz6ecYEVW6ZYFODRNmyq_Pf0nZGgUjKXuAzEb8GdhiO99TcsLoc7RxTbfsvqLGofPXhY5EfWksNyeqJtINUEtMC78nADM6J_jFyeqBE3Tsqk1M6aQFo-8xy8kQ_bT7pdL9xh9w1UZ_kFg5pBMsaPk\",\"e\":\"AQAB\",\"kid\":\"key-1\"},{\"kty\":\"RSA\",\"n\":\"AMZGRVyWHvHCkbGpGF6xdhKSjYwX1q5xtS-9_rATkpGyp5f-vCl9uUgdD0CZZIuuEvWsRvp1zt-JZVS9GrnoWBLZXzafHKO4pADMPPGlzaBsEmp4E5S7t6c4LGMgXExDoBs8jbp3TwbUeiyIsHyQzlY5pfg8_2Stp-PtoOWBVpWvhp1uxVuvvIp5TfHK3q2q3Iziggvja-p_cLji95AAXOLBEfaRklMLPM0aMm996-dX7Yq-cUO5ptCBEoRBcPlEJjFP9ZY_Hb0_3W8BIpkvf_zTcGsgIrcx17mIp9yRQcQ9pQNSa5kpk3nfv2BZ6tJHu8KfKsA3WesYOkMM_6VoFRk\",\"e\":\"AQAB\",\"kid\":\"key-2\"},{\"kty\":\"EC\",\"x\":\"AJ6TXabOS7Blc_BNQVqQgp1nEwmatr8g9_HlPaoP4MPe\",\"y\":\"ALbKJWr4c4tksiv2IMWbfq09gghvuaR1pO2S_QjjXUtZ\",\"crv\":\"P-256\",\"kid\":\"key-3\"}]}", JSON_DECODE_ANY, NULL); +#elif GNUTLS_VERSION_NUMBER >= 0x030600 json_t * j_result = json_loads("{\"issuer\":\"https://glewlwyd.tld\",\"authorization_endpoint\":\"http://localhost:4593/api/oidc_jwks/auth\",\"token_endpoint\":\"http://localhost:4593/api/oidc_jwks/token\",\"userinfo_endpoint\":\"http://localhost:4593/api/oidc_jwks/userinfo\",\"jwks_uri\":\"http://localhost:4593/api/oidc_jwks/jwks\",\"token_endpoint_auth_methods_supported\":[\"client_secret_basic\",\"client_secret_post\",\"client_secret_jwt\",\"private_key_jwt\"],\"id_token_signing_alg_values_supported\":[\"RS256\",\"PS512\",\"ES384\",\"HS256\"],\"userinfo_signing_alg_values_supported\":[\"RS256\",\"PS512\",\"ES384\",\"HS256\"],\"userinfo_encryption_alg_values_supported\":[\"RSA1_5\",\"A128KW\",\"A256KW\",\"dir\"],\"userinfo_encryption_enc_values_supported\":[\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\",\"A128GCM\",\"A256GCM\"],\"request_object_signing_alg_values_supported\":[\"none\",\"HS256\",\"HS384\",\"HS512\",\"RS256\",\"RS384\",\"RS512\",\"ES256\",\"ES384\",\"ES512\",\"EdDSA\",\"PS256\",\"PS384\",\"PS512\"],\"request_object_encryption_alg_values_supported\":[\"RSA1_5\",\"A128KW\",\"A256KW\",\"dir\"],\"request_object_encryption_enc_values_supported\":[\"A128CBC-HS256\",\"A192CBC-HS384\",\"A256CBC-HS512\",\"A128GCM\",\"A256GCM\"],\"token_endpoint_auth_signing_alg_values_supported\":[\"HS256\",\"HS384\",\"HS512\",\"RS256\",\"RS384\",\"RS512\",\"ES256\",\"ES384\",\"ES512\",\"EdDSA\",\"PS256\",\"PS384\",\"PS512\"],\"scopes_supported\":[\"openid\"],\"response_types_supported\":[\"code\",\"id_token\",\"token id_token\",\"code id_token\",\"code token id_token\",\"password\",\"token\",\"client_credentials\",\"refresh_token\"],\"response_modes_supported\":[\"query\",\"fragment\",\"form_post\"],\"grant_types_supported\":[\"authorization_code\",\"implicit\"],\"display_values_supported\":[\"page\",\"popup\",\"touch\",\"wap\"],\"claim_types_supported\":[\"normal\"],\"claims_parameter_supported\":true,\"claims_supported\":[],\"ui_locales_supported\":[\"en\",\"fr\",\"nl\"],\"request_parameter_supported\":true,\"request_uri_parameter_supported\":true,\"require_request_uri_registration\":false,\"subject_types_supported\":[\"public\"]}", JSON_DECODE_ANY, NULL), * j_key = json_loads("{\"keys\":[{\"kty\":\"RSA\",\"n\":\"AOidO2hPJFDK-jHdQ6p-SDGNAS3SbTCq1DN7Yv4kmClva5FtgLFIG8VG0hvn8RKN2kpqmNOa30KsOlYW9GqUCy6esFn0yqyNC_01IVY67qPIU5SRbCD88UXSfqsnhNsFgwU76OmpamqBGXUenZRrewNleNfYLJ6fNQO5n1rOa_UCcOaFqNLjjAcS9Z6e6h4Edlhz6ecYEVW6ZYFODRNmyq_Pf0nZGgUjKXuAzEb8GdhiO99TcsLoc7RxTbfsvqLGofPXhY5EfWksNyeqJtINUEtMC78nADM6J_jFyeqBE3Tsqk1M6aQFo-8xy8kQ_bT7pdL9xh9w1UZ_kFg5pBMsaPk\",\"e\":\"AQAB\",\"kid\":\"key-1\"},{\"kty\":\"RSA\",\"n\":\"AMZGRVyWHvHCkbGpGF6xdhKSjYwX1q5xtS-9_rATkpGyp5f-vCl9uUgdD0CZZIuuEvWsRvp1zt-JZVS9GrnoWBLZXzafHKO4pADMPPGlzaBsEmp4E5S7t6c4LGMgXExDoBs8jbp3TwbUeiyIsHyQzlY5pfg8_2Stp-PtoOWBVpWvhp1uxVuvvIp5TfHK3q2q3Iziggvja-p_cLji95AAXOLBEfaRklMLPM0aMm996-dX7Yq-cUO5ptCBEoRBcPlEJjFP9ZY_Hb0_3W8BIpkvf_zTcGsgIrcx17mIp9yRQcQ9pQNSa5kpk3nfv2BZ6tJHu8KfKsA3WesYOkMM_6VoFRk\",\"e\":\"AQAB\",\"kid\":\"key-2\"},{\"kty\":\"EC\",\"x\":\"AJ6TXabOS7Blc_BNQVqQgp1nEwmatr8g9_HlPaoP4MPe\",\"y\":\"ALbKJWr4c4tksiv2IMWbfq09gghvuaR1pO2S_QjjXUtZ\",\"crv\":\"P-256\",\"kid\":\"key-3\"}]}", JSON_DECODE_ANY, NULL); #else