From b916c64030bda9c185f9dfca78a491f4b3e11b41 Mon Sep 17 00:00:00 2001 From: peppelinux Date: Sun, 30 Jul 2023 12:35:15 +0200 Subject: [PATCH 01/53] fix: JWK and JWT encryption ops and kid resolution --- example/satosa/pyeudiw_backend.yaml | 28 +++++--- pyeudiw/jwk/__init__.py | 1 + pyeudiw/jwt/__init__.py | 39 +++++++---- pyeudiw/satosa/backend.py | 35 +++++++--- .../tests/{tools => oauth2}/test_sd_jwt.py | 0 pyeudiw/tests/satosa/test_backend.py | 69 +++++++++++-------- pyeudiw/tests/{tools => }/test_jwk.py | 0 pyeudiw/tests/{tools => }/test_jwt.py | 12 ++-- pyeudiw/tools/utils.py | 7 +- setup.py | 4 ++ 10 files changed, 124 insertions(+), 71 deletions(-) rename pyeudiw/tests/{tools => oauth2}/test_sd_jwt.py (100%) rename pyeudiw/tests/{tools => }/test_jwk.py (100%) rename pyeudiw/tests/{tools => }/test_jwt.py (86%) diff --git a/example/satosa/pyeudiw_backend.yaml b/example/satosa/pyeudiw_backend.yaml index 78fbeae7..f8df8292 100644 --- a/example/satosa/pyeudiw_backend.yaml +++ b/example/satosa/pyeudiw_backend.yaml @@ -16,16 +16,16 @@ config: request: '//request_uri' entity_configuration: '//.well-known/openid-federation' - qrcode_settings: + qrcode: size: 100 color: '#2B4375' logo_path: use_zlib: false - jwt_settings: + jwt: default_sig_alg: ES256 # or RS256 default_exp: 6 # minutes - + authorization: url_scheme: "eudiw" # eudiw:// scopes: @@ -52,12 +52,22 @@ config: # private jwk metadata_jwks: - - crv: P-256 - d: KzQBowMMoPmSZe7G8QsdEWc1IvR2nsgE8qTOYmMcLtc - kid: dDwPWXz5sCtczj7CJbqgPGJ2qQ83gZ9Sfs-tJyULi6s - kty: EC - x: TSO-KOqdnUj5SUuasdlRB2VVFSqtJOxuR5GftUTuBdk - y: ByWgQt1wGBSnF56jQqLdoO1xKUynMY-BHIDB3eXlR7 + - crv: P-256 + d: KzQBowMMoPmSZe7G8QsdEWc1IvR2nsgE8qTOYmMcLtc + kid: dDwPWXz5sCtczj7CJbqgPGJ2qQ83gZ9Sfs-tJyULi6s + use: sig + kty: EC + x: TSO-KOqdnUj5SUuasdlRB2VVFSqtJOxuR5GftUTuBdk + y: ByWgQt1wGBSnF56jQqLdoO1xKUynMY-BHIDB3eXlR7 + - kty: RSA + d: QUZsh1NqvpueootsdSjFQz-BUvxwd3Qnzm5qNb-WeOsvt3rWMEv0Q8CZrla2tndHTJhwioo1U4NuQey7znijhZ177bUwPPxSW1r68dEnL2U74nKwwoYeeMdEXnUfZSPxzs7nY6b7vtyCoA-AjiVYFOlgKNAItspv1HxeyGCLhLYhKvS_YoTdAeLuegETU5D6K1xGQIuw0nS13Icjz79Y8jC10TX4FdZwdX-NmuIEDP5-s95V9DMENtVqJAVE3L-wO-NdDilyjyOmAbntgsCzYVGH9U3W_djh4t3qVFCv3r0S-DA2FD3THvlrFi655L0QHR3gu_Fbj3b9Ybtajpue_Q + e: AQAB + use: enc + kid: 9Cquk0X-fNPSdePQIgQcQZtD6J0IjIRrFigW2PPK_-w + n: utqtxbs-jnK0cPsV7aRkkZKA9t4S-WSZa3nCZtYIKDpgLnR_qcpeF0diJZvKOqXmj2cXaKFUE-8uHKAHo7BL7T-Rj2x3vGESh7SG1pE0thDGlXj4yNsg0qNvCXtk703L2H3i1UXwx6nq1uFxD2EcOE4a6qDYBI16Zl71TUZktJwmOejoHl16CPWqDLGo9GUSk_MmHOV20m4wXWkB4qbvpWVY8H6b2a0rB1B1YPOs5ZLYarSYZgjDEg6DMtZ4NgiwZ-4N1aaLwyO-GLwt9Vf-NBKwoxeRyD3zWE2FXRFBbhKGksMrCGnFDsNl5JTlPjaM3kYyImE941ggcuc495m-Fw + p: 2zmGXIMCEHPphw778YjVTar1eycih6fFSJ4I4bl1iq167GqO0PjlOx6CZ1-OdBTVU7HfrYRiUK_BnGRdPDn-DQghwwkB79ZdHWL14wXnpB5y-boHz_LxvjsEqXtuQYcIkidOGaMG68XNT1nM4F9a8UKFr5hHYT5_UIQSwsxlRQ0 + q: 2jMFt2iFrdaYabdXuB4QMboVjPvbLA-IVb6_0hSG_-EueGBvgcBxdFGIZaG6kqHqlB7qMsSzdptU0vn6IgmCZnX-Hlt6c5X7JB_q91PZMLTO01pbZ2Bk58GloalCHnw_mjPh0YPviH5jGoWM5RHyl_HDDMI-UeLkzP7ImxGizrM + # Mongodb database configuration mongo_db_settings: diff --git a/pyeudiw/jwk/__init__.py b/pyeudiw/jwk/__init__.py index 9dedaeea..27674365 100644 --- a/pyeudiw/jwk/__init__.py +++ b/pyeudiw/jwk/__init__.py @@ -30,6 +30,7 @@ def __init__( if key: if isinstance(key, dict): self.key = key_from_jwk_dict(key) + key_type = key.get('kty', key_type) else: self.key = key else: diff --git a/pyeudiw/jwt/__init__.py b/pyeudiw/jwt/__init__.py index 203ca80b..e3ffb184 100644 --- a/pyeudiw/jwt/__init__.py +++ b/pyeudiw/jwt/__init__.py @@ -21,9 +21,20 @@ "EC": "ES256" } -DEFAULT_JWS_ALG = "ES256" -DEFAULT_JWE_ALG = "RSA-OAEP" -DEFAULT_JWE_ENC = "A256CBC-HS512" +DEFAUL_SIG_ALG_MAP = { + "RSA": "RS256", + "EC": "ES256" +} + +DEFAUL_ENC_ALG_MAP = { + "RSA": "RSA-OAEP", + "EC": "ECDH-ES+A256KW" +} + +DEFAUL_ENC_ENC_MAP = { + "RSA": "A256CBC-HS512", + "EC": "A256GCM" +} class JWEHelper(): @@ -48,27 +59,31 @@ def encrypt(self, plain_dict: Union[dict, str, int, None], **kwargs) -> str: _payload = plain_dict else: _payload = "" - + _keyobj = JWE_CLASS( _payload, - alg=DEFAULT_JWE_ALG, - enc=DEFAULT_JWE_ENC, + alg=DEFAUL_ENC_ALG_MAP[_key.kty], + enc=DEFAUL_ENC_ENC_MAP[_key.kty], kid=_key.kid, **kwargs ) - - return _keyobj.encrypt(_key.public_key()) - + + if _key.kty== 'EC': + # TODO - TypeError: key must be bytes-like + return _keyobj.encrypt(cek = _key.public_key()) + else: + return _keyobj.encrypt(key = _key.public_key()) + def decrypt(self, jwe: str) -> dict: try: jwe_header = unpad_jwt_header(jwe) except (binascii.Error, Exception) as e: raise VerificationError("The JWT is not valid") - _alg = jwe_header.get("alg", DEFAULT_JWE_ALG) - _enc = jwe_header.get("enc", DEFAULT_JWE_ENC) + _alg = jwe_header.get("alg") + _enc = jwe_header.get("enc") jwe_header.get("kid") - + _decryptor = factory(jwe, alg=_alg, enc=_enc) _dkey = key_from_jwk_dict(self.jwk.as_dict()) diff --git a/pyeudiw/satosa/backend.py b/pyeudiw/satosa/backend.py index 78403856..d998bd7b 100644 --- a/pyeudiw/satosa/backend.py +++ b/pyeudiw/satosa/backend.py @@ -20,7 +20,7 @@ from pyeudiw.oauth2.dpop import DPoPVerifier from pyeudiw.jwk import JWK from pyeudiw.jwt import JWSHelper, JWEHelper -from pyeudiw.jwt.utils import unpad_jwt_payload +from pyeudiw.jwt.utils import unpad_jwt_header, unpad_jwt_payload from pyeudiw.satosa.html_template import Jinja2TemplateHandler from pyeudiw.satosa.response import JsonResponse from pyeudiw.tools.qr_code import QRCode @@ -64,31 +64,37 @@ def __init__(self, auth_callback_func, internal_attributes, config, base_url, na self.absolute_redirect_url = config['metadata']['redirect_uris'][0] self.absolute_request_url = config['metadata']['request_uris'][0] - self.qrcode_settings = config['qrcode_settings'] + self.qrcode_settings = config['qrcode'] self.config = config - self.default_exp = int(self.config['jwt_settings']['default_exp']) + self.default_exp = int(self.config['jwt']['default_exp']) # dumps public jwks in the metadata self.config['metadata']['jwks'] = config["metadata_jwks"] self.federation_jwk = JWK( - self.config['federation']['federation_jwks'][0]) + self.config['federation']['federation_jwks'][0] + ) self.metadata_jwk = JWK(self.config["metadata_jwks"][0]) + self.federations_jwks_by_kids = { + i['kid']:i for i in self.config['federation']['federation_jwks'] + } + self.metadata_jwks_by_kids = { + i['kid']:i for i in self.config['metadata_jwks'] + } + # HTML template loader self.template = Jinja2TemplateHandler(config) - self.sd_jwt = self.config["sd_jwt"] - self.sd_specification = load_specification_from_yaml_string( - self.sd_jwt["sd_specification"]) - logger.debug( lu.LOG_FMT.format( id="OpenID4VP init", message=f"Loaded configuration:\n{json.dumps(config)}" ) ) + + def register_endpoints(self): """ @@ -188,7 +194,7 @@ def pre_request_endpoint(self, context, internal_request, **kwargs): res_url = f'{self.client_id}?{url_params}' # response = base64.b64encode(res_url.encode()) - qrcode = QRCode(res_url, **self.config['qrcode_settings']) + qrcode = QRCode(res_url, **self.config['qrcode']) stream = qrcode.for_html() result = self.template.qrcode_page.render( @@ -258,8 +264,15 @@ def redirect_endpoint(self, context, *args): # take the encrypted jwt, decrypt with my public key (one of the metadata) -> if not -> exception jwt = context.request["response"] - jwk = JWK(self.config["federation"] - ["federation_jwks"][0], key_type="RSA") + + # get the decryption jwks by its kid + jwt_header = unpad_jwt_header(jwt) + + jwk = JWK( + self.metadata_jwks_by_kids[ + jwt_header.get('kid', self.metadata_jwk) + ] + ) jweHelper = JWEHelper(jwk) try: diff --git a/pyeudiw/tests/tools/test_sd_jwt.py b/pyeudiw/tests/oauth2/test_sd_jwt.py similarity index 100% rename from pyeudiw/tests/tools/test_sd_jwt.py rename to pyeudiw/tests/oauth2/test_sd_jwt.py diff --git a/pyeudiw/tests/satosa/test_backend.py b/pyeudiw/tests/satosa/test_backend.py index 166348cf..cf6db1a8 100644 --- a/pyeudiw/tests/satosa/test_backend.py +++ b/pyeudiw/tests/satosa/test_backend.py @@ -46,34 +46,13 @@ "redirect": "/OpenID4VP/redirect_uri", "request": "/OpenID4VP/request_uri", }, - "qrcode_settings": { + "qrcode": { "size": 100, "color": "#2B4375", "logo_path": None, "use_zlib": True }, - "sd_jwt": { - "issuer": "http://test.com", - "default_exp": 60, - "sd_specification": """ - user_claims: - !sd unique_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" - !sd given_name: "Mario" - !sd family_name: "Rossi" - !sd birthdate: "1980-01-10" - !sd place_of_birth: - country: "IT" - locality: "Rome" - !sd tax_id_code: "TINIT-XXXXXXXXXXXXXXXX" - - holder_disclosed_claims: - { "given_name": "Mario", "family_name": "Rossi", "place_of_birth": {country: "IT", locality: "Rome"} } - - key_binding: True - """, - "no_randomness": True - }, - "jwt_settings": { + "jwt": { "default_sig_alg": "ES256", "default_exp": 6 }, @@ -118,6 +97,17 @@ "kty": "EC", "x": "TSO-KOqdnUj5SUuasdlRB2VVFSqtJOxuR5GftUTuBdk", "y": "ByWgQt1wGBSnF56jQqLdoO1xKUynMY-BHIDB3eXlR7" + }, + { + + "kty": "RSA", + "d": "QUZsh1NqvpueootsdSjFQz-BUvxwd3Qnzm5qNb-WeOsvt3rWMEv0Q8CZrla2tndHTJhwioo1U4NuQey7znijhZ177bUwPPxSW1r68dEnL2U74nKwwoYeeMdEXnUfZSPxzs7nY6b7vtyCoA-AjiVYFOlgKNAItspv1HxeyGCLhLYhKvS_YoTdAeLuegETU5D6K1xGQIuw0nS13Icjz79Y8jC10TX4FdZwdX-NmuIEDP5-s95V9DMENtVqJAVE3L-wO-NdDilyjyOmAbntgsCzYVGH9U3W_djh4t3qVFCv3r0S-DA2FD3THvlrFi655L0QHR3gu_Fbj3b9Ybtajpue_Q", + "e": "AQAB", + "use": "enc", + "kid": "9Cquk0X-fNPSdePQIgQcQZtD6J0IjIRrFigW2PPK_-w", + "n": "utqtxbs-jnK0cPsV7aRkkZKA9t4S-WSZa3nCZtYIKDpgLnR_qcpeF0diJZvKOqXmj2cXaKFUE-8uHKAHo7BL7T-Rj2x3vGESh7SG1pE0thDGlXj4yNsg0qNvCXtk703L2H3i1UXwx6nq1uFxD2EcOE4a6qDYBI16Zl71TUZktJwmOejoHl16CPWqDLGo9GUSk_MmHOV20m4wXWkB4qbvpWVY8H6b2a0rB1B1YPOs5ZLYarSYZgjDEg6DMtZ4NgiwZ-4N1aaLwyO-GLwt9Vf-NBKwoxeRyD3zWE2FXRFBbhKGksMrCGnFDsNl5JTlPjaM3kYyImE941ggcuc495m-Fw", + "p": "2zmGXIMCEHPphw778YjVTar1eycih6fFSJ4I4bl1iq167GqO0PjlOx6CZ1-OdBTVU7HfrYRiUK_BnGRdPDn-DQghwwkB79ZdHWL14wXnpB5y-boHz_LxvjsEqXtuQYcIkidOGaMG68XNT1nM4F9a8UKFr5hHYT5_UIQSwsxlRQ0", + "q": "2jMFt2iFrdaYabdXuB4QMboVjPvbLA-IVb6_0hSG_-EueGBvgcBxdFGIZaG6kqHqlB7qMsSzdptU0vn6IgmCZnX-Hlt6c5X7JB_q91PZMLTO01pbZ2Bk58GloalCHnw_mjPh0YPviH5jGoWM5RHyl_HDDMI-UeLkzP7ImxGizrM" } ], "metadata": { @@ -298,6 +288,26 @@ } } +ISSUER_CONF = { + "sd_specification": """ + user_claims: + !sd unique_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + !sd given_name: "Mario" + !sd family_name: "Rossi" + !sd birthdate: "1980-01-10" + !sd place_of_birth: + country: "IT" + locality: "Rome" + !sd tax_id_code: "TINIT-XXXXXXXXXXXXXXXX" + + holder_disclosed_claims: + { "given_name": "Mario", "family_name": "Rossi", "place_of_birth": {country: "IT", locality: "Rome"} } + + key_binding: True + """, + "no_randomness": True +} + INTERNAL_ATTRIBUTES: dict = { 'attributes': {} @@ -441,10 +451,12 @@ def test_pre_request_endpoint_mobile(self, context): assert qs["request_uri"][0] == CONFIG["metadata"]["request_uris"][0] def test_redirect_endpoint(self, context): - issuer_jwk = JWK(CONFIG["federation"]["federation_jwks"][1]) + issuer_jwk = JWK(CONFIG["metadata_jwks"][0]) holder_jwk = JWK() - settings = CONFIG["sd_jwt"] + settings = ISSUER_CONF + settings['issuer'] = "https://issuer.example.com" + settings['default_exp'] = CONFIG['jwt']['default_exp'] sd_specification = load_specification_from_yaml_string( settings["sd_specification"]) @@ -490,9 +502,10 @@ def test_redirect_endpoint(self, context): ] } } - - context.request = {"response": JWEHelper( - JWK(CONFIG["federation"]["federation_jwks"][0], "RSA")).encrypt(response)} + encrypted_response = JWEHelper(JWK(CONFIG["metadata_jwks"][1])).encrypt(response) + context.request = { + "response": encrypted_response + } redirect_endpoint = self.backend.redirect_endpoint(context) assert redirect_endpoint diff --git a/pyeudiw/tests/tools/test_jwk.py b/pyeudiw/tests/test_jwk.py similarity index 100% rename from pyeudiw/tests/tools/test_jwk.py rename to pyeudiw/tests/test_jwk.py diff --git a/pyeudiw/tests/tools/test_jwt.py b/pyeudiw/tests/test_jwt.py similarity index 86% rename from pyeudiw/tests/tools/test_jwt.py rename to pyeudiw/tests/test_jwt.py index bcbcf8df..097a79ae 100644 --- a/pyeudiw/tests/tools/test_jwt.py +++ b/pyeudiw/tests/test_jwt.py @@ -1,7 +1,7 @@ import pytest from pyeudiw.jwk import JWK -from pyeudiw.jwt import JWEHelper, JWSHelper, DEFAULT_JWE_ALG, DEFAULT_JWE_ENC +from pyeudiw.jwt import JWEHelper, JWSHelper, DEFAUL_ENC_ALG_MAP, DEFAUL_ENC_ENC_MAP from pyeudiw.jwt.utils import unpad_jwt_header JWKs_EC = [ @@ -18,6 +18,8 @@ JWKs = JWKs_EC + JWKs_RSA +# TODO: ENC also with EC and not only with RSA +ENC_JWKs = JWKs_RSA @pytest.mark.parametrize("jwk, payload", JWKs_RSA) def test_unpad_jwt_header(jwk, payload): @@ -26,8 +28,8 @@ def test_unpad_jwt_header(jwk, payload): assert jwe header = unpad_jwt_header(jwe) assert header - assert header["alg"] == DEFAULT_JWE_ALG - assert header["enc"] == DEFAULT_JWE_ENC + assert header["alg"] == DEFAUL_ENC_ALG_MAP[jwk.jwk["kty"]] + assert header["enc"] == DEFAUL_ENC_ENC_MAP[jwk.jwk["kty"]] assert header["kid"] == jwk.jwk["kid"] @@ -38,7 +40,7 @@ def test_jwe_helper_init(key_type): assert helper.jwk == jwk -@pytest.mark.parametrize("jwk, payload", JWKs) +@pytest.mark.parametrize("jwk, payload", ENC_JWKs) def test_jwe_helper_encrypt(jwk, payload): helper = JWEHelper(jwk) jwe = helper.encrypt(payload) @@ -56,7 +58,7 @@ def test_jwe_helper_decrypt(jwk, payload): assert decrypted == payload or decrypted == payload.encode() -@pytest.mark.parametrize("jwk, payload", JWKs) +@pytest.mark.parametrize("jwk, payload", ENC_JWKs) def test_jwe_helper_decrypt_fail(jwk, payload): helper = JWEHelper(jwk) jwe = helper.encrypt(payload) diff --git a/pyeudiw/tools/utils.py b/pyeudiw/tools/utils.py index 31998091..b52f7271 100644 --- a/pyeudiw/tools/utils.py +++ b/pyeudiw/tools/utils.py @@ -5,7 +5,7 @@ import json import logging -logger = logging.getLogger(__name__) +logger = logging.getLogger("pyeudiw.utils") def make_timezone_aware(dt: datetime.datetime, tz: datetime.timezone | datetime.tzinfo = datetime.timezone.utc): @@ -28,11 +28,6 @@ def datetime_from_timestamp(value) -> datetime.datetime: return make_timezone_aware(datetime.datetime.fromtimestamp(value)) -def get_http_url(url: str): - # TODO - raise NotImplementedError(f"{__name__} get_http_url") - - def get_jwks(httpc_params: dict, metadata: dict, federation_jwks: list = []) -> dict: """ get jwks or jwks_uri or signed_jwks_uri diff --git a/setup.py b/setup.py index 563d1bb4..045a7437 100644 --- a/setup.py +++ b/setup.py @@ -52,5 +52,9 @@ def readme(): "pymongo>=4.4.1,<4.5", 'sd-jwt @ git+https://github.com/danielfett/sd-jwt.git' ], + "federation": [ + "asyncio" + "requests" + ] } ) From c32138f767a7acacf494f27fa444311b2e15bee3 Mon Sep 17 00:00:00 2001 From: peppelinux Date: Sun, 30 Jul 2023 12:40:58 +0200 Subject: [PATCH 02/53] fix: JWK and JWT encryption ops and kid resolution - linting --- pyeudiw/jwt/__init__.py | 14 +++++++------- pyeudiw/satosa/backend.py | 20 ++++++++------------ pyeudiw/tests/satosa/test_backend.py | 5 +++-- pyeudiw/tests/test_jwt.py | 1 + pyeudiw/tools/utils.py | 5 +++++ 5 files changed, 24 insertions(+), 21 deletions(-) diff --git a/pyeudiw/jwt/__init__.py b/pyeudiw/jwt/__init__.py index e3ffb184..e6485eeb 100644 --- a/pyeudiw/jwt/__init__.py +++ b/pyeudiw/jwt/__init__.py @@ -59,7 +59,7 @@ def encrypt(self, plain_dict: Union[dict, str, int, None], **kwargs) -> str: _payload = plain_dict else: _payload = "" - + _keyobj = JWE_CLASS( _payload, alg=DEFAUL_ENC_ALG_MAP[_key.kty], @@ -67,13 +67,13 @@ def encrypt(self, plain_dict: Union[dict, str, int, None], **kwargs) -> str: kid=_key.kid, **kwargs ) - - if _key.kty== 'EC': + + if _key.kty == 'EC': # TODO - TypeError: key must be bytes-like - return _keyobj.encrypt(cek = _key.public_key()) + return _keyobj.encrypt(cek=_key.public_key()) else: - return _keyobj.encrypt(key = _key.public_key()) - + return _keyobj.encrypt(key=_key.public_key()) + def decrypt(self, jwe: str) -> dict: try: jwe_header = unpad_jwt_header(jwe) @@ -83,7 +83,7 @@ def decrypt(self, jwe: str) -> dict: _alg = jwe_header.get("alg") _enc = jwe_header.get("enc") jwe_header.get("kid") - + _decryptor = factory(jwe, alg=_alg, enc=_enc) _dkey = key_from_jwk_dict(self.jwk.as_dict()) diff --git a/pyeudiw/satosa/backend.py b/pyeudiw/satosa/backend.py index d998bd7b..f610e704 100644 --- a/pyeudiw/satosa/backend.py +++ b/pyeudiw/satosa/backend.py @@ -27,7 +27,6 @@ from pyeudiw.tools.mobile import is_smartphone from pyeudiw.tools.utils import iat_now from pyeudiw.openid4vp.schema import ResponseSchema as ResponseValidator -from pyeudiw.sd_jwt import load_specification_from_yaml_string from pyeudiw.openid4vp import check_vp_token @@ -78,10 +77,10 @@ def __init__(self, auth_callback_func, internal_attributes, config, base_url, na self.metadata_jwk = JWK(self.config["metadata_jwks"][0]) self.federations_jwks_by_kids = { - i['kid']:i for i in self.config['federation']['federation_jwks'] + i['kid']: i for i in self.config['federation']['federation_jwks'] } self.metadata_jwks_by_kids = { - i['kid']:i for i in self.config['metadata_jwks'] + i['kid']: i for i in self.config['metadata_jwks'] } # HTML template loader @@ -93,8 +92,6 @@ def __init__(self, auth_callback_func, internal_attributes, config, base_url, na message=f"Loaded configuration:\n{json.dumps(config)}" ) ) - - def register_endpoints(self): """ @@ -215,15 +212,14 @@ def _translate_response(self, response, issuer): :param subject_type: public or pairwise according to oidc standard. :return: A SATOSA internal response. """ - timestamp = response.get( - "auth_time", - response.get('iat', iat_now()) - ) - # it may depends by credential type and attested security context evaluated # if WIA was previously submitted by the Wallet # auth_class_ref = response.get("acr", response.get("amr", UNSPECIFIED)) + # timestamp = response.get( + # "auth_time", + # response.get('iat', iat_now()) + # ) # auth_info = AuthenticationInformation(auth_class_ref, timestamp, issuer) # internal_resp = InternalData(auth_info=auth_info) internal_resp = InternalData() @@ -264,10 +260,10 @@ def redirect_endpoint(self, context, *args): # take the encrypted jwt, decrypt with my public key (one of the metadata) -> if not -> exception jwt = context.request["response"] - + # get the decryption jwks by its kid jwt_header = unpad_jwt_header(jwt) - + jwk = JWK( self.metadata_jwks_by_kids[ jwt_header.get('kid', self.metadata_jwk) diff --git a/pyeudiw/tests/satosa/test_backend.py b/pyeudiw/tests/satosa/test_backend.py index cf6db1a8..bed3208d 100644 --- a/pyeudiw/tests/satosa/test_backend.py +++ b/pyeudiw/tests/satosa/test_backend.py @@ -99,7 +99,7 @@ "y": "ByWgQt1wGBSnF56jQqLdoO1xKUynMY-BHIDB3eXlR7" }, { - + "kty": "RSA", "d": "QUZsh1NqvpueootsdSjFQz-BUvxwd3Qnzm5qNb-WeOsvt3rWMEv0Q8CZrla2tndHTJhwioo1U4NuQey7znijhZ177bUwPPxSW1r68dEnL2U74nKwwoYeeMdEXnUfZSPxzs7nY6b7vtyCoA-AjiVYFOlgKNAItspv1HxeyGCLhLYhKvS_YoTdAeLuegETU5D6K1xGQIuw0nS13Icjz79Y8jC10TX4FdZwdX-NmuIEDP5-s95V9DMENtVqJAVE3L-wO-NdDilyjyOmAbntgsCzYVGH9U3W_djh4t3qVFCv3r0S-DA2FD3THvlrFi655L0QHR3gu_Fbj3b9Ybtajpue_Q", "e": "AQAB", @@ -502,7 +502,8 @@ def test_redirect_endpoint(self, context): ] } } - encrypted_response = JWEHelper(JWK(CONFIG["metadata_jwks"][1])).encrypt(response) + encrypted_response = JWEHelper( + JWK(CONFIG["metadata_jwks"][1])).encrypt(response) context.request = { "response": encrypted_response } diff --git a/pyeudiw/tests/test_jwt.py b/pyeudiw/tests/test_jwt.py index 097a79ae..214cb26e 100644 --- a/pyeudiw/tests/test_jwt.py +++ b/pyeudiw/tests/test_jwt.py @@ -21,6 +21,7 @@ # TODO: ENC also with EC and not only with RSA ENC_JWKs = JWKs_RSA + @pytest.mark.parametrize("jwk, payload", JWKs_RSA) def test_unpad_jwt_header(jwk, payload): jwe_helper = JWEHelper(jwk) diff --git a/pyeudiw/tools/utils.py b/pyeudiw/tools/utils.py index b52f7271..a5ac2006 100644 --- a/pyeudiw/tools/utils.py +++ b/pyeudiw/tools/utils.py @@ -28,6 +28,11 @@ def datetime_from_timestamp(value) -> datetime.datetime: return make_timezone_aware(datetime.datetime.fromtimestamp(value)) +def get_http_url(url: str): + # TODO - utils.get_http_url + raise NotImplementedError(f"{__name__} get_http_url") + + def get_jwks(httpc_params: dict, metadata: dict, federation_jwks: list = []) -> dict: """ get jwks or jwks_uri or signed_jwks_uri From a0699d7a9788fdedf34479f2e587b9448f2bdb45 Mon Sep 17 00:00:00 2001 From: peppelinux Date: Sun, 30 Jul 2023 12:51:47 +0200 Subject: [PATCH 03/53] feat: define abstract storage and allow multiple storage using the same interface --- example/satosa/pyeudiw_backend.yaml | 21 +++++++++++---------- pyeudiw/tests/satosa/test_backend.py | 1 - 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/example/satosa/pyeudiw_backend.yaml b/example/satosa/pyeudiw_backend.yaml index f8df8292..e15d0270 100644 --- a/example/satosa/pyeudiw_backend.yaml +++ b/example/satosa/pyeudiw_backend.yaml @@ -70,16 +70,17 @@ config: # Mongodb database configuration - mongo_db_settings: - cache: - url: mongodb://localhost:27017/ - conf: - db_name: eudiw - storage: - url: mongodb://localhost:27017/ - conf: - db_name: eudiw - db_collection: sessions + storage: + mongo_db: + cache: + url: mongodb://localhost:27017/ + conf: + db_name: eudiw + storage: + url: mongodb://localhost:27017/ + conf: + db_name: eudiw + db_collection: sessions #This is the configuration for the relaying party metadata metadata: diff --git a/pyeudiw/tests/satosa/test_backend.py b/pyeudiw/tests/satosa/test_backend.py index bed3208d..9324da5c 100644 --- a/pyeudiw/tests/satosa/test_backend.py +++ b/pyeudiw/tests/satosa/test_backend.py @@ -31,7 +31,6 @@ CONFIG = { "base_url": BASE_URL, - "ui": { "static_storage_url": BASE_URL, "template_folder": f"{pathlib.Path().absolute().__str__()}/pyeudiw/tests/satosa/templates", From da75f0f608885c5207a736e1f6aacc1f5f213eee Mon Sep 17 00:00:00 2001 From: Salvatore Laiso <32564922+salvatorelaiso@users.noreply.github.com> Date: Mon, 31 Jul 2023 15:28:43 +0200 Subject: [PATCH 04/53] refactor: from qrcode to pyqrcode (#62) * refactor: switch from qrcode to pyqrcode * fix: qrcode settings * fix: remove sample data from library examples --------- Co-authored-by: Giuseppe De Marco --- pyeudiw/satosa/backend.py | 4 +- pyeudiw/tests/satosa/test_backend.py | 4 +- pyeudiw/tests/tools/test_qr_code.py | 105 ++++++++++++++++----------- pyeudiw/tools/qr_code.py | 102 +++++++++++--------------- setup.py | 4 +- 5 files changed, 110 insertions(+), 109 deletions(-) diff --git a/pyeudiw/satosa/backend.py b/pyeudiw/satosa/backend.py index f610e704..691f5fbf 100644 --- a/pyeudiw/satosa/backend.py +++ b/pyeudiw/satosa/backend.py @@ -192,11 +192,9 @@ def pre_request_endpoint(self, context, internal_request, **kwargs): # response = base64.b64encode(res_url.encode()) qrcode = QRCode(res_url, **self.config['qrcode']) - stream = qrcode.for_html() result = self.template.qrcode_page.render( - {"title": "frame the qrcode", 'qrcode_base64': base64.b64encode( - stream.encode()).decode()} + {"title": "frame the qrcode", 'qrcode_base64': qrcode.to_base64()} ) return Response(result, content="text/html; charset=utf8", status="200") diff --git a/pyeudiw/tests/satosa/test_backend.py b/pyeudiw/tests/satosa/test_backend.py index 9324da5c..def8f67c 100644 --- a/pyeudiw/tests/satosa/test_backend.py +++ b/pyeudiw/tests/satosa/test_backend.py @@ -48,8 +48,6 @@ "qrcode": { "size": 100, "color": "#2B4375", - "logo_path": None, - "use_zlib": True }, "jwt": { "default_sig_alg": "ES256", @@ -422,7 +420,7 @@ def test_pre_request_endpoint(self, context): svg = BeautifulSoup(decoded, features="xml") assert svg assert svg.find("svg") - assert svg.find_all("svg:rect") + assert svg.find_all("path") def test_pre_request_endpoint_mobile(self, context): internal_data = InternalData() diff --git a/pyeudiw/tests/tools/test_qr_code.py b/pyeudiw/tests/tools/test_qr_code.py index 66b243bb..fb77884f 100644 --- a/pyeudiw/tests/tools/test_qr_code.py +++ b/pyeudiw/tests/tools/test_qr_code.py @@ -1,54 +1,75 @@ +import base64 import tempfile -from io import BytesIO - -from PIL import Image +import re from pyeudiw.tools.qr_code import QRCode -def test_qr_code_init(): - data = "test" - size = 100 +def test_to_base64(): + data = "content" + size = 5 + color = "black" + + qr = QRCode(data, size, color) + b64 = qr.to_base64() + assert isinstance(b64, str) + assert len(b64) > 0 + assert base64.b64decode(b64.encode()).decode('utf-8') == qr.to_svg() + + +def test_to_html(): + data = "content" + size = 5 + color = "black" + + qr = QRCode(data, size, color) + html = qr.to_html() + assert isinstance(html, str) + assert len(html) > 0 + assert html.startswith("") + assert "data:image/svg+xml;base64," in html + b64 = html.split("data:image/svg+xml;base64,")[1].split('"')[0] + assert base64.b64decode(b64.encode()).decode('utf-8') == qr.to_svg() + + +def test_to_svg(): + data = "content" + size = 5 color = "black" - logo_path = "" - use_zlib = True - QRCode(data, size, color, logo_path, use_zlib) + qr = QRCode(data, size, color) + svg = qr.to_svg() + + assert isinstance(svg, str) + assert len(svg) > 0 + assert svg.strip().startswith("") + + +# Set to `False` to keep files for manual inspection +DELETE_FILES = True - # TODO - qrcode is SVG with no size! - # assert qr_code.qr_code_img.size == (size * 33, size * 33) - # assert qr_code.qr_code_img.getpixel((0, 0)) == (255, 255, 255) +def _test_to_html_file(): + data = "content" + size = 5 + color = "black" + + qr = QRCode(data, size, color) + html = qr.to_html() + with tempfile.NamedTemporaryFile("w", suffix=".html", dir=".", delete=DELETE_FILES) as tmp: + tmp.writelines(html) -# TODO - fix with SVG factory since it doesn't have a size like PNG -def _test_qr_code_init_with_logo(): - data = "test" - size = 100 + +def _test_to_svg_file(): + data = "content" + size = 5 color = "black" - use_zlib = True - - def create_in_memory_image(path): - in_memory_file = BytesIO() - image = Image.new('RGB', - size=(10, 10), - color=(255, 255, 0)) - image.save(in_memory_file, - 'png') - in_memory_file.name = path - in_memory_file.seek(0) - return in_memory_file - - with tempfile.NamedTemporaryFile(suffix='.png', delete=True) as temp_file: - temp_file.write(create_in_memory_image(temp_file.name).read()) - - # change the position to the beginning of the file - temp_file.file.seek(0) - qr_code = QRCode(data, size, color, temp_file.name, - use_zlib).qr_code_img - - assert qr_code.getpixel((0, 0)) == (255, 255, 255) - assert qr_code.getpixel( - (qr_code.size[0] - 1, qr_code.size[1] - 1)) == (255, 255, 255) - assert qr_code.getpixel( - (qr_code.size[0] // 2, qr_code.size[1] // 2)) == (255, 255, 0) + qr = QRCode(data, size, color) + svg = qr.to_svg() + with tempfile.NamedTemporaryFile("w", suffix=".svg", dir=".", delete=DELETE_FILES) as tmp: + tmp.writelines(svg) + diff --git a/pyeudiw/tools/qr_code.py b/pyeudiw/tools/qr_code.py index 5882696e..64d885be 100644 --- a/pyeudiw/tools/qr_code.py +++ b/pyeudiw/tools/qr_code.py @@ -1,65 +1,49 @@ -import qrcode -import qrcode.image.svg -import zlib +import base64 +import io -from io import BytesIO +import pyqrcode class QRCode: - def __init__(self, data: str, size: int, color: str, logo_path: str, use_zlib: bool, logo_size_factor: int = 5) -> None: - compressed_request_data = None + def __init__(self, data: str, size: int, color: str): + """ + Create a QR code from the given data + :param data: The data to be encoded + :param size: The size of the QR code. Maps to scale in pyqrcode + :param color: The color of the QR code + """ + self.data = data + self.size = size self.color = color - if use_zlib: - compressed_request_data = zlib.compress(data.encode(), 9) - - qr_code = qrcode.QRCode( - error_correction=qrcode.constants.ERROR_CORRECT_H, - box_size=size, - ) - - qr_code.add_data(compressed_request_data or data) - - # it must be SVG - qr_code.make() - qr_code.image_factory = qrcode.image.svg.SvgImage - - self.qr_code = qr_code - - self.qr_code_img = qr_code.make_image( - fill_color=color, - back_color="white" - ) - - # Add logo if present - if logo_path: - # TODO - svg doesn't have a size so we need to find another way - pass - # logo = Image.open(logo_path) - # wpercent = (size / float(logo.size[0])) - # hsize = int((float(logo.size[1]) * float(wpercent))) - # logo = logo.resize( - # (size * logo_size_factor, hsize * logo_size_factor), Image.LANCZOS) - - # pos = ((self.qr_code_img.size[0] - logo.size[0]) // - # 2, (self.qr_code_img.size[1] - logo.size[1]) // 2) - - # self.qr_code_img.paste(logo, pos) - - def save_as_file(self, path) -> str: - self.qr_code_img.save(path) - return path - - def as_svg(self) -> BytesIO: - stream = BytesIO() - self.qr_code_img.save(stream) - stream.seek(0) - return stream - - def for_html(self): - stream = self.as_svg() - data = stream.read().decode() - # data = data.replace( - # "\n", "" - # ) - return data + qr = pyqrcode.create(data) + # Copy the svg data to a string and close the buffer to avoid memory leaks + buffer = io.BytesIO() + qr.svg(buffer, scale=size, background="white", module_color=color) + self.svg = buffer.getvalue().decode("utf-8") + buffer.close() + + def to_svg(self) -> str: + """ + Returns the svg data for the QR code as a string + :return: The svg data for the QR code + :rtype: str + """ + return self.svg + + def to_base64(self) -> str: + """ + Returns the svg data for html + :return: The svg data for html, base64 encoded + :rtype: str + """ + return base64.b64encode(self.svg.encode()).decode('utf-8') + + def to_html(self) -> str: + """ + Returns the svg data in a html img tag, encoded as base64 + :return: Image tag with svg data for html + :rtype: str + """ + b64 = self.to_base64() + return f'' diff --git a/setup.py b/setup.py index 045a7437..a12353ff 100644 --- a/setup.py +++ b/setup.py @@ -40,8 +40,8 @@ def readme(): }, install_requires=[ "cryptojwt>=1.8.2,<1.9", - "qrcode>=7.4.2,<7.5", - "pydantic>=2.0,<2.2", + "pyqrcode>=1.2,<1.3", + "pydantic>=2.0,<2.2" ], extra_require={ "satosa": [ From 9c0485d1ea40d1c62d76000f70581387d87f47c1 Mon Sep 17 00:00:00 2001 From: peppelinux Date: Mon, 31 Jul 2023 15:29:30 +0200 Subject: [PATCH 05/53] feat: added federation components --- README.md | 4 +- example/satosa/pyeudiw_backend.yaml | 2 +- pyeudiw/federation/__init__.py | 0 pyeudiw/federation/exceptions.py | 50 +++ pyeudiw/federation/http_client.py | 40 +++ pyeudiw/federation/jwtse.py | 139 +++++++++ pyeudiw/federation/policy.py | 357 ++++++++++++++++++++++ pyeudiw/federation/statements.py | 457 ++++++++++++++++++++++++++++ pyeudiw/federation/trust_chain.py | 292 ++++++++++++++++++ pyeudiw/satosa/backend.py | 3 +- 10 files changed, 1340 insertions(+), 4 deletions(-) create mode 100644 pyeudiw/federation/__init__.py create mode 100644 pyeudiw/federation/exceptions.py create mode 100644 pyeudiw/federation/http_client.py create mode 100644 pyeudiw/federation/jwtse.py create mode 100644 pyeudiw/federation/policy.py create mode 100644 pyeudiw/federation/statements.py create mode 100644 pyeudiw/federation/trust_chain.py diff --git a/README.md b/README.md index d97225d3..f8d0b88d 100644 --- a/README.md +++ b/README.md @@ -21,8 +21,8 @@ The toolchain contains the following components: | __jwt__ | Signed and encrypted JSON Web Token (JWT) according to [RFC7519](https://datatracker.ietf.org/doc/html/rfc7519), [RFC7515](https://datatracker.ietf.org/doc/html/rfc7515) and [RFC7516](https://datatracker.ietf.org/doc/html/rfc7516) | | __tools.qrcode__ | QRCodes creation | | __oauth2.dpop__ | Tools for issuing and parsing DPoP artifacts, according to [OAuth 2.0 Demonstrating Proof-of-Possession at the Application Layer (DPoP)](https://datatracker.ietf.org/doc/html/draft-ietf-oauth-dpop) | -| __openid4vp.federation__ | OpenID Connect Federation Wallet Relying Party Entities and Trust Mechanisms | -| __satosa.openid4vp.backend__ | SATOSA OpenID4VP Relying Party backend | +| __openid4vp.federation__ | Trust evaluation mechanisms, according to [OpenID Connect Federation 1.0](https://openid.net/specs/openid-connect-federation-1_0.html) | +| __satosa.openid4vp.backend__ | SATOSA Relying Party backend, according to [OpenID for Verifiable Presentations](https://openid.bitbucket.io/connect/openid-4-verifiable-presentations-1_0.html) | ## Setup diff --git a/example/satosa/pyeudiw_backend.yaml b/example/satosa/pyeudiw_backend.yaml index e15d0270..33a1f55c 100644 --- a/example/satosa/pyeudiw_backend.yaml +++ b/example/satosa/pyeudiw_backend.yaml @@ -34,7 +34,7 @@ config: federation: metadata_type: "wallet_relying_party" federation_authorities: - - https://localhost:8000 + - http://127.0.0.1:8000 default_sig_alg: "RS256" # private jwk diff --git a/pyeudiw/federation/__init__.py b/pyeudiw/federation/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/pyeudiw/federation/exceptions.py b/pyeudiw/federation/exceptions.py new file mode 100644 index 00000000..d74637a9 --- /dev/null +++ b/pyeudiw/federation/exceptions.py @@ -0,0 +1,50 @@ +class HttpError(Exception): + pass + + +class TrustChainHttpError(HttpError): + pass + + +class UnknownKid(Exception): + pass + + +class MissingJwksClaim(Exception): + pass + + +class MissingAuthorityHintsClaim(Exception): + pass + + +class NotDescendant(Exception): + pass + + +class TrustAnchorNeeded(Exception): + pass + + +class MetadataDiscoveryException(Exception): + pass + + +class MissingTrustMark(Exception): + pass + + +class InvalidRequiredTrustMark(Exception): + pass + + +class InvalidTrustchain(Exception): + pass + + +class TrustchainMissingMetadata(Exception): + pass + + +class InvalidEntityConfiguration(Exception): + pass diff --git a/pyeudiw/federation/http_client.py b/pyeudiw/federation/http_client.py new file mode 100644 index 00000000..efa8f871 --- /dev/null +++ b/pyeudiw/federation/http_client.py @@ -0,0 +1,40 @@ +import aiohttp +import asyncio + + +async def fetch(session, url, httpc_params: dict = {}): + async with session.get(url, **httpc_params.get("connection", {})) as response: + if response.status != 200: # pragma: no cover + # response.raise_for_status() + return "" + return await response.text() + + +async def fetch_all(session, urls, httpc_params): + tasks = [] + for url in urls: + task = asyncio.create_task(fetch(session, url, httpc_params)) + tasks.append(task) + results = await asyncio.gather(*tasks) + return results + + +async def http_get(urls, httpc_params: dict = {}): + async with aiohttp.ClientSession(**httpc_params.get("session", {})) as session: + text = await fetch_all(session, urls, httpc_params) + return text + + +if __name__ == "__main__": # pragma: no cover + httpc_params = { + "connection": {"ssl": True}, + "session": {"timeout": aiohttp.ClientTimeout(total=4)}, + } + urls = [ + "http://127.0.0.1:8001/.well-known/openid-federation", + "http://127.0.0.1:8000/.well-known/openid-federation", + "http://asdasd.it", + "http://127.0.0.1:8001/.well-known/openid-federation", + "http://google.it", + ] + asyncio.run(http_get(urls, httpc_params=httpc_params)) diff --git a/pyeudiw/federation/jwtse.py b/pyeudiw/federation/jwtse.py new file mode 100644 index 00000000..61e5cbf7 --- /dev/null +++ b/pyeudiw/federation/jwtse.py @@ -0,0 +1,139 @@ +import base64 +import binascii +import json +import logging + +import cryptojwt +from cryptojwt.exception import UnsupportedAlgorithm, VerificationError +from cryptojwt.jwe.jwe import factory +from cryptojwt.jwe.jwe_ec import JWE_EC +from cryptojwt.jwe.jwe_rsa import JWE_RSA +from cryptojwt.jwk.jwk import key_from_jwk_dict +from cryptojwt.jws.jws import JWS +from cryptojwt.jws.utils import left_hash +from typing import Union + +from .settings import ( + DEFAULT_JWE_ALG, + DEFAULT_JWE_ENC, + ENCRYPTION_ALG_VALUES_SUPPORTED, + SIGNING_ALG_VALUES_SUPPORTED, +) + +logger = logging.getLogger(__name__) + + +def unpad_jwt_element(jwt: str, position: int) -> dict: + b = jwt.split(".")[position] + padded = f"{b}{'=' * divmod(len(b), 4)[1]}" + data = json.loads(base64.urlsafe_b64decode(padded)) + return data + + +def unpad_jwt_head(jwt: str) -> dict: + return unpad_jwt_element(jwt, position=0) + + +def unpad_jwt_payload(jwt: str) -> dict: + return unpad_jwt_element(jwt, position=1) + + +def create_jwe(plain_dict: Union[dict, str, int, None], jwk_dict: dict, **kwargs) -> str: + logger.debug(f"Encrypting dict as JWE: " f"{plain_dict}") + _key = key_from_jwk_dict(jwk_dict) + + if isinstance(_key, cryptojwt.jwk.rsa.RSAKey): + JWE_CLASS = JWE_RSA + elif isinstance(_key, cryptojwt.jwk.ec.ECKey): + JWE_CLASS = JWE_EC + + if isinstance(plain_dict, dict): + _payload = json.dumps(plain_dict).encode() + elif not plain_dict: + logger.warning(f"create_jwe with null payload!") + _payload = "" + elif isinstance(plain_dict, (str, int)): + _payload = plain_dict + else: + logger.error(f"create_jwe with unsupported payload type!") + _payload = "" + + _keyobj = JWE_CLASS( + _payload, + alg=DEFAULT_JWE_ALG, + enc=DEFAULT_JWE_ENC, + kid=_key.kid, + **kwargs + ) + + jwe = _keyobj.encrypt(_key.public_key()) + logger.debug(f"Encrypted dict as JWE: {jwe}") + return jwe + + +def decrypt_jwe(jwe: str, jwk_dict: dict) -> dict: + # get header + try: + jwe_header = unpad_jwt_head(jwe) + except (binascii.Error, Exception) as e: # pragma: no cover + logger.error(f"Failed to extract JWT header: {e}") + raise VerificationError("The JWT is not valid") + + _alg = jwe_header.get("alg", DEFAULT_JWE_ALG) + _enc = jwe_header.get("enc", DEFAULT_JWE_ENC) + jwe_header.get("kid") + + if _alg not in ENCRYPTION_ALG_VALUES_SUPPORTED: # pragma: no cover + raise UnsupportedAlgorithm( + f"{_alg} has beed disabled for security reason") + + _decryptor = factory(jwe, alg=_alg, enc=_enc) + + # _dkey = RSAKey(priv_key=PRIV_KEY) + _dkey = key_from_jwk_dict(jwk_dict) + msg = _decryptor.decrypt(jwe, [_dkey]) + + try: + msg_dict = json.loads(msg) + logger.debug(f"Decrypted JWT as: {json.dumps(msg_dict, indent=2)}") + except json.decoder.JSONDecodeError: + msg_dict = msg + logger.debug(f"Decrypted JWT as: {msg_dict}") + return msg_dict + + +def create_jws(payload: dict, jwk_dict: dict, alg: str = "RS256", protected: dict = {}, **kwargs) -> str: + _key = key_from_jwk_dict(jwk_dict) + _signer = JWS(payload, alg=alg, **kwargs) + + signature = _signer.sign_compact([_key], protected=protected, **kwargs) + return signature + + +def verify_jws(jws: str, pub_jwk: dict, **kwargs) -> str: + _key = key_from_jwk_dict(pub_jwk) + + _head = unpad_jwt_head(jws) + if _head.get("kid") != pub_jwk["kid"]: # pragma: no cover + raise Exception( + f"kid error: {_head.get('kid')} != {pub_jwk['kid']}" + ) + + _alg = _head["alg"] + if _alg not in SIGNING_ALG_VALUES_SUPPORTED or not _alg: # pragma: no cover + raise UnsupportedAlgorithm( + f"{_alg} has beed disabled for security reason") + + verifier = JWS(alg=_head["alg"], **kwargs) + msg = verifier.verify_compact(jws, [_key]) + return msg + + +def verify_at_hash(id_token, access_token) -> bool: + id_token_at_hash = id_token['at_hash'] + at_hash = left_hash(access_token, "HS256") + if at_hash != id_token_at_hash: + raise Exception( + f"at_hash error: {at_hash} != {id_token_at_hash}" + ) + return True diff --git a/pyeudiw/federation/policy.py b/pyeudiw/federation/policy.py new file mode 100644 index 00000000..231d40c7 --- /dev/null +++ b/pyeudiw/federation/policy.py @@ -0,0 +1,357 @@ +__author__ = "Roland Hedberg" +__license__ = "Apache 2.0" +__version__ = "" + +import logging + +logger = logging.getLogger("pyeudiw.federation.policy") + + +class PolicyError(Exception): + pass + + +def combine_subset_of(s1, s2): # pragma: no cover + return list(set(s1).intersection(set(s2))) + + +def combine_superset_of(s1, s2): # pragma: no cover + return list(set(s1).intersection(set(s2))) + + +def combine_one_of(s1, s2): # pragma: no cover + return list(set(s1).intersection(set(s2))) + + +def combine_add(s1, s2): # pragma: no cover + if isinstance(s1, list): + set1 = set(s1) + else: + set1 = {s1} + if isinstance(s2, list): + set2 = set(s2) + else: + set2 = {s2} + return list(set1.union(set2)) + + +POLICY_FUNCTIONS = { + "subset_of", + "superset_of", + "one_of", + "add", + "value", + "default", + "essential", +} + +OP2FUNC = { + "subset_of": combine_subset_of, + "superset_of": combine_superset_of, + "one_of": combine_one_of, + "add": combine_add, +} + + +def do_sub_one_super_add(superior, child, policy): # pragma: no cover + if policy in superior and policy in child: + comb = OP2FUNC[policy](superior[policy], child[policy]) + if comb: + return comb + else: + raise PolicyError("Value sets doesn't overlap") + elif policy in superior: + return superior[policy] + elif policy in child: + return child[policy] + + +def do_value(superior, child, policy): # pragma: no cover + if policy in superior and policy in child: + if superior[policy] == child[policy]: + return superior[policy] + else: + raise PolicyError("Not allowed to combine values") + elif policy in superior: + return superior[policy] + elif policy in child: + return child[policy] + + +def do_default(superior, child, policy): # pragma: no cover + # A child's default can not override a superiors + if policy in superior and policy in child: + if superior["default"] == child["default"]: + return superior["default"] + else: + raise PolicyError("Not allowed to change default") + elif policy in superior: + return superior[policy] + elif policy in child: + return child[policy] + + +def do_essential(superior, child, policy): # pragma: no cover + # essential: an child can make it True if a superior has states False + # but not the other way around + + if policy in superior and policy in child: + if not superior[policy] and child["essential"]: + return True + else: + return superior[policy] + elif policy in superior: + return superior[policy] + elif policy in child: # Not in superior is the same as essential=True + return True + + +DO_POLICY = { + "superset_of": do_sub_one_super_add, + "subset_of": do_sub_one_super_add, + "one_of": do_sub_one_super_add, + "add": do_sub_one_super_add, + "value": do_value, + "default": do_default, + "essential": do_essential, +} + + +def combine_claim_policy(superior, child): # pragma: no cover + """ + Combine policy rules. + Applying the child policy can only make the combined policy more restrictive. + :param superior: Superior policy + :param child: Intermediates policy + """ + # weed out everything I don't recognize + + superior_set = set(superior).intersection(POLICY_FUNCTIONS) + child_set = set(child).intersection(POLICY_FUNCTIONS) + if "value" in superior_set: # An exact value can not be restricted. + if child_set: + if "essential" in child_set: + if len(child_set) == 1: + return {"value": superior["value"], "essential": child["essential"]} + else: + raise PolicyError( + "value can only be combined with essential, not {}".format( + child_set + ) + ) + elif "value" in child_set: + if child["value"] != superior["value"]: # Not OK + raise PolicyError( + "Child can not set another value then superior") + else: + return superior + else: + raise PolicyError( + "Not allowed combination of policies: {} + {}".format( + superior, child + ) + ) + return superior + else: + if "essential" in superior_set and "essential" in child_set: + # can only go from False to True + if ( + superior["essential"] != child["essential"] + and child["essential"] is False + ): + raise PolicyError("Essential can not go from True to False") + + comb_policy = superior_set.union(child_set) + if "one_of" in comb_policy: + if "subset_of" in comb_policy or "superset_of" in comb_policy: + raise PolicyError( + "one_of can not be combined with subset_of/superset_of" + ) + + rule = {} + for policy in comb_policy: + rule[policy] = DO_POLICY[policy](superior, child, policy) + + if comb_policy == {"superset_of", "subset_of"}: + # make sure the subset_of is a superset of superset_of. + if set(rule["superset_of"]).difference(set(rule["subset_of"])): + raise PolicyError("superset_of not a super set of subset_of") + elif comb_policy == {"superset_of", "subset_of", "default"}: + # make sure the subset_of is a superset of superset_of. + if set(rule["superset_of"]).difference(set(rule["subset_of"])): + raise PolicyError("superset_of not a super set of subset_of") + if set(rule["default"]).difference(set(rule["subset_of"])): + raise PolicyError("default not a sub set of subset_of") + if set(rule["superset_of"]).difference(set(rule["default"])): + raise PolicyError("default not a super set of subset_of") + elif comb_policy == {"subset_of", "default"}: + if set(rule["default"]).difference(set(rule["subset_of"])): + raise PolicyError("default not a sub set of subset_of") + elif comb_policy == {"superset_of", "default"}: + if set(rule["superset_of"]).difference(set(rule["default"])): + raise PolicyError("default not a super set of subset_of") + elif comb_policy == {"one_of", "default"}: + if isinstance(rule["default"], list): + if set(rule["default"]).difference(set(rule["one_of"])): + raise PolicyError("default not a super set of one_of") + else: + if {rule["default"]}.difference(set(rule["one_of"])): + raise PolicyError("default not a super set of one_of") + return rule + + +def combine_policy(superior, child): + res = {} + sup_set = set(superior.keys()) + chi_set = set(child.keys()) + + for claim in set(sup_set).intersection(chi_set): + res[claim] = combine_claim_policy(superior[claim], child[claim]) + + for claim in sup_set.difference(chi_set): + res[claim] = superior[claim] + + for claim in chi_set.difference(sup_set): + res[claim] = child[claim] + + return res + + +def gather_policies(chain, entity_type): + """ + Gather and combine all the metadata policies that are defined in the trust chain + :param chain: A list of Entity Statements + :return: The combined metadata policy + """ + + try: + combined_policy = chain[0]["metadata_policy"][entity_type] + except KeyError: + combined_policy = {} + + for es in chain[1:]: + try: + child = es["metadata_policy"][entity_type] + except KeyError: + pass + else: + combined_policy = combine_policy(combined_policy, child) + + return combined_policy + + +def union(val1, val2): + if isinstance(val1, list): + base = set(val1) + else: + base = {val1} + + if isinstance(val2, list): + ext = set(val2) + else: + ext = {val2} + return base.union(ext) + + +def apply_policy(metadata, policy): + """ + Apply a metadata policy to a metadata statement. + The order is value, add, default and then the checks subset_of/superset_of and one_of + :param metadata: A metadata statement + :param policy: A metadata policy + :return: A metadata statement that adheres to a metadata policy + """ + metadata_set = set(metadata.keys()) + policy_set = set(policy.keys()) + + # Metadata claims that there exists a policy for + for claim in metadata_set.intersection(policy_set): + if "value" in policy[claim]: # value overrides everything + metadata[claim] = policy[claim]["value"] + else: + if "one_of" in policy[claim]: + # The is for claims that can have only one value + if isinstance(metadata[claim], list): # Should not be but ... + _claim = [ + c for c in metadata[claim] if c in policy[claim]["one_of"] + ] + if _claim: + metadata[claim] = _claim[0] + else: + raise PolicyError( + "{}: None of {} among {}".format( + claim, metadata[claim], policy[claim]["one_of"] + ) + ) + else: + if metadata[claim] in policy[claim]["one_of"]: + pass + else: + raise PolicyError( + "{} not among {}".format( + metadata[claim], policy[claim]["one_of"] + ) + ) + else: + # The following is for claims that can have lists of values + if "add" in policy[claim]: + metadata[claim] = list( + union(metadata[claim], policy[claim]["add"])) + + if "subset_of" in policy[claim]: + _val = set(policy[claim]["subset_of"]).intersection( + set(metadata[claim]) + ) + if _val: + metadata[claim] = list(_val) + else: + raise PolicyError( + "{} not subset of {}".format( + metadata[claim], policy[claim]["subset_of"] + ) + ) + if "superset_of" in policy[claim]: + if set(policy[claim]["superset_of"]).difference( + set(metadata[claim]) + ): + raise PolicyError( + "{} not superset of {}".format( + metadata[claim], policy[claim]["superset_of"] + ) + ) + else: + pass + + # In policy but not in metadata + for claim in policy_set.difference(metadata_set): + if "value" in policy[claim]: + metadata[claim] = policy[claim]["value"] + elif "add" in policy[claim]: + metadata[claim] = policy[claim]["add"] + elif "default" in policy[claim]: + metadata[claim] = policy[claim]["default"] + + if claim not in metadata: + if "essential" in policy[claim] and policy[claim]["essential"]: + raise PolicyError("Essential claim '{}' missing".format(claim)) + + # All that are in metadata but not in policy should just remain + + return metadata + + +def diff2policy(new, old): + res = {} + for claim in set(new).intersection(set(old)): + if new[claim] == old[claim]: + continue + else: + res[claim] = {"value": new[claim]} + + for claim in set(new).difference(set(old)): + if claim in ["contacts"]: + res[claim] = {"add": new[claim]} + else: + res[claim] = {"value": new[claim]} + + return res diff --git a/pyeudiw/federation/statements.py b/pyeudiw/federation/statements.py new file mode 100644 index 00000000..cdaff9c8 --- /dev/null +++ b/pyeudiw/federation/statements.py @@ -0,0 +1,457 @@ +from copy import deepcopy +from .exceptions import ( + UnknownKid, + MissingJwksClaim, + MissingTrustMark, + TrustAnchorNeeded, +) +from .http_client import http_get +from .jwtse import verify_jws, unpad_jwt_head, unpad_jwt_payload + +import asyncio +import json +import logging +import requests + + +try: + pass +except ImportError: # pragma: no cover + pass + + +OIDCFED_FEDERATION_WELLKNOWN_URL = ".well-known/openid-federation" +logger = logging.getLogger("pyeudiw.federation") + + +def jwks_from_jwks_uri(jwks_uri: str, httpc_params: dict = {}) -> list: + return [json.loads(asyncio.run(http_get([jwks_uri], httpc_params)))] # pragma: no cover + + +def get_federation_jwks(jwt_payload: dict, httpc_params: dict = {}): + return ( + jwt_payload.get("jwks", {}).get("keys", []) + ) + + +def get_http_url(urls: list, httpc_params: dict = {}, http_async: bool = True) -> list: + if http_async: + responses = asyncio.run( + http_get(urls, httpc_params)) # pragma: no cover + else: + responses = [] + for i in urls: + res = requests.get(i, **httpc_params) # nosec - B113 + responses.append(res.content.decode()) + return responses + + +def get_entity_statements(urls: list, httpc_params: dict = {}) -> list: + """ + Fetches an entity statement/configuration + """ + if isinstance(urls, str): + urls = [urls] # pragma: no cover + for url in urls: + logger.debug(f"Starting Entity Statement Request to {url}") + return get_http_url(urls, httpc_params) + + +def get_entity_configurations(subjects: list, httpc_params: dict = {}): + if isinstance(subjects, str): + subjects = [subjects] + urls = [] + for subject in subjects: + if subject[-1] != "/": + subject = f"{subject}/" + url = f"{subject}{OIDCFED_FEDERATION_WELLKNOWN_URL}" + urls.append(url) + logger.info(f"Starting Entity Configuration Request for {url}") + return get_http_url(urls, httpc_params) + + +class TrustMark: + def __init__(self, jwt: str, httpc_params: dict = {}): + self.jwt = jwt + self.header = unpad_jwt_head(jwt) + self.payload = unpad_jwt_payload(jwt) + + self.id = self.payload["id"] + self.sub = self.payload["sub"] + self.iss = self.payload["iss"] + + self.is_valid = False + + self.issuer_entity_configuration = None + self.httpc_params = httpc_params + + def validate_by(self, ec) -> bool: + # TODO: pydantic entity configuration validation here + + if self.header.get("kid") not in ec.kids: + raise UnknownKid( # pragma: no cover + f"Trust Mark validation failed: " + f"{self.header.get('kid')} not found in {ec.jwks}" + ) + # verify signature + payload = verify_jws( + self.jwt, ec.jwks[ec.kids.index(self.header["kid"])]) + self.is_valid = True + return payload + + def validate_by_its_issuer(self) -> bool: + if not self.issuer_entity_configuration: + self.issuer_entity_configuration = get_entity_configurations( + self.iss, self.httpc_params + ) + try: + ec = EntityConfiguration(self.issuer_entity_configuration[0]) + ec.validate_by_itself() + except UnknownKid: + logger.warning( + f"Trust Mark validation failed by its Issuer: " + f"{self.header.get('kid')} not found in " + f"{self.issuer_entity_configuration.jwks}") + return False + except Exception: + logger.warning( + f"Issuer {self.iss} of trust mark {self.id} is not valid.") + self.is_valid = False + return False + + # verify signature + payload = verify_jws( + self.jwt, + ec.jwks[ + ec.kids.index(self.header["kid"]) + ], + ) + self.is_valid = True + return payload + + def __repr__(self) -> str: + return f"{self.id} to {self.sub} issued by {self.iss}" + + +class EntityConfiguration: + """ + The self issued/signed statement of a federation entity + """ + + def __init__( + self, + jwt: str, + httpc_params: dict = {}, + filter_by_allowed_trust_marks: list = [], + trust_anchor_entity_conf=None, + trust_mark_issuers_entity_confs: dict = [], + ): + self.jwt = jwt + self.header = unpad_jwt_head(jwt) + self.payload = unpad_jwt_payload(jwt) + self.sub = self.payload["sub"] + self.iss = self.payload["iss"] + self.jwks = get_federation_jwks(self.payload, httpc_params) + if not self.jwks[0]: + _msg = f"Missing jwks in the statement for {self.sub}" + logger.error(_msg) + raise MissingJwksClaim(_msg) + + self.kids = [i.get("kid") for i in self.jwks] + self.httpc_params = httpc_params + + self.filter_by_allowed_trust_marks = filter_by_allowed_trust_marks + self.trust_anchor_entity_conf = trust_anchor_entity_conf + self.trust_mark_issuers_entity_confs = trust_mark_issuers_entity_confs + + # a dict with sup_sub : superior entity configuration + self.verified_superiors = {} + # as previous but with superiors with invalid entity configurations + self.failed_superiors = {} + + # a dict with sup_sub : entity statement issued for self + self.verified_by_superiors = {} + self.failed_by_superiors = {} + + # a dict with the paylaod of valid entity statements for each descendant subject + self.verified_descendant_statements = {} + self.failed_descendant_statements = {} + + # a dict with the RAW JWT of valid entity statements for each descendant subject + self.verified_descendant_statements_as_jwt = {} + + self.verified_trust_marks = [] + self.is_valid = False + + def validate_by_itself(self) -> bool: + """ + validates the entity configuration by it self + """ + # TODO: pydantic entity configuration validation here + if self.header.get("kid") not in self.kids: + raise UnknownKid( + f"{self.header.get('kid')} not found in {self.jwks}") # pragma: no cover + # verify signature + verify_jws(self.jwt, self.jwks[self.kids.index(self.header["kid"])]) + self.is_valid = True + return True + + def validate_by_allowed_trust_marks(self) -> bool: + """ + validate the entity configuration ony if marked by a well known + trust mark, issued by a trusted issuer + """ + + if not self.trust_anchor_entity_conf: + raise TrustAnchorNeeded( + "To validate the trust marks the " + "Trust Anchor Entity Configuration " + "is needed." + ) + + if not self.filter_by_allowed_trust_marks: + return True + + if not self.payload.get("trust_marks"): + logger.warning( + f"{self.sub} doesn't have the trust marks claim " + "in its Entity Configuration" + ) + return False + + trust_marks = [] + is_valid = False + for tm in self.payload["trust_marks"]: + + if tm.get("id", None) not in self.filter_by_allowed_trust_marks: + continue + + try: + trust_mark = TrustMark(tm["trust_mark"]) + except KeyError: + logger.warning( + f"Trust Mark decoding failed on [{tm}]. " + "Missing 'trust_mark' claim in it" + ) + except Exception: + logger.warning(f"Trust Mark decoding failed on [{tm}]") + continue + else: + trust_marks.append(trust_mark) + + if not trust_marks: + raise MissingTrustMark( + "Required Trust marks are missing.") # pragma: no cover + + trust_mark_issuers_by_id = self.trust_anchor_entity_conf.payload.get( + "trust_marks_issuers", {} + ) + + # TODO : cache of issuers -> it would be better to have a proxy function + # + # required_issuer_ecs = [] + # for trust_mark in trust_marks: + # if trust_mark.iss not in [ + # i.payload.get('iss', None) + # for i in self.trust_mark_issuers_entity_confs + # ]: + # required_issuer_ecs.append(trust_mark.iss) + # TODO: snippet for CACHE + # if required_issuer_ec: + # ## fetch the issuer entity configuration and validate it + # iecs = get_entity_configurations( + # [required_issuer_ecs], self.httpc_params + # ) + # for jwt in iecs: + # try: + # ec = self.__class__(jwt, httpc_params=self.httpc_params) + # ec.validate_by_itself() + # except Exception as e: + # logger.warning( + # "Trust Marks issuer Entity Configuration " + # f"failed for {jwt}: {e}" + # ) + # continue + # self.trust_mark_issuers_entity_confs.append(ec) + + for trust_mark in trust_marks: + id_issuers = trust_mark_issuers_by_id.get(trust_mark.id, None) + if id_issuers and trust_mark.iss not in id_issuers: + is_valid = False + elif id_issuers and trust_mark.iss in id_issuers: + is_valid = trust_mark.validate_by_its_issuer() + elif not id_issuers: + is_valid = trust_mark.validate_by( + self.trust_anchor_entity_conf) + + if not trust_mark.is_valid: + is_valid = False + + if is_valid: + logger.info(f"Trust Mark {trust_mark} is valid") + self.verified_trust_marks.append(trust_mark) + else: + logger.warning(f"Trust Mark {trust_mark} is not valid") + + return is_valid + + def get_superiors( + self, + authority_hints: list = [], + max_authority_hints: int = 0, + superiors_hints: list = [], + ) -> dict: + """ + get superiors entity configurations + """ + # apply limits if defined + authority_hints = authority_hints or deepcopy( + self.payload.get("authority_hints", [])) + if ( + max_authority_hints + and authority_hints != authority_hints[:max_authority_hints] + ): + logger.warning( + f"Found {len(authority_hints)} but " + f"authority maximum hints is set to {max_authority_hints}. " + "the following authorities will be ignored: " + f"{', '.join(authority_hints[max_authority_hints:])}" + ) + authority_hints = authority_hints[:max_authority_hints] + + for sup in superiors_hints: + if sup.sub in authority_hints: + logger.info( + "Getting Cached Entity Configurations for " + f"{[i.sub for i in superiors_hints]}" + ) + authority_hints.pop(authority_hints.index(sup.sub)) + self.verified_superiors[sup.sub] = sup + + logger.debug(f"Getting Entity Configurations for {authority_hints}") + + jwts = get_entity_configurations(authority_hints, self.httpc_params) + for jwt in jwts: + try: + ec = self.__class__(jwt, httpc_params=self.httpc_params) + except Exception as e: + logger.warning(f"Get Entity Configuration for {jwt}: {e}") + continue + + if ec.validate_by_itself(): + target = self.verified_superiors + else: + target = self.failed_superiors + + target[ec.payload["sub"]] = ec + + for ahints in authority_hints: + if not self.verified_superiors.get(ahints, None): + logger.warning( + f"{ahints} is not available, missing or not valid authority hint" + ) + continue + + return self.verified_superiors + + def validate_descendant_statement(self, jwt: str) -> bool: + """ + jwt is a descendant entity statement issued by self + """ + # TODO: pydantic entity configuration validation here + header = unpad_jwt_head(jwt) + payload = unpad_jwt_payload(jwt) + + if header.get("kid") not in self.kids: + raise UnknownKid( + f"{self.header.get('kid')} not found in {self.jwks}") + # verify signature + payload = verify_jws(jwt, self.jwks[self.kids.index(header["kid"])]) + + self.verified_descendant_statements[payload["sub"]] = payload + self.verified_descendant_statements_as_jwt[payload["sub"]] = jwt + return self.verified_descendant_statements + + def validate_by_superior_statement(self, jwt: str, ec): + """ + jwt is a statement issued by a superior + ec is a superior entity configuration + + this method validates self with the jwks contained in statement + of the superior + """ + is_valid = None + payload = {} + try: + payload = unpad_jwt_payload(jwt) + ec.validate_by_itself() + ec.validate_descendant_statement(jwt) + _jwks = get_federation_jwks(payload, self.httpc_params) + _kids = [i.get("kid") for i in _jwks] + verify_jws(self.jwt, _jwks[_kids.index(self.header["kid"])]) + is_valid = True + except Exception as e: + logger.warning( + f"{self.sub} failed validation with " + f"{ec.sub}'s superior statement '{payload or jwt}'. " + f"Exception: {e}" + ) + is_valid = False + + if is_valid: + target = self.verified_by_superiors + ec.verified_descendant_statements[self.sub] = payload + ec.verified_descendant_statements_as_jwt[self.sub] = jwt + target[payload["iss"]] = ec + self.is_valid = True + return self.verified_by_superiors.get(ec.sub) + else: + target = self.failed_superiors + ec.failed_descendant_statements[self.sub] = payload + self.is_valid = False + + def validate_by_superiors( + self, + superiors_entity_configurations: dict = {}, + ): # -> dict[str, EntityConfiguration]: + """ + validates the entity configuration with the entity statements + issued by its superiors + + this methods create self.verified_superiors and failed ones + and self.verified_by_superiors and failed ones + """ + for ec in superiors_entity_configurations: + if ec.sub in ec.verified_by_superiors: + # already fetched and cached + continue + + try: + # get superior fetch url + fetch_api_url = ec.payload["metadata"]["federation_entity"][ + "federation_fetch_endpoint" + ] + except KeyError: + logger.warning( + "Missing federation_fetch_endpoint in " + f"federation_entity metadata for {self.sub} by {ec.sub}." + ) + self.failed_superiors[ec.sub] = None + continue + + else: + _url = f"{fetch_api_url}?sub={self.sub}" + logger.info(f"Getting entity statements from {_url}") + jwts = get_entity_statements([_url], self.httpc_params) + jwt = jwts[0] + if jwt: + self.validate_by_superior_statement(jwt, ec) + else: + logger.error( + f"Empty response for {_url}" + ) + + return self.verified_by_superiors + + def __repr__(self) -> str: + return f"{self.sub} valid {self.is_valid}" diff --git a/pyeudiw/federation/trust_chain.py b/pyeudiw/federation/trust_chain.py new file mode 100644 index 00000000..fafc0703 --- /dev/null +++ b/pyeudiw/federation/trust_chain.py @@ -0,0 +1,292 @@ +import datetime +import logging + +from collections import OrderedDict +from typing import Union + +from pyeudiw.federation.policy import apply_policy + +from .exceptions import ( + InvalidEntityConfiguration, + InvalidRequiredTrustMark, + MetadataDiscoveryException +) + +from .statements import ( + get_entity_configurations, + EntityConfiguration, +) +from pyeudiw.utils.utils import datetime_from_timestamp + + +logger = logging.getLogger("pyeudiw.federation") + + +class TrustChainBuilder: + """ + A trust walker that fetches statements and evaluate the evaluables + + max_intermediaries means how many hops are allowed to the trust anchor + max_authority_hints means how much authority_hints to follow on each hop + + required_trust_marks means all the trsut marks needed to start a metadata discovery + at least one of the required trust marks is needed to start a metadata discovery + if this param if absent the filter won't be considered. + """ + + def __init__( + self, + subject: str, + trust_anchor: Union[str, EntityConfiguration], + httpc_params: dict = {}, + max_authority_hints: int = 10, + subject_configuration: EntityConfiguration = None, + required_trust_marks: list = [], + # TODO - prefetch cache? + # pre_fetched_entity_configurations = {}, + # pre_fetched_statements = {}, + # + **kwargs, + ) -> None: + + self.subject = subject + self.subject_configuration = subject_configuration + self.httpc_params = httpc_params + + self.trust_anchor = trust_anchor + self.trust_anchor_configuration = None + + self.required_trust_marks = required_trust_marks + self.is_valid = False + + self.tree_of_trust = OrderedDict() + self.trust_path = [] # list of valid subjects up to trust anchor + + self.max_authority_hints = max_authority_hints + # dynamically valued + self.max_path_len = 0 + self.final_metadata: dict = {} + + self.verified_trust_marks = [] + self.exp = 0 + + def apply_metadata_policy(self) -> dict: + """ + filters the trust path from subject to trust anchor + apply the metadata policies along the path and + returns the final metadata + """ + # find the path of trust + if not self.trust_path: + self.trust_path = [self.subject_configuration] + elif self.trust_path[-1].sub == self.trust_anchor_configuration.sub: + # ok trust path completed, I just have to return over all the parent calls + return + + logger.info( + f"Applying metadata policy for {self.subject} over " + f"{self.trust_anchor_configuration.sub} starting from " + f"{self.trust_path[-1]}" + ) + last_path = self.tree_of_trust[len(self.trust_path) - 1] + + path_found = False + for ec in last_path: + for sup_ec in ec.verified_by_superiors.values(): + while len(self.trust_path) - 2 < self.max_path_len: + if sup_ec.sub == self.trust_anchor_configuration.sub: + self.trust_path.append(sup_ec) + path_found = True + break + if sup_ec.verified_by_superiors: + self.trust_path.append(sup_ec) + self.apply_metadata_policy() + else: + logger.info( + f"'Cul de sac' in {sup_ec.sub} for {self.subject} " + f"to {self.trust_anchor_configuration.sub}" + ) + self.trust_path = [self.subject_configuration] + break + + # once I filtered a concrete and unique trust path I can apply the metadata policy + if path_found: + logger.info(f"Found a trust path: {self.trust_path}") + self.final_metadata = self.subject_configuration.payload.get( + "metadata", {}) + if not self.final_metadata: + logger.error( + f"Missing metadata in {self.subject_configuration.payload['metadata']}" + ) + return + + for i in range(len(self.trust_path))[::-1]: + self.trust_path[i - 1].sub + _pol = ( + self.trust_path[i] + .verified_descendant_statements.get("metadata_policy", {}) + ) + for md_type, md in _pol.items(): + if not self.final_metadata.get(md_type): + continue + self.final_metadata[md_type] = apply_policy( + self.final_metadata[md_type], _pol[md_type] + ) + + # set exp + self.set_exp() + return self.final_metadata + + @property + def exp_datetime(self) -> datetime.datetime: + if self.exp: # pragma: no cover + return datetime_from_timestamp(self.exp) + + def set_exp(self) -> int: + exps = [i.payload["exp"] for i in self.trust_path] + if exps: + self.exp = min(exps) + + def discovery(self) -> bool: + """ + return a chain of verified statements + from the lower up to the trust anchor + """ + logger.info( + f"Starting a Walk into Metadata Discovery for {self.subject}") + self.tree_of_trust[0] = [self.subject_configuration] + + ecs_history = [] + while (len(self.tree_of_trust) - 2) < self.max_path_len: + last_path_n = list(self.tree_of_trust.keys())[-1] + last_ecs = self.tree_of_trust[last_path_n] + + sup_ecs = [] + for last_ec in last_ecs: + # Metadata discovery loop prevention + if last_ec.sub in ecs_history: + logger.warning( + f"Metadata discovery loop detection for {last_ec.sub}. " + f"Already present in {ecs_history}. " + "Discovery blocked for this path." + ) + continue + + try: + superiors = last_ec.get_superiors( + max_authority_hints=self.max_authority_hints, + superiors_hints=[self.trust_anchor_configuration], + ) + validated_by = last_ec.validate_by_superiors( + superiors_entity_configurations=superiors.values() + ) + vbv = list(validated_by.values()) + sup_ecs.extend(vbv) + ecs_history.append(last_ec) + except MetadataDiscoveryException as e: + logger.exception( + f"Metadata discovery exception for {last_ec.sub}: {e}" + ) + + if sup_ecs: + self.tree_of_trust[last_path_n + 1] = sup_ecs + else: + break + + last_path = list(self.tree_of_trust.keys())[-1] + if ( + self.tree_of_trust[0][0].is_valid + and self.tree_of_trust[last_path][0].is_valid + ): + self.is_valid = True + self.apply_metadata_policy() + + return self.is_valid + + def get_trust_anchor_configuration(self) -> None: + if not isinstance(self.trust_anchor, EntityConfiguration): + logger.info(f"Starting Metadata Discovery for {self.subject}") + ta_jwt = get_entity_configurations( + self.trust_anchor, httpc_params=self.httpc_params + )[0] + self.trust_anchor_configuration = EntityConfiguration(ta_jwt) + + try: + self.trust_anchor_configuration.validate_by_itself() + except Exception as e: # pragma: no cover + _msg = ( + f"Trust Anchor Entity Configuration failed for {self.trust_anchor}. " + f"{e}" + ) + logger.error(_msg) + raise Exception(_msg) + + if self.trust_anchor_configuration.payload.get("constraints", {}).get( + "max_path_length" + ): + self.max_path_len = int( + self.trust_anchor_configuration.payload["constraints"][ + "max_path_length" + ] + ) + + def get_subject_configuration(self) -> None: + if not self.subject_configuration: + try: + jwt = get_entity_configurations( + self.subject, httpc_params=self.httpc_params + ) + self.subject_configuration = EntityConfiguration( + jwt[0], trust_anchor_entity_conf=self.trust_anchor_configuration + ) + self.subject_configuration.validate_by_itself() + except Exception as e: + _msg = f"Entity Configuration for {self.subject} failed: {e}" + logger.error(_msg) + raise InvalidEntityConfiguration(_msg) + + # Trust Mark filter + if self.required_trust_marks: + sc = self.subject_configuration + sc.filter_by_allowed_trust_marks = self.required_trust_marks + + # TODO: create a proxy function that gets tm issuers ec from + # a previously populated cache + # sc.trust_mark_issuers_entity_confs = [ + # trust_mark_issuers_entity_confs + # ] + if not sc.validate_by_allowed_trust_marks(): + raise InvalidRequiredTrustMark( + "The required Trust Marks are not valid" + ) + else: + self.verified_trust_marks.extend(sc.verified_trust_marks) + + def serialize(self): + res = [] + # we keep just the leaf's and TA's EC, all the intermediates EC will be dropped + ta_ec: str = "" + for stat in self.trust_path: + if (self.subject == stat.sub == stat.iss): + res.append(stat.jwt) + elif (self.trust_anchor_configuration.sub == stat.sub == stat.iss): + ta_ec = stat.jwt + + if stat.verified_descendant_statements: + res.append( + # [dict(i) for i in stat.verified_descendant_statements.values()] + [i for i in stat.verified_descendant_statements_as_jwt.values()] + ) + if ta_ec: + res.append(ta_ec) + return res + + def start(self): + try: + self.get_trust_anchor_configuration() + self.get_subject_configuration() + self.discovery() + except Exception as e: + self.is_valid = False + logger.error(f"{e}") + raise e diff --git a/pyeudiw/satosa/backend.py b/pyeudiw/satosa/backend.py index f610e704..e0eabf9b 100644 --- a/pyeudiw/satosa/backend.py +++ b/pyeudiw/satosa/backend.py @@ -214,7 +214,8 @@ def _translate_response(self, response, issuer): """ # it may depends by credential type and attested security context evaluated # if WIA was previously submitted by the Wallet - + + # TODO - Internal Response # auth_class_ref = response.get("acr", response.get("amr", UNSPECIFIED)) # timestamp = response.get( # "auth_time", From ac42df12182dd5ba316d3e9066e77d56954fbf4a Mon Sep 17 00:00:00 2001 From: Pasquale De Rose Date: Mon, 31 Jul 2023 15:32:57 +0200 Subject: [PATCH 06/53] [Feature] Db Engine (#65) * feature: initial code for db engine * fix: fixed tests and minor fix --------- Co-authored-by: Pasquale De Rose --- example/satosa/pyeudiw_backend.yaml | 15 ++++-- pyeudiw/storage/base_storage.py | 2 +- pyeudiw/storage/db_engine.py | 53 +++++++++++++++++++++ pyeudiw/storage/mongo_storage.py | 11 +++-- pyeudiw/tests/storage/test_mongo_storage.py | 3 ++ 5 files changed, 73 insertions(+), 11 deletions(-) create mode 100644 pyeudiw/storage/db_engine.py diff --git a/example/satosa/pyeudiw_backend.yaml b/example/satosa/pyeudiw_backend.yaml index e15d0270..b27e2076 100644 --- a/example/satosa/pyeudiw_backend.yaml +++ b/example/satosa/pyeudiw_backend.yaml @@ -73,12 +73,17 @@ config: storage: mongo_db: cache: - url: mongodb://localhost:27017/ - conf: - db_name: eudiw + module: pyeudiw.storage.mongo_cache + class: MongoCache + config: + url: mongodb://localhost:27017/ + conf: + db_name: eudiw storage: - url: mongodb://localhost:27017/ - conf: + module: pyeudiw.storage.mongo_storage + class: MongoStorage + config: + url: mongodb://localhost:27017/ db_name: eudiw db_collection: sessions diff --git a/pyeudiw/storage/base_storage.py b/pyeudiw/storage/base_storage.py index 3b782452..a5be349d 100644 --- a/pyeudiw/storage/base_storage.py +++ b/pyeudiw/storage/base_storage.py @@ -1,5 +1,5 @@ class BaseStorage(object): - def init_session(self, dpop_proof: dict, attestation: dict): + def init_session(self, document_id: str, dpop_proof: dict, attestation: dict): NotImplementedError() def update_request_object(self, document_id: str, request_object: dict): diff --git a/pyeudiw/storage/db_engine.py b/pyeudiw/storage/db_engine.py new file mode 100644 index 00000000..895637c6 --- /dev/null +++ b/pyeudiw/storage/db_engine.py @@ -0,0 +1,53 @@ +import uuid +import importlib +from pyeudiw.storage.base_cache import BaseCache +from pyeudiw.storage.base_storage import BaseStorage + +class DBEngine(): + def __init__(self, config: dict): + self.cache = [] + self.storages = [] + + for db_name, db_conf in config.items(): + storage_instance, cache_instance = self._handle_instance(db_conf) + + if storage_instance: + self.storages.append(storage_instance) + + if cache_instance: + self.cache.append(cache_instance) + + def _handle_instance(instance: dict) -> dict[BaseStorage | None, BaseCache | None]: + cache_conf = instance.get("cache", None) + storage_conf = instance.get("storage", None) + + storage_instance = None + if storage_conf: + module = importlib.import_module(storage_conf["module"]) + instance_class = getattr(module, storage_conf["class"]) + + storage_instance = instance_class(storage_conf["config"]) + + cache_instance = None + if cache_conf: + module = importlib.import_module(cache_conf["module"]) + instance_class = getattr(module, cache_conf["class"]) + + cache_instance = instance_class(cache_conf["config"]) + + return storage_instance, cache_instance + + def init_session(self, dpop_proof: dict, attestation: dict): + document_id = str(uuid.uuid4()) + for storage in self.storages: + storage.init_session(dpop_proof, attestation) + + return document_id + + def update_request_object(self, document_id: str, request_object: dict): + for storage in self.storages: + storage.update_request_object(document_id, request_object) + + def update_response_object(self, nonce: str, state: str, response_object: dict): + for storage in self.storages: + storage.update_response_object(nonce, state, response_object) \ No newline at end of file diff --git a/pyeudiw/storage/mongo_storage.py b/pyeudiw/storage/mongo_storage.py index f79888a7..4274b3db 100644 --- a/pyeudiw/storage/mongo_storage.py +++ b/pyeudiw/storage/mongo_storage.py @@ -26,7 +26,7 @@ def _connect(self): def _retrieve_document_by_id(self, document_id: str) -> dict: self._connect() - document = self.collection.find_one({"_id": document_id}) + document = self.collection.find_one({"document_id": document_id}) if document is None: raise ValueError(f'Document with id {document_id} not found') @@ -46,10 +46,11 @@ def _retrieve_document_by_nonce_state(self, nonce: str, state: str) -> dict: return document - def init_session(self, dpop_proof: dict, attestation: dict): + def init_session(self, document_id: str, dpop_proof: dict, attestation: dict): creation_date = datetime.timestamp(datetime.now()) entity = { + "document_id": document_id, "creation_date": creation_date, "dpop_proof": dpop_proof, "attestation": attestation, @@ -58,9 +59,9 @@ def init_session(self, dpop_proof: dict, attestation: dict): } self._connect() - document_id = self.collection.insert_one(entity) + self.collection.insert_one(entity) - return document_id.inserted_id + return document_id def update_request_object(self, document_id: str, request_object: dict): nonce = request_object["nonce"] @@ -68,7 +69,7 @@ def update_request_object(self, document_id: str, request_object: dict): self._connect() documentStatus = self.collection.update_one( - {"_id": document_id}, + {"document_id": document_id}, { "$set": { "nonce": nonce, diff --git a/pyeudiw/tests/storage/test_mongo_storage.py b/pyeudiw/tests/storage/test_mongo_storage.py index 17a3b885..73db7690 100644 --- a/pyeudiw/tests/storage/test_mongo_storage.py +++ b/pyeudiw/tests/storage/test_mongo_storage.py @@ -22,6 +22,7 @@ def test_mongo_connection(self): def test_entity_initialization(self): document_id = self.storage.init_session( + str(uuid.uuid4()), {"dpop": "test"}, {"attestation": "test"}) assert document_id @@ -36,6 +37,7 @@ def test_entity_initialization(self): def test_add_request_object(self): document_id = self.storage.init_session( + str(uuid.uuid4()), {"dpop": "test"}, {"attestation": "test"}) assert document_id @@ -62,6 +64,7 @@ def test_add_request_object(self): def test_update_responnse_object(self): document_id = self.storage.init_session( + str(uuid.uuid4()), {"dpop": "test"}, {"attestation": "test"}) assert document_id From e4719190d6a5138a273b7d69596a45141430bef7 Mon Sep 17 00:00:00 2001 From: peppelinux Date: Mon, 31 Jul 2023 22:50:46 +0200 Subject: [PATCH 07/53] fix: federation.jwtse and added a better summary for the CI coverage --- .github/workflows/python-app.yml | 3 ++- pyeudiw/federation/jwtse.py | 30 ++++++++++++++++++++++++------ pyeudiw/satosa/backend.py | 2 +- requirements-dev.txt | 1 + 4 files changed, 28 insertions(+), 8 deletions(-) diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-app.yml index 427b8515..8f222ab9 100644 --- a/.github/workflows/python-app.yml +++ b/.github/workflows/python-app.yml @@ -59,7 +59,8 @@ jobs: flake8 pyeudiw --count --exit-zero --statistics --max-line-length 160 - name: Tests run: | - pytest --cov=pyeudiw -v --cov-report term --cov-fail-under=80 pyeudiw/tests/ + pytest --cov=pyeudiw --cov-fail-under=80 --no-summary + coverage report -m --skip-covered - name: Bandit Security Scan run: | bandit -r -x pyeudiw/tests* pyeudiw/* diff --git a/pyeudiw/federation/jwtse.py b/pyeudiw/federation/jwtse.py index 61e5cbf7..df853a9d 100644 --- a/pyeudiw/federation/jwtse.py +++ b/pyeudiw/federation/jwtse.py @@ -2,6 +2,7 @@ import binascii import json import logging +import os import cryptojwt from cryptojwt.exception import UnsupportedAlgorithm, VerificationError @@ -13,14 +14,31 @@ from cryptojwt.jws.utils import left_hash from typing import Union -from .settings import ( - DEFAULT_JWE_ALG, - DEFAULT_JWE_ENC, - ENCRYPTION_ALG_VALUES_SUPPORTED, - SIGNING_ALG_VALUES_SUPPORTED, + +# TODO - leave these globals here and use as fallback if the function parameter is not passed +# TODO - port these values in the backend general configuration + +DEFAULT_JWS_ALG = os.getenv("DEFAULT_JWS_ALG", "RS256") +DEFAULT_JWE_ALG = os.getenv("DEFAULT_JWE_ALG", "RSA-OAEP") +DEFAULT_JWE_ENC = os.getenv("DEFAULT_JWE_ENC", "A256CBC-HS512") +SIGNING_ALG_VALUES_SUPPORTED = os.getenv( + "SIGNING_ALG_VALUES_SUPPORTED", + ["RS256", "RS384", "RS512", "ES256", "ES384", "ES512"], ) +ENCRYPTION_ALG_VALUES_SUPPORTED = os.getenv( + "ENCRYPTION_ALG_VALUES_SUPPORTED", + [ + "RSA-OAEP", + "RSA-OAEP-256", + "ECDH-ES", + "ECDH-ES+A128KW", + "ECDH-ES+A192KW", + "ECDH-ES+A256KW", + ], +) + -logger = logging.getLogger(__name__) +logger = logging.getLogger("pyeudiw.federation") def unpad_jwt_element(jwt: str, position: int) -> dict: diff --git a/pyeudiw/satosa/backend.py b/pyeudiw/satosa/backend.py index e0eabf9b..c0b27a64 100644 --- a/pyeudiw/satosa/backend.py +++ b/pyeudiw/satosa/backend.py @@ -214,7 +214,7 @@ def _translate_response(self, response, issuer): """ # it may depends by credential type and attested security context evaluated # if WIA was previously submitted by the Wallet - + # TODO - Internal Response # auth_class_ref = response.get("acr", response.get("amr", UNSPECIFIED)) # timestamp = response.get( diff --git a/requirements-dev.txt b/requirements-dev.txt index 02523b19..87ab77ab 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,4 +1,5 @@ pytest +coverage pdbpp pytest-cov flake8 From 9db47ba2ffdb5b63c478b6081fb1793e8812c180 Mon Sep 17 00:00:00 2001 From: peppelinux Date: Mon, 31 Jul 2023 22:54:02 +0200 Subject: [PATCH 08/53] fix: enable again pytest summary --- .github/workflows/python-app.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-app.yml index 8f222ab9..46897820 100644 --- a/.github/workflows/python-app.yml +++ b/.github/workflows/python-app.yml @@ -59,7 +59,7 @@ jobs: flake8 pyeudiw --count --exit-zero --statistics --max-line-length 160 - name: Tests run: | - pytest --cov=pyeudiw --cov-fail-under=80 --no-summary + pytest --cov=pyeudiw --cov-fail-under=80 coverage report -m --skip-covered - name: Bandit Security Scan run: | From dcec996daed3679fe3fc1acfe661c0651343628f Mon Sep 17 00:00:00 2001 From: Pasquale De Rose Date: Tue, 1 Aug 2023 15:40:38 +0200 Subject: [PATCH 09/53] Added critical logging (#67) * feature: initial code for db engine * fix: fixed tests and minor fix * fix: moved nonce and state * fix: implemented logger critical errors * feature: added method set and RetrieveStatus enum * fix: fixed cache * feat: implemented cache methods in DBEngine * fix: fixed mongo cache tests * Update pyeudiw/storage/db_engine.py Co-authored-by: Giuseppe De Marco * Update pyeudiw/storage/db_engine.py Co-authored-by: Giuseppe De Marco * Update pyeudiw/storage/db_engine.py Co-authored-by: Giuseppe De Marco * Update pyeudiw/storage/db_engine.py Co-authored-by: Giuseppe De Marco * fix: minor bug fix * fix: fixed bugs on storage side of DBEngine * test: added tests for the storage side of DBEngine * fix: setted state as nullable parameter * fix: added nullable state --------- Co-authored-by: Pasquale De Rose Co-authored-by: Giuseppe De Marco --- pyeudiw/storage/base_cache.py | 9 +- pyeudiw/storage/base_storage.py | 4 +- pyeudiw/storage/db_engine.py | 106 +++++++++++++++++--- pyeudiw/storage/mongo_cache.py | 34 ++++--- pyeudiw/storage/mongo_storage.py | 17 ++-- pyeudiw/tests/storage/test_db_engine.py | 82 +++++++++++++++ pyeudiw/tests/storage/test_mongo_cache.py | 4 +- pyeudiw/tests/storage/test_mongo_storage.py | 4 +- 8 files changed, 214 insertions(+), 46 deletions(-) create mode 100644 pyeudiw/tests/storage/test_db_engine.py diff --git a/pyeudiw/storage/base_cache.py b/pyeudiw/storage/base_cache.py index 7e6ac00d..8b31de90 100644 --- a/pyeudiw/storage/base_cache.py +++ b/pyeudiw/storage/base_cache.py @@ -1,9 +1,16 @@ +from enum import Enum from typing import Callable +class RetrieveStatus(Enum): + RETRIEVED = 0 + ADDED = 1 class BaseCache(): - def try_retrieve(self, object_name: str, on_not_found: Callable[[], str]) -> dict: + def try_retrieve(self, object_name: str, on_not_found: Callable[[], str]) -> tuple[dict, RetrieveStatus]: raise NotImplementedError() def overwrite(self, object_name: str, value_gen_fn: Callable[[], str]) -> dict: raise NotImplementedError() + + def set(self, data: dict) -> dict: + raise NotImplementedError() diff --git a/pyeudiw/storage/base_storage.py b/pyeudiw/storage/base_storage.py index a5be349d..3b566afd 100644 --- a/pyeudiw/storage/base_storage.py +++ b/pyeudiw/storage/base_storage.py @@ -2,8 +2,8 @@ class BaseStorage(object): def init_session(self, document_id: str, dpop_proof: dict, attestation: dict): NotImplementedError() - def update_request_object(self, document_id: str, request_object: dict): + def update_request_object(self, document_id: str, nonce: str, state: str | None, request_object: dict): NotImplementedError() - def update_response_object(self, nonce: str, state: str, response_object: dict): + def update_response_object(self, nonce: str, state: str | None, response_object: dict): NotImplementedError() diff --git a/pyeudiw/storage/db_engine.py b/pyeudiw/storage/db_engine.py index 895637c6..c064112f 100644 --- a/pyeudiw/storage/db_engine.py +++ b/pyeudiw/storage/db_engine.py @@ -1,23 +1,27 @@ import uuid +import logging import importlib -from pyeudiw.storage.base_cache import BaseCache +from typing import Callable +from pyeudiw.storage.base_cache import BaseCache, RetrieveStatus from pyeudiw.storage.base_storage import BaseStorage +logger = logging.getLogger("openid4vp.storage.db") + class DBEngine(): def __init__(self, config: dict): - self.cache = [] + self.caches = [] self.storages = [] for db_name, db_conf in config.items(): storage_instance, cache_instance = self._handle_instance(db_conf) if storage_instance: - self.storages.append(storage_instance) + self.storages.append((db_name, storage_instance)) if cache_instance: - self.cache.append(cache_instance) + self.caches.append((db_name, cache_instance)) - def _handle_instance(instance: dict) -> dict[BaseStorage | None, BaseCache | None]: + def _handle_instance(self, instance: dict) -> dict[BaseStorage | None, BaseCache | None]: cache_conf = instance.get("cache", None) storage_conf = instance.get("storage", None) @@ -26,28 +30,98 @@ def _handle_instance(instance: dict) -> dict[BaseStorage | None, BaseCache | Non module = importlib.import_module(storage_conf["module"]) instance_class = getattr(module, storage_conf["class"]) - storage_instance = instance_class(storage_conf["config"]) + storage_instance = instance_class(**storage_conf["init_params"]) cache_instance = None if cache_conf: module = importlib.import_module(cache_conf["module"]) instance_class = getattr(module, cache_conf["class"]) - cache_instance = instance_class(cache_conf["config"]) + cache_instance = instance_class(**cache_conf["init_params"]) return storage_instance, cache_instance - def init_session(self, dpop_proof: dict, attestation: dict): + def init_session(self, dpop_proof: dict, attestation: dict) -> str: document_id = str(uuid.uuid4()) - for storage in self.storages: - storage.init_session(dpop_proof, attestation) + for db_name, storage in self.storages: + try: + storage.init_session(document_id, dpop_proof, attestation) + except Exception as e: + logger.critical(f"Error {str(e)}") + logger.critical(f"Cannot write document with id {document_id} on {db_name}") return document_id - def update_request_object(self, document_id: str, request_object: dict): - for storage in self.storages: - storage.update_request_object(document_id, request_object) + def update_request_object(self, document_id: str, nonce: str, state: str | None, request_object: dict) -> tuple[str, str, int]: + replica_count = 0 + for db_name, storage in self.storages: + try: + storage.update_request_object(document_id, nonce, state, request_object) + replica_count += 1 + except Exception as e: + logger.critical(f"Error {str(e)}") + logger.critical(f"Cannot update document with id {document_id} on {db_name}") + + if replica_count == 0: + raise Exception(f"Cannot update document {document_id} on any instance") + + return nonce, state, replica_count + + def update_response_object(self, nonce: str, state: str, response_object: dict) -> int: + replica_count = 0 + for db_name, storage in self.storages: + try: + storage.update_response_object(nonce, state, response_object) + replica_count += 1 + except Exception as e: + logger.critical(f"Error {str(e)}") + logger.critical(f"Cannot update document with nonce {nonce} and state {state} on {db_name}") + + if replica_count == 0: + raise Exception(f"Cannot update document with state {state} and nonce {nonce} on any instance") + + return replica_count + + def _cache_try_retrieve(self, object_name: str, on_not_found: Callable[[], str]) -> tuple[dict, RetrieveStatus, int]: + for i, cache in enumerate(self.caches): + try: + cache_object, status = cache.try_retrieve(object_name, on_not_found) + return cache_object, status, i + except Exception as e: + logger.critical("Cannot retrieve or write cache object with identifier {object_name} on database {db_name}") + raise ConnectionRefusedError("Cannot write cache object on any instance") - def update_response_object(self, nonce: str, state: str, response_object: dict): - for storage in self.storages: - storage.update_response_object(nonce, state, response_object) \ No newline at end of file + def try_retrieve(self, object_name: str, on_not_found: Callable[[], str]) -> dict: + istances_len = len(self.caches) + + # if no cache instance exist return the object + if istances_len == 0: + return on_not_found() + + # if almost one cache instance exist try to retrieve + cache_object, status, idx = self._cache_try_retrieve(object_name, on_not_found) + + # if the status is retrieved return the object + if status == RetrieveStatus.RETRIEVED: + return cache_object + + # else try replicate the data on all the other istances + replica_instances = self.caches[:idx] + self.caches[idx + 1:] + + for cache_name, cache in replica_instances: + try: + cache.set(cache_object) + except Exception as e: + logger.critical("Cannot replicate cache object with identifier {object_name} on cache {cache_name}") + + return cache_object + + def overwrite(self, object_name: str, value_gen_fn: Callable[[], str]) -> dict: + for cache_name, cache in self.caches: + cache_object = None + try: + cache_object = cache.overwrite(object_name, value_gen_fn) + except Exception as e: + logger.critical("Cannot overwrite cache object with identifier {object_name} on cache {cache_name}") + + return cache_object \ No newline at end of file diff --git a/pyeudiw/storage/mongo_cache.py b/pyeudiw/storage/mongo_cache.py index 86cd3909..d33c9f17 100644 --- a/pyeudiw/storage/mongo_cache.py +++ b/pyeudiw/storage/mongo_cache.py @@ -2,14 +2,13 @@ from datetime import datetime from typing import Callable -from .base_cache import BaseCache - +from pyeudiw.storage.base_cache import BaseCache, RetrieveStatus class MongoCache(BaseCache): - def __init__(self, storage_conf: dict, url: str, connection_params: dict = None) -> None: + def __init__(self, conf: dict, url: str, connection_params: dict = None) -> None: super().__init__() - self.storage_conf = storage_conf + self.storage_conf = conf self.url = url self.connection_params = connection_params @@ -22,8 +21,17 @@ def _connect(self): self.url, **self.connection_params) self.db = getattr(self.client, self.storage_conf["db_name"]) self.collection = getattr(self.db, "cache_storage") + + def _gen_cache_object(self, object_name: str, data: str): + creation_date = datetime.timestamp(datetime.now()) + return { + "object_name": object_name, + "data": data, + "creation_date": creation_date + } + - def try_retrieve(self, object_name: str, on_not_found: Callable[[], str]) -> dict: + def try_retrieve(self, object_name: str, on_not_found: Callable[[], str]) -> tuple[dict, RetrieveStatus]: self._connect() query = {"object_name": object_name} @@ -31,16 +39,11 @@ def try_retrieve(self, object_name: str, on_not_found: Callable[[], str]) -> dic cache_object = self.collection.find_one(query) if cache_object is None: - creation_date = datetime.timestamp(datetime.now()) - cache_object = { - "object_name": object_name, - "data": on_not_found(), - "creation_date": creation_date - } - + cache_object = self._gen_cache_object(object_name, on_not_found()) self.collection.insert_one(cache_object) + return cache_object, RetrieveStatus.ADDED - return cache_object + return cache_object, RetrieveStatus.RETRIEVED def overwrite(self, object_name: str, value_gen_fn: Callable[[], str]) -> dict: self._connect() @@ -64,3 +67,8 @@ def overwrite(self, object_name: str, value_gen_fn: Callable[[], str]) -> dict: }) return cache_object + + def set(self, data: dict) -> dict: + self._connect() + + return self.collection.insert_one(data) diff --git a/pyeudiw/storage/mongo_storage.py b/pyeudiw/storage/mongo_storage.py index 4274b3db..ea76fccc 100644 --- a/pyeudiw/storage/mongo_storage.py +++ b/pyeudiw/storage/mongo_storage.py @@ -5,10 +5,10 @@ class MongoStorage(BaseStorage): - def __init__(self, storage_conf: dict, url: str, connection_params: dict = None) -> None: + def __init__(self, conf: dict, url: str, connection_params: dict = None) -> None: super().__init__() - self.storage_conf = storage_conf + self.storage_conf = conf self.url = url self.connection_params = connection_params @@ -33,7 +33,7 @@ def _retrieve_document_by_id(self, document_id: str) -> dict: return document - def _retrieve_document_by_nonce_state(self, nonce: str, state: str) -> dict: + def _retrieve_document_by_nonce_state(self, nonce: str | None, state: str) -> dict: self._connect() query = {"state": state, "nonce": nonce} @@ -46,7 +46,7 @@ def _retrieve_document_by_nonce_state(self, nonce: str, state: str) -> dict: return document - def init_session(self, document_id: str, dpop_proof: dict, attestation: dict): + def init_session(self, document_id: str, dpop_proof: dict, attestation: dict) -> str: creation_date = datetime.timestamp(datetime.now()) entity = { @@ -63,11 +63,9 @@ def init_session(self, document_id: str, dpop_proof: dict, attestation: dict): return document_id - def update_request_object(self, document_id: str, request_object: dict): - nonce = request_object["nonce"] - state = request_object["state"] - - self._connect() + def update_request_object(self, document_id: str, nonce: str, state: str, request_object: dict) -> tuple[str, str, dict]: + self._retrieve_document_by_id(document_id) + documentStatus = self.collection.update_one( {"document_id": document_id}, { @@ -78,7 +76,6 @@ def update_request_object(self, document_id: str, request_object: dict): } } ) - return nonce, state, documentStatus def update_response_object(self, nonce: str, state: str, response_object: dict): diff --git a/pyeudiw/tests/storage/test_db_engine.py b/pyeudiw/tests/storage/test_db_engine.py new file mode 100644 index 00000000..6d7ad1d2 --- /dev/null +++ b/pyeudiw/tests/storage/test_db_engine.py @@ -0,0 +1,82 @@ +import uuid +import pytest + +from pyeudiw.storage.db_engine import DBEngine + +conf = { + "mongo_db": { + "cache": { + "module": "pyeudiw.storage.mongo_cache", + "class": "MongoCache", + "init_params": { + "url": "mongodb://localhost:27017/", + "conf": { + "db_name": "eudiw" + }, + "connection_params": {} + } + }, + "storage": { + "module": "pyeudiw.storage.mongo_storage", + "class": "MongoStorage", + "init_params": { + "url": "mongodb://localhost:27017/", + "conf": { + "db_name": "eudiw", + "db_collection": "sessions" + }, + "connection_params": {} + } + } + } +} + +class TestMongoDBEngine: + @pytest.fixture(autouse=True) + def create_engine_instance(self): + self.engine = DBEngine(conf) + + @pytest.fixture(autouse=True) + def test_init_session(self): + dpop_proof = {"dpop": "dpop"} + attestation = {"attestation": "attestation"} + + document_id = self.engine.init_session(dpop_proof, attestation) + + assert document_id + + self.document_id = document_id + + @pytest.fixture(autouse=True) + def test_update_request_object(self): + self.nonce = str(uuid.uuid4()) + self.state = str(uuid.uuid4()) + request_object = {"request_object": "request_object"} + + r_nonce, r_state, _ = self.engine.update_request_object(self.document_id, self.nonce, self.state, request_object) + + assert self.nonce == r_nonce + assert self.state == r_state + + def test_update_request_object_with_unexistent_id_object(self): + nonce = str(uuid.uuid4()) + state = str(uuid.uuid4()) + unx_document_id = str(uuid.uuid4()) + request_object = {"request_object": "request_object"} + + try: + self.engine.update_request_object(unx_document_id, nonce, state, request_object) + except: + return + + def test_update_response_object(self): + response_object = {"response_object": "response_object"} + self.engine.update_response_object(self.nonce, self.state, response_object) + + def test_update_response_object_unexistent_id_object(self): + response_object = {"response_object": "response_object"} + + try: + replica_count = self.engine.update_response_object(str(uuid.uuid4()), str(uuid.uuid4()), response_object) + except: + return \ No newline at end of file diff --git a/pyeudiw/tests/storage/test_mongo_cache.py b/pyeudiw/tests/storage/test_mongo_cache.py index 539b1519..ad0df078 100644 --- a/pyeudiw/tests/storage/test_mongo_cache.py +++ b/pyeudiw/tests/storage/test_mongo_cache.py @@ -17,7 +17,7 @@ def test_try_retrieve(self): object_name = str(uuid.uuid4()) data = str(uuid.uuid4()) - obj = self.cache.try_retrieve(object_name, lambda: data) + obj, _ = self.cache.try_retrieve(object_name, lambda: data) assert obj assert obj["object_name"] == object_name @@ -34,7 +34,7 @@ def test_overwrite(self): object_name = str(uuid.uuid4()) data = str(uuid.uuid4()) - obj = self.cache.try_retrieve(object_name, lambda: data) + obj, _ = self.cache.try_retrieve(object_name, lambda: data) data_updated = str(uuid.uuid4()) diff --git a/pyeudiw/tests/storage/test_mongo_storage.py b/pyeudiw/tests/storage/test_mongo_storage.py index 73db7690..adbda65a 100644 --- a/pyeudiw/tests/storage/test_mongo_storage.py +++ b/pyeudiw/tests/storage/test_mongo_storage.py @@ -47,7 +47,7 @@ def test_add_request_object(self): request_object = {"nonce": nonce, "state": state} - self.storage.update_request_object(document_id, request_object) + self.storage.update_request_object(document_id, nonce, state, request_object) document = self.storage._retrieve_document_by_id(document_id) @@ -74,7 +74,7 @@ def test_update_responnse_object(self): request_object = {"nonce": nonce, "state": state} - self.storage.update_request_object(document_id, request_object) + self.storage.update_request_object(document_id, nonce, state, request_object) documentStatus = self.storage.update_response_object( nonce, state, {"response": "test"}) From 00dc7fc0b775b7b46de723c7abcbcd803eff7207 Mon Sep 17 00:00:00 2001 From: peppelinux Date: Tue, 1 Aug 2023 18:05:13 +0200 Subject: [PATCH 10/53] feat: added default algs in general config, added abstract trust chains modules --- example/satosa/pyeudiw_backend.yaml | 57 ++++--- pyeudiw/federation/jwtse.py | 157 ------------------ pyeudiw/federation/statements.py | 35 ++-- ...{trust_chain.py => trust_chain_builder.py} | 16 +- pyeudiw/federation/trust_chain_validator.py | 61 +++++++ 5 files changed, 119 insertions(+), 207 deletions(-) delete mode 100644 pyeudiw/federation/jwtse.py rename pyeudiw/federation/{trust_chain.py => trust_chain_builder.py} (96%) create mode 100644 pyeudiw/federation/trust_chain_validator.py diff --git a/example/satosa/pyeudiw_backend.yaml b/example/satosa/pyeudiw_backend.yaml index 33a1f55c..fe1d9d4b 100644 --- a/example/satosa/pyeudiw_backend.yaml +++ b/example/satosa/pyeudiw_backend.yaml @@ -24,8 +24,31 @@ config: jwt: default_sig_alg: ES256 # or RS256 + default_enc_alg: RSA-OAEP + default_enc_enc: A256CBC-HS512 default_exp: 6 # minutes - + enc_alg_supported: + - RSA-OAEP + - RSA-OAEP-256 + - ECDH-ES + - ECDH-ES+A128KW + - ECDH-ES+A192KW + - ECDH-ES+A256KW + enc_enc_supported: + - A128CBC-HS256 + - A192CBC-HS384 + - A256CBC-HS512 + - A128GCM + - A192GCM + - A256GCM + sig_alg_supported: + - RS256 + - RS384 + - RS512 + - ES256 + - ES384 + - ES512 + authorization: url_scheme: "eudiw" # eudiw:// scopes: @@ -87,19 +110,9 @@ config: application_type: web #The following section contains all the algorithms supported for the encryption of response - authorization_encrypted_response_alg: - - RSA-OAEP - - RSA-OAEP-256 - authorization_encrypted_response_enc: - - A128CBC-HS256 - - A192CBC-HS384 - - A256CBC-HS512 - - A128GCM - - A192GCM - - A256GCM - authorization_signed_response_alg: - - RS256 - - ES256 + authorization_encrypted_response_alg: + authorization_encrypted_response_enc: + authorization_signed_response_alg: #Various informations of the client client_id: "/" @@ -113,19 +126,9 @@ config: default_max_age: 1111 #The following section contains all the algorithms supported for the encryption of id token response - id_token_encrypted_response_alg: - - RSA-OAEP - - RSA-OAEP-256 - id_token_encrypted_response_enc: - - A128CBC-HS256 - - A192CBC-HS384 - - A256CBC-HS512 - - A128GCM - - A192GCM - - A256GCM - id_token_signed_response_alg: - - RS256 - - ES256 + id_token_encrypted_response_alg: + id_token_encrypted_response_enc: + id_token_signed_response_alg: # loaded in the __init__ # jwks: diff --git a/pyeudiw/federation/jwtse.py b/pyeudiw/federation/jwtse.py deleted file mode 100644 index df853a9d..00000000 --- a/pyeudiw/federation/jwtse.py +++ /dev/null @@ -1,157 +0,0 @@ -import base64 -import binascii -import json -import logging -import os - -import cryptojwt -from cryptojwt.exception import UnsupportedAlgorithm, VerificationError -from cryptojwt.jwe.jwe import factory -from cryptojwt.jwe.jwe_ec import JWE_EC -from cryptojwt.jwe.jwe_rsa import JWE_RSA -from cryptojwt.jwk.jwk import key_from_jwk_dict -from cryptojwt.jws.jws import JWS -from cryptojwt.jws.utils import left_hash -from typing import Union - - -# TODO - leave these globals here and use as fallback if the function parameter is not passed -# TODO - port these values in the backend general configuration - -DEFAULT_JWS_ALG = os.getenv("DEFAULT_JWS_ALG", "RS256") -DEFAULT_JWE_ALG = os.getenv("DEFAULT_JWE_ALG", "RSA-OAEP") -DEFAULT_JWE_ENC = os.getenv("DEFAULT_JWE_ENC", "A256CBC-HS512") -SIGNING_ALG_VALUES_SUPPORTED = os.getenv( - "SIGNING_ALG_VALUES_SUPPORTED", - ["RS256", "RS384", "RS512", "ES256", "ES384", "ES512"], -) -ENCRYPTION_ALG_VALUES_SUPPORTED = os.getenv( - "ENCRYPTION_ALG_VALUES_SUPPORTED", - [ - "RSA-OAEP", - "RSA-OAEP-256", - "ECDH-ES", - "ECDH-ES+A128KW", - "ECDH-ES+A192KW", - "ECDH-ES+A256KW", - ], -) - - -logger = logging.getLogger("pyeudiw.federation") - - -def unpad_jwt_element(jwt: str, position: int) -> dict: - b = jwt.split(".")[position] - padded = f"{b}{'=' * divmod(len(b), 4)[1]}" - data = json.loads(base64.urlsafe_b64decode(padded)) - return data - - -def unpad_jwt_head(jwt: str) -> dict: - return unpad_jwt_element(jwt, position=0) - - -def unpad_jwt_payload(jwt: str) -> dict: - return unpad_jwt_element(jwt, position=1) - - -def create_jwe(plain_dict: Union[dict, str, int, None], jwk_dict: dict, **kwargs) -> str: - logger.debug(f"Encrypting dict as JWE: " f"{plain_dict}") - _key = key_from_jwk_dict(jwk_dict) - - if isinstance(_key, cryptojwt.jwk.rsa.RSAKey): - JWE_CLASS = JWE_RSA - elif isinstance(_key, cryptojwt.jwk.ec.ECKey): - JWE_CLASS = JWE_EC - - if isinstance(plain_dict, dict): - _payload = json.dumps(plain_dict).encode() - elif not plain_dict: - logger.warning(f"create_jwe with null payload!") - _payload = "" - elif isinstance(plain_dict, (str, int)): - _payload = plain_dict - else: - logger.error(f"create_jwe with unsupported payload type!") - _payload = "" - - _keyobj = JWE_CLASS( - _payload, - alg=DEFAULT_JWE_ALG, - enc=DEFAULT_JWE_ENC, - kid=_key.kid, - **kwargs - ) - - jwe = _keyobj.encrypt(_key.public_key()) - logger.debug(f"Encrypted dict as JWE: {jwe}") - return jwe - - -def decrypt_jwe(jwe: str, jwk_dict: dict) -> dict: - # get header - try: - jwe_header = unpad_jwt_head(jwe) - except (binascii.Error, Exception) as e: # pragma: no cover - logger.error(f"Failed to extract JWT header: {e}") - raise VerificationError("The JWT is not valid") - - _alg = jwe_header.get("alg", DEFAULT_JWE_ALG) - _enc = jwe_header.get("enc", DEFAULT_JWE_ENC) - jwe_header.get("kid") - - if _alg not in ENCRYPTION_ALG_VALUES_SUPPORTED: # pragma: no cover - raise UnsupportedAlgorithm( - f"{_alg} has beed disabled for security reason") - - _decryptor = factory(jwe, alg=_alg, enc=_enc) - - # _dkey = RSAKey(priv_key=PRIV_KEY) - _dkey = key_from_jwk_dict(jwk_dict) - msg = _decryptor.decrypt(jwe, [_dkey]) - - try: - msg_dict = json.loads(msg) - logger.debug(f"Decrypted JWT as: {json.dumps(msg_dict, indent=2)}") - except json.decoder.JSONDecodeError: - msg_dict = msg - logger.debug(f"Decrypted JWT as: {msg_dict}") - return msg_dict - - -def create_jws(payload: dict, jwk_dict: dict, alg: str = "RS256", protected: dict = {}, **kwargs) -> str: - _key = key_from_jwk_dict(jwk_dict) - _signer = JWS(payload, alg=alg, **kwargs) - - signature = _signer.sign_compact([_key], protected=protected, **kwargs) - return signature - - -def verify_jws(jws: str, pub_jwk: dict, **kwargs) -> str: - _key = key_from_jwk_dict(pub_jwk) - - _head = unpad_jwt_head(jws) - if _head.get("kid") != pub_jwk["kid"]: # pragma: no cover - raise Exception( - f"kid error: {_head.get('kid')} != {pub_jwk['kid']}" - ) - - _alg = _head["alg"] - if _alg not in SIGNING_ALG_VALUES_SUPPORTED or not _alg: # pragma: no cover - raise UnsupportedAlgorithm( - f"{_alg} has beed disabled for security reason") - - verifier = JWS(alg=_head["alg"], **kwargs) - msg = verifier.verify_compact(jws, [_key]) - return msg - - -def verify_at_hash(id_token, access_token) -> bool: - id_token_at_hash = id_token['at_hash'] - at_hash = left_hash(access_token, "HS256") - if at_hash != id_token_at_hash: - raise Exception( - f"at_hash error: {at_hash} != {id_token_at_hash}" - ) - return True diff --git a/pyeudiw/federation/statements.py b/pyeudiw/federation/statements.py index cdaff9c8..388e9493 100644 --- a/pyeudiw/federation/statements.py +++ b/pyeudiw/federation/statements.py @@ -6,7 +6,8 @@ TrustAnchorNeeded, ) from .http_client import http_get -from .jwtse import verify_jws, unpad_jwt_head, unpad_jwt_payload +from pyeudiw.jwt.utils import unpad_jwt_payload, unpad_jwt_header +from pyeudiw.jws import JWSHelper import asyncio import json @@ -73,7 +74,7 @@ def get_entity_configurations(subjects: list, httpc_params: dict = {}): class TrustMark: def __init__(self, jwt: str, httpc_params: dict = {}): self.jwt = jwt - self.header = unpad_jwt_head(jwt) + self.header = unpad_jwt_header(jwt) self.payload = unpad_jwt_payload(jwt) self.id = self.payload["id"] @@ -94,8 +95,9 @@ def validate_by(self, ec) -> bool: f"{self.header.get('kid')} not found in {ec.jwks}" ) # verify signature - payload = verify_jws( - self.jwt, ec.jwks[ec.kids.index(self.header["kid"])]) + + jwsh = JWSHelper(ec.jwks[ec.kids.index(self.header["kid"])]) + payload = jwsh.verify(self.jwt) self.is_valid = True return payload @@ -120,12 +122,8 @@ def validate_by_its_issuer(self) -> bool: return False # verify signature - payload = verify_jws( - self.jwt, - ec.jwks[ - ec.kids.index(self.header["kid"]) - ], - ) + jwsh = JWSHelper(ec.jwks[ec.kids.index(self.header["kid"])]) + payload = jwsh.verify(self.jwt) self.is_valid = True return payload @@ -133,7 +131,7 @@ def __repr__(self) -> str: return f"{self.id} to {self.sub} issued by {self.iss}" -class EntityConfiguration: +class EntityStatement: """ The self issued/signed statement of a federation entity """ @@ -147,7 +145,7 @@ def __init__( trust_mark_issuers_entity_confs: dict = [], ): self.jwt = jwt - self.header = unpad_jwt_head(jwt) + self.header = unpad_jwt_header(jwt) self.payload = unpad_jwt_payload(jwt) self.sub = self.payload["sub"] self.iss = self.payload["iss"] @@ -192,7 +190,8 @@ def validate_by_itself(self) -> bool: raise UnknownKid( f"{self.header.get('kid')} not found in {self.jwks}") # pragma: no cover # verify signature - verify_jws(self.jwt, self.jwks[self.kids.index(self.header["kid"])]) + jwsh = JWSHelper(self.jwks[self.kids.index(self.header["kid"])]) + payload = jwsh.verify(self.jwt) self.is_valid = True return True @@ -359,14 +358,15 @@ def validate_descendant_statement(self, jwt: str) -> bool: jwt is a descendant entity statement issued by self """ # TODO: pydantic entity configuration validation here - header = unpad_jwt_head(jwt) + header = unpad_jwt_header(jwt) payload = unpad_jwt_payload(jwt) if header.get("kid") not in self.kids: raise UnknownKid( f"{self.header.get('kid')} not found in {self.jwks}") # verify signature - payload = verify_jws(jwt, self.jwks[self.kids.index(header["kid"])]) + jwsh = JWSHelper(self.jwks[self.kids.index(header["kid"])]) + payload = jwsh.verify(jwt) self.verified_descendant_statements[payload["sub"]] = payload self.verified_descendant_statements_as_jwt[payload["sub"]] = jwt @@ -388,7 +388,10 @@ def validate_by_superior_statement(self, jwt: str, ec): ec.validate_descendant_statement(jwt) _jwks = get_federation_jwks(payload, self.httpc_params) _kids = [i.get("kid") for i in _jwks] - verify_jws(self.jwt, _jwks[_kids.index(self.header["kid"])]) + + jwsh = JWSHelper(_jwks[_kids.index(self.header["kid"])]) + payload = jwsh.verify(self.jwt) + is_valid = True except Exception as e: logger.warning( diff --git a/pyeudiw/federation/trust_chain.py b/pyeudiw/federation/trust_chain_builder.py similarity index 96% rename from pyeudiw/federation/trust_chain.py rename to pyeudiw/federation/trust_chain_builder.py index fafc0703..98fc4956 100644 --- a/pyeudiw/federation/trust_chain.py +++ b/pyeudiw/federation/trust_chain_builder.py @@ -14,7 +14,7 @@ from .statements import ( get_entity_configurations, - EntityConfiguration, + EntityStatement, ) from pyeudiw.utils.utils import datetime_from_timestamp @@ -37,10 +37,10 @@ class TrustChainBuilder: def __init__( self, subject: str, - trust_anchor: Union[str, EntityConfiguration], + trust_anchor: Union[str, EntityStatement], httpc_params: dict = {}, max_authority_hints: int = 10, - subject_configuration: EntityConfiguration = None, + subject_configuration: EntityStatement = None, required_trust_marks: list = [], # TODO - prefetch cache? # pre_fetched_entity_configurations = {}, @@ -204,12 +204,12 @@ def discovery(self) -> bool: return self.is_valid def get_trust_anchor_configuration(self) -> None: - if not isinstance(self.trust_anchor, EntityConfiguration): + if not isinstance(self.trust_anchor, EntityStatement): logger.info(f"Starting Metadata Discovery for {self.subject}") ta_jwt = get_entity_configurations( self.trust_anchor, httpc_params=self.httpc_params )[0] - self.trust_anchor_configuration = EntityConfiguration(ta_jwt) + self.trust_anchor_configuration = EntityStatement(ta_jwt) try: self.trust_anchor_configuration.validate_by_itself() @@ -236,14 +236,14 @@ def get_subject_configuration(self) -> None: jwt = get_entity_configurations( self.subject, httpc_params=self.httpc_params ) - self.subject_configuration = EntityConfiguration( + self.subject_configuration = EntityStatement( jwt[0], trust_anchor_entity_conf=self.trust_anchor_configuration ) self.subject_configuration.validate_by_itself() except Exception as e: _msg = f"Entity Configuration for {self.subject} failed: {e}" logger.error(_msg) - raise InvalidEntityConfiguration(_msg) + raise InvalidEntityStatement(_msg) # Trust Mark filter if self.required_trust_marks: @@ -290,3 +290,5 @@ def start(self): self.is_valid = False logger.error(f"{e}") raise e + + diff --git a/pyeudiw/federation/trust_chain_validator.py b/pyeudiw/federation/trust_chain_validator.py new file mode 100644 index 00000000..07e5aa68 --- /dev/null +++ b/pyeudiw/federation/trust_chain_validator.py @@ -0,0 +1,61 @@ +from pyeudiw.federation.statements import ( + get_entity_configurations, + EntityStatement, +) +from pyeudiw.jwt.utils import unpad_jwt_payload + + +logger = logging.getLogger("pyeudiw.federation") + + +class StaticTrustChainValidator: + def __init__( + self, + static_trust_chain :list, + trust_anchor_jwks :list + **kwargs, + ) -> None: + + self.static_trust_chain = static_trust_chain + self.updated_trust_chain = [] + self.trust_anchor_jwks = trust_anchor_jwks + for k,v in kwargs.items(): + setattr(self, k, v) + + @property + def is_valid(self): + exps = [] + + # start from the last entity statement + rev_tc = [ + i for i in reversed( + self.updated_trust_chain or self.static_trust_chain + ) + ] + + # inspect the entity statement kid header to know which + # TA's public key to use for the validation + + # if valid: exps.append(this-exp) + + fed_jwks = unpad_jwt_payload(rev_tc[0])['jwks']['keys'] + # for st in rev_tc[1:]: + # validate the entire chain taking in cascade using fed_jwks + # if valid -> update fed_jwks with $st + + def update(self): + + + for st in self.static_trust_chain: + # if EC -> download again from well-known/openid-federation + # if ES: + # if source_endpoint is available -> take it directly from it + # else: + # get the EC of the issuer and then take the statement from the fetch + + # if ok -> self.updated_trust_chain.append(new_es) + + return self.is_valid + + + From 63f4263fe6b5a554a6e91be9bfc4865301b83100 Mon Sep 17 00:00:00 2001 From: peppelinux Date: Tue, 1 Aug 2023 18:37:09 +0200 Subject: [PATCH 11/53] wip: federation tests snippets --- .../federation/_test_mocked_discovery.py | 174 ++++++++++++++++++ pyeudiw/tests/federation/create_tc.py | 168 +++++++++++++++++ 2 files changed, 342 insertions(+) create mode 100644 pyeudiw/tests/federation/_test_mocked_discovery.py create mode 100644 pyeudiw/tests/federation/create_tc.py diff --git a/pyeudiw/tests/federation/_test_mocked_discovery.py b/pyeudiw/tests/federation/_test_mocked_discovery.py new file mode 100644 index 00000000..3f3fb7ea --- /dev/null +++ b/pyeudiw/tests/federation/_test_mocked_discovery.py @@ -0,0 +1,174 @@ +from django.test import Client +from django.urls import reverse + +from spid_cie_oidc.entity.models import FederationEntityConfiguration +from spid_cie_oidc.entity.jwtse import unpad_jwt_payload, create_jws +from spid_cie_oidc.entity.exceptions import HttpError +from spid_cie_oidc.entity.tests.settings import ta_conf_data + +from .settings import rp_onboarding_data, intermediary_conf, rp_conf + +import copy +import logging + +logger = logging.getLogger(__name__) + + +class DummyContent: + def __init__(self, content): + self.content = content.encode() + self.status_code = 200 + + +class EntityResponse: + def __init__(self): + self.status_code = 200 + self.req_counter = 0 + self.client = Client() + self.result = None + + def result_as_it_is(self): + logger.info(f"Response #{self.req_counter}: {self.result.content.decode()}") + self.req_counter += 1 + return self.result.content + + def result_as_jws(self): + logger.info( + f"Response #{self.req_counter}: " + f"{unpad_jwt_payload(self.result.content.decode())}" + ) + self.req_counter += 1 + return self.result.content + + def trust_anchor_ec(self): + url = reverse("entity_configuration") + res = self.client.get(url, data={"sub": ta_conf_data["sub"]}) + return res + + def rp_ec(self): + rp = FederationEntityConfiguration.objects.get(sub=rp_onboarding_data["sub"]) + res = DummyContent(rp.entity_configuration_as_jws) + return res + + def fetch_rp_from_ta(self): + url = reverse("oidcfed_fetch") + res = self.client.get(url, data={"sub": rp_onboarding_data["sub"]}) + return res + + +class EntityResponseNoIntermediate(EntityResponse): + @property + def content(self): + if self.req_counter == 0: + self.result = self.trust_anchor_ec() + elif self.req_counter == 1: + self.result = self.rp_ec() + elif self.req_counter == 2: + self.result = self.fetch_rp_from_ta() + elif self.req_counter > 2: + raise NotImplementedError( + "The mocked resposes seems to be not aligned with the correct flow" + ) + + return self.result_as_jws() + +class EntityResponseNoIntermediateSignedJwksUri(EntityResponse): + @property + def content(self): + if self.req_counter == 0: + self.result = self.trust_anchor_ec() + elif self.req_counter == 1: + self.result = self.rp_ec() + elif self.req_counter == 2: + self.result = self.fetch_rp_from_ta() + elif self.req_counter == 3: + metadata = copy.deepcopy(rp_conf['metadata']['openid_relying_party']) + _jwks = metadata.pop('jwks') + fed_jwks = rp_conf['jwks_fed'][0] + self.result = create_jws(_jwks, fed_jwks) + return self.result.encode() + elif self.req_counter > 3: + raise NotImplementedError( + "The mocked resposes seems to be not aligned with the correct flow" + ) + + return self.result_as_jws() + + +class EntityResponseWithIntermediate(EntityResponse): + @property + def content(self): + if self.req_counter == 0: + self.result = self.trust_anchor_ec() + elif self.req_counter == 1: + self.result = self.rp_ec() + elif self.req_counter == 2: + sa = FederationEntityConfiguration.objects.get(sub=intermediary_conf["sub"]) + self.result = DummyContent(sa.entity_configuration_as_jws) + elif self.req_counter == 3: + url = reverse("oidcfed_fetch") + self.result = self.client.get( + url, + data={ + "sub": rp_onboarding_data["sub"], + "iss": intermediary_conf["sub"], + }, + ) + elif self.req_counter == 4: + url = reverse("oidcfed_fetch") + self.result = self.client.get(url, data={"sub": intermediary_conf["sub"]}) + elif self.req_counter == 5: + url = reverse("entity_configuration") + self.result = self.client.get(url, data={"sub": ta_conf_data["sub"]}) + elif self.req_counter > 5: + raise NotImplementedError( + "The mocked resposes seems to be not aligned with the correct flow" + ) + + if self.result.status_code != 200: + raise HttpError(f"Something went wrong with Http Request: {res.__dict__}") + + logger.info("-------------------------------------------------") + logger.info("") + return self.result_as_jws() + + +class EntityResponseWithIntermediateManyHints(EntityResponse): + @property + def content(self): + if self.req_counter == 0: + self.result = self.trust_anchor_ec() + elif self.req_counter == 1: + self.result = self.rp_ec() + elif self.req_counter == 2: + sa = FederationEntityConfiguration.objects.get(sub=intermediary_conf["sub"]) + self.result = DummyContent(sa.entity_configuration_as_jws) + elif self.req_counter == 3: + self.result = DummyContent("crap") + + elif self.req_counter == 4: + url = reverse("oidcfed_fetch") + self.result = self.client.get( + url, + data={ + "sub": rp_onboarding_data["sub"], + "iss": intermediary_conf["sub"], + }, + ) + elif self.req_counter == 5: + url = reverse("oidcfed_fetch") + self.result = self.client.get(url, data={"sub": intermediary_conf["sub"]}) + elif self.req_counter == 6: + url = reverse("entity_configuration") + self.result = self.client.get(url, data={"sub": ta_conf_data["sub"]}) + elif self.req_counter > 6: + raise NotImplementedError( + "The mocked resposes seems to be not aligned with the correct flow" + ) + if self.result.status_code != 200: + raise HttpError(f"Something went wrong with Http Request: {res.__dict__}") + + try: + return self.result_as_jws() + except: + return self.result_as_it_is() diff --git a/pyeudiw/tests/federation/create_tc.py b/pyeudiw/tests/federation/create_tc.py new file mode 100644 index 00000000..f16e2475 --- /dev/null +++ b/pyeudiw/tests/federation/create_tc.py @@ -0,0 +1,168 @@ +# pip install cryptojwt +from cryptojwt.jwk.ec import new_ec_key +from cryptojwt.jws.jws import JWS + +# Create private keys +leaf_jwk = new_ec_key("P-256") +intermediate_jwk = new_ec_key("P-256") +ta_jwk = new_ec_key("P-256") + +# Define Entity Configurations +leaf_ec = {'exp': 1649590602, # TODO: get all the timestamp dinamically + 'iat': 1649417862, + 'iss': 'https://rp.example.org', + 'sub': 'https://rp.example.org', + 'jwks': {}, # UPDATED LATER IN THE CODE + 'metadata': {'openid_relying_party': {'application_type': 'web', + 'client_id': 'https://rp.example.org/', + 'client_registration_types': ['automatic'], + 'jwks': {}, # UPDATED LATER IN THE CODE + 'client_name': 'Name of an example organization', + 'contacts': ['ops@rp.example.it'], + 'grant_types': ['refresh_token', 'authorization_code'], + 'redirect_uris': ['https://rp.example.org/oidc/rp/callback/'], + 'response_types': ['code'], + 'scopes': 'eu.europa.ec.eudiw.pid.1 eu.europa.ec.eudiw.pid.it.1 email', + 'subject_type': 'pairwise'}, + 'federation_entity': {'federation_resolve_endpoint': 'https://rp.example.org/resolve/', + 'organization_name': 'Example RP', + 'homepage_uri': 'https://rp.example.it', + 'policy_uri': 'https://rp.example.it/policy', + 'logo_uri': 'https://rp.example.it/static/logo.svg', + 'contacts': ['tech@example.it']}}, + 'trust_marks': [{'id': 'https://registry.eidas.trust-anchor.example.eu/openid_relying_party/public/', + 'trust_mark': 'eyJh …'}], + 'authority_hints': ['https://intermediate.eidas.example.org']} + + +intermediate_ec = {'exp': 1649631824, + 'iat': 1649459024, + 'iss': 'https://intermediate.eidas.example.org', + 'sub': 'https://intermediate.eidas.example.org', + 'jwks': {}, # UPDATED LATER IN THE CODE + 'metadata': {'federation_entity': {'contacts': ['soggetto@intermediate.eidas.example.it'], + 'federation_fetch_endpoint': 'https://intermediate.eidas.example.org/fetch/', + 'federation_resolve_endpoint': 'https://intermediate.eidas.example.org/resolve/', + 'federation_list_endpoint': 'https://intermediate.eidas.example.org/list/', + 'homepage_uri': 'https://soggetto.intermediate.eidas.example.it', + 'name': 'Example Intermediate intermediate.eidas.example'}}, + 'trust_marks': [{'id': 'https://registry.gov.org/intermediate/private/full/', + 'trust_mark': 'eyJh …'}], + 'authority_hints': ['https://registry.eidas.trust-anchor.example.eu']} + + +ta_ec = {'exp': 1649375259, + 'iat': 1649373279, + 'iss': 'https://registry.eidas.trust-anchor.example.eu/', + 'sub': 'https://registry.eidas.trust-anchor.example.eu/', + 'jwks': {}, # UPDATED LATER IN THE CODE + 'metadata': {'federation_entity': {'organization_name': 'example TA', + 'contacts': ['tech@eidas.trust-anchor.example.eu'], + 'homepage_uri': 'https://registry.eidas.trust-anchor.example.eu/', + 'logo_uri': 'https://registry.eidas.trust-anchor.example.eu/static/svg/logo.svg', + 'federation_fetch_endpoint': 'https://registry.eidas.trust-anchor.example.eu/fetch/', + 'federation_resolve_endpoint': 'https://registry.eidas.trust-anchor.example.eu/resolve/', + 'federation_list_endpoint': 'https://registry.eidas.trust-anchor.example.eu/list/', + 'federation_trust_mark_status_endpoint': 'https://registry.eidas.trust-anchor.example.eu/trust_mark_status/'}}, + 'trust_marks_issuers': {'https://registry.eidas.trust-anchor.example.eu/openid_relying_party/public/': ['https://registry.spid.eidas.trust-anchor.example.eu/', + 'https://public.intermediary.spid.org/'], + 'https://registry.eidas.trust-anchor.example.eu/openid_relying_party/private/': ['https://registry.spid.eidas.trust-anchor.example.eu/', + 'https://private.other.intermediary.org/']}, + 'constraints': {'max_path_length': 1}} + +# place example keys +leaf_ec["jwks"]['keys'][0] = leaf_jwk.serialize() +leaf_ec['metadata']['openid_relying_party']["jwks"]['keys'][0] = leaf_jwk.serialize() + +intermediate_ec["jwks"]['keys'][0] = intermediate_jwk.serialize() +ta_ec["jwks"]['keys'][0] = ta_jwk.serialize() + +# pubblica: dict = privata.serialize() +# privata_dict: dict = privata.to_dict() + +# Define Entity Statements +intermediate_es = { + "exp": 1649623546, + "iat": 1649450746, + "iss": "https://intermediate.eidas.example.org", + "sub": "https://rp.example.org", + "jwks": { + "keys": [ + { + "kty": "RSA", + "n": " …", + "e": "AQAB", + "kid": "2HnoFS3YnC9tjiCaivhWLVUJ3AxwGGz_98uRFaqMEEs", + "x5c": ["..."] + } + ] + }, + "metadata_policy": { + "openid_relying_party": { + "scopes": { + "subset_of": [ + "eu.europa.ec.eudiw.pid.1, eu.europa.ec.eudiw.pid.it.1" + ] + }, + "request_authentication_methods_supported": { + "one_of": ["request_object"] + }, + "request_authentication_signing_alg_values_supported": { + "subset_of": ["RS256", "RS512", "ES256", "ES512", "PS256", "PS512"] + } + } + }, + "trust_marks": [ + { + "id": "https://trust-anchor.example.eu/openid_relying_party/public/", + "trust_mark": "eyJhb …" + } + ] +} + +# the leaf publishes the leaf public key +intermediate_es["jwks"]['keys'][0] = leaf_jwk.serialize() + + +ta_es = { + "exp": 1649623546, + "iat": 1649450746, + "iss": "https://trust-anchor.example.eu", + "sub": "https://intermediate.eidas.example.org", + "jwks": { + "keys": [ + { + "kty": "RSA", + "n": "5s4qi …", + "e": "AQAB", + "kid": "em3cmnZgHIYFsQ090N6B3Op7LAAqj8rghMhxGmJstqg", + "x5c": ["..."] + } + ] + }, + "trust_marks": [ + { + "id": "https://trust-anchor.example.eu/federation_entity/that-profile", + "trust_mark": "eyJhb …" + } + ] +} + +# the ta publishes the intermediate public key +ta_es["jwks"]['keys'][0] = intermediate_jwk.serialize() + + +leaf_signer = JWS(leaf_ec, alg="ES256", typ="application/entity-statement+jwt") +leaf_ec_signed = leaf_signer.sign_compact([leaf_jwk]) + +intermediate_signer = JWS(intermediate_es, alg="ES256", typ="application/entity-statement+jwt") +intermediate_es_signed = intermediate_signer.sign_compact([intermediate_jwk]) + +ta_signer = JWS(ta_es, alg="ES256", typ="application/entity-statement+jwt") +ta_es_signed = ta_signer.sign_compact([ta_jwk]) + +trust_chain = [ + leaf_ec_signed, + intermediate_es_signed, + ta_es_signed +] From e4137767c668742907108f735e49a042c94a5a18 Mon Sep 17 00:00:00 2001 From: Salvatore Laiso <32564922+salvatorelaiso@users.noreply.github.com> Date: Wed, 2 Aug 2023 23:14:55 +0200 Subject: [PATCH 12/53] feat: add vp token schema (#71) * feat: add wallet instance attestation schema and wallet instance request schema * feat: add vp token schema * chore: linting * fix: optional state in ResponseSchema * refactor: moved sd-jwt validation * feat: alg validation parametrized with context * fix: regex for base64url * chore: linting --- pyeudiw/jwk/schema.py | 10 +- pyeudiw/openid4vp/schema.py | 251 ++++++++++++++++++++++++--- pyeudiw/sd_jwt/schema.py | 23 +++ pyeudiw/tests/satosa/test_backend.py | 19 +- 4 files changed, 272 insertions(+), 31 deletions(-) create mode 100644 pyeudiw/sd_jwt/schema.py diff --git a/pyeudiw/jwk/schema.py b/pyeudiw/jwk/schema.py index dede8c9c..a906b702 100644 --- a/pyeudiw/jwk/schema.py +++ b/pyeudiw/jwk/schema.py @@ -34,11 +34,11 @@ def check_value_for_ec(value, name, values): @field_validator("n") def validate_n(cls, n_value, values): - cls.check_value_for_rsa(n_value, "n", values) + cls.check_value_for_rsa(n_value, "n", values.data) @field_validator("e") def validate_e(cls, e_value, values): - cls.check_value_for_rsa(e_value, "e", values) + cls.check_value_for_rsa(e_value, "e", values.data) class JwkSchemaEC(JwkSchema): @@ -48,15 +48,15 @@ class JwkSchemaEC(JwkSchema): @field_validator("x") def validate_x(cls, x_value, values): - cls.check_value_for_ec(x_value, "x", values) + cls.check_value_for_ec(x_value, "x", values.data) @field_validator("y") def validate_y(cls, y_value, values): - cls.check_value_for_ec(y_value, "y", values) + cls.check_value_for_ec(y_value, "y", values.data) @field_validator("crv") def validate_crv(cls, crv_value, values): - cls.check_value_for_ec(crv_value, "crv", values) + cls.check_value_for_ec(crv_value, "crv", values.data) class JwksSchemaEC(BaseModel): diff --git a/pyeudiw/openid4vp/schema.py b/pyeudiw/openid4vp/schema.py index b261f210..bc39825f 100644 --- a/pyeudiw/openid4vp/schema.py +++ b/pyeudiw/openid4vp/schema.py @@ -1,27 +1,12 @@ -import re -from pydantic import BaseModel, ValidationError -from typing_extensions import Annotated -from pydantic.functional_validators import AfterValidator +from typing import Optional -JWT_REGEX = r"(^[\w-]*.[\w-]*.[\w-]*~([\w-]*.[\w-]*.[\w-]*){1})" +from pydantic import BaseModel, create_model, HttpUrl +from pydantic_core.core_schema import FieldValidationInfo +from typing_extensions import Annotated, Literal +from pydantic.functional_validators import AfterValidator, field_validator - -def checkJWT(jwt: str) -> str: - res = re.match(JWT_REGEX, jwt) - if not res: - raise ValidationError(f"Vp_token is not a jwt {jwt}") - - return jwt - - -def checkJWTList(jwt_list: list[str]) -> list[str]: - if len(jwt_list) == 0: - raise ValidationError("vp_token is empty") - - for jwt in jwt_list: - checkJWT(jwt) - - return jwt_list +from pyeudiw.jwk.schema import JwkSchema +from pyeudiw.sd_jwt.schema import check_sd_jwt, check_sd_jwt_list class DescriptorSchema(BaseModel): @@ -37,7 +22,225 @@ class PresentationSubmissionSchema(BaseModel): class ResponseSchema(BaseModel): - state: str + state: Optional[str] vp_token: Annotated[str, AfterValidator( - checkJWT)] | Annotated[list[str], AfterValidator(checkJWTList)] + check_sd_jwt)] | Annotated[list[str], AfterValidator(check_sd_jwt_list)] presentation_submission: PresentationSubmissionSchema + + +header_model_name = "Header" +payload_model_name = "Payload" +cnf_model_name = "Cnf" +formats_supported_schema = "VpFormatsSupported" +vp_model_name = "JwtVpJson" +vc_model_name = "JwtVcJson" + +_default_supported_algorithms = [] + + +def check_alg(alg: str, info: FieldValidationInfo): + supported_algorithms = info.context and info.context.get( + "supported_algorithms") or _default_supported_algorithms + if alg not in supported_algorithms: + raise ValueError(f"Unsupported algorithm: {alg}.\n " + f"Supported algorithms: {supported_algorithms}.\n") + + +class VPToken(BaseModel): + """ + Schema to validate a VP Token. The token, in the form of a JWS header and payload, + has the properties listed below. + Header: + - alg: The algorithm used to sign the JWT. + - typ: "JWT". + - kid: The key identifier. + Payload: + - vp: The digital credential in its original state. + `~~~...~` + - jti: JWS Unique identifier. + - iat: Unix timestamp of the issuance datetime. + - exp: Unix timestamp beyond which the presentation of the digital credential will no longer be considered + valid. + - aud: Audience of the VP, corresponding to the redirect_uri within the Authorization request issued by the + Relying Party. + - nonce: Nonce provided by the Verifier within the Authorization Request. + """ + header: create_model(header_model_name, + typ=(Literal["JWT"], ...), + alg=(str, ...), + kid=(str, ...), + ) + + payload: create_model(payload_model_name, + vp=(str, ...), + jti=(str, ...), + iat=(int, ...), + exp=(int, ...), + aud=(HttpUrl, ...), + nonce=(str, ...), + ) + + @field_validator("header") + @classmethod + def check_alg(cls, header, info: FieldValidationInfo): + check_alg(header.alg, info) + return header + + +class WalletInstanceRequest(BaseModel): + """ + Schema to validate a Wallet Instance Request. The request, in the form of a JWT header and payload, + has the properties listed below. + Header: + - alg: Algorithm to verify the token signature + - typ: Media type, in this case we use the value var+jwt (Verifiable Assertion Request JWT) + - kid: Key id of the Wallet Instance + Payload: + - iss: + The thumbprint + of the JWK of the Wallet Instance + for which the attestation is + being requested. + - aud: + The public url of the Wallet Instance + attestation issuer. + - jti: + Unique identifier of the request. + This parameter will be used to + avoid replay attacks. + - type: String: "WalletInstanceRequest". + - nonce: + The nonce obtained from the + Wallet Provider. + - cnf: + This parameter will contain the + configuration of the Wallet + Instance in JSON format. Among + the mandatory attributes there + will be the jwk parameter + containing the public key of the + Wallet Instance. It will also + contain all the information + useful for the Wallet Provider + to verify that the app is genuine. + # TODO: check why iat and exp are not in the table but found in the example + # https://github.com/italia/eudi-wallet-it-docs/blob/versione-corrente/docs/en/wallet-instance-attestation.rst#format-of-the-wallet-instance-attestation-request + """ + header: create_model(header_model_name, + alg=(str, ...), + typ=(Literal["var+jwt"], ...), + kid=(str, ...)) + + payload: create_model(payload_model_name, + iss=(str, ...), + aud=(HttpUrl, ...), + jti=(str, ...), + type=( + Literal["WalletInstanceAttestationRequest"], ...), + nonce=(str, ...), + cnf=(create_model(cnf_model_name, + jwk=(JwkSchema, ...), + ), ...), + ) + + @field_validator("header") + @classmethod + def check_alg(cls, header, info: FieldValidationInfo): + check_alg(header.alg, info) + return header + + +class WalletInstanceAttestation(BaseModel): + """ + Schema to validate a Wallet Instance Attestation. The attestation, in the form of a JWT header and payload, + has the properties listed below. + Header: + - alg + - typ + - kid + - x5c + - trust_chain + Payload: + - iss: The public url of the Wallet Instance attestation issuer. + - sub: Thumbprint value of the JWK of the Wallet Instance for which the attestation is being issued. + - iat: Unix timestamp of the issuance datetime. + - exp: Unix timestamp beyond which the presentation of the digital credential will no longer be considered + valid. + - type: String: "WalletInstanceAttestation". + - policy_uri: URL to the privacy policy of the wallet. + - tos_uri: URL to the terms of use of the Wallet Provider. + - logo_uri: URL of the Wallet Provider logo in SVG format. + - attested_security_context: + Attested security context: + Represents a level of "trust" of + the service containing a Level Of + Agreement defined in the metadata + of the Wallet Provider. + - cnf: + This parameter contains the jwk + parameter + with the public key of the Wallet + necessary for the holder binding. + - authorization_endpoint: + URL of the OP's OAuth 2.0 + Authorization Endpoint. + - response_types_supported: + JSON array containing a list of + the OAuth 2.0 response_type values + that this OP supports. + - vp_formats_supported: + JSON object containing + jwt_vp_json and jwt_vc_json + supported algorithms array. + - request_object_signing_alg_values_supported: + JSON array containing a list of the + JWS signing algorithms (alg values) + supported by the OP for Request Objects. + - presentation_definition_uri_supported: + Boolean value specifying whether the + Wallet Instance supports the transfer of + presentation_definition by + reference, with true indicating support. + """ + header: create_model(header_model_name, + alg=(str, ...), + typ=(Literal["wallet-attestation+jwt"], ...), + kid=(str, ...), + x5c=(list[str], ...), + trust_chain=(list[str], ...)) + + payload: create_model(payload_model_name, + iss=(HttpUrl, ...), + sub=(str, ...), + iat=(int, ...), + exp=(int, ...), + type=(Literal["WalletInstanceAttestation"], ...), + policy_uri=(HttpUrl, ...), + tos_uri=(HttpUrl, ...), + logo_uri=(HttpUrl, ...), + attested_security_context=(HttpUrl, ...), + cnf=(create_model(cnf_model_name, + jwk=(JwkSchema, ...), + ), ...), + authorization_endpoint=(str, ...), + response_types_supported=(list[str], ...), + vp_formats_supported=(create_model(formats_supported_schema, + jwt_vp_json=(create_model(vp_model_name, + alg_values_supported=( + list[str], ...), + ), ...), + jwt_vc_json=(create_model(vp_model_name, + alg_values_supported=( + list[str], ...), + ), ...), + ), ...), + request_object_signing_alg_values_supported=( + list[str], ...), + presentation_definition_uri_supported=(bool, ...), + ) + + @field_validator("header") + @classmethod + def check_alg(cls, header, info: FieldValidationInfo): + check_alg(header.alg, info) + return header diff --git a/pyeudiw/sd_jwt/schema.py b/pyeudiw/sd_jwt/schema.py new file mode 100644 index 00000000..109b0119 --- /dev/null +++ b/pyeudiw/sd_jwt/schema.py @@ -0,0 +1,23 @@ +import re + +from pydantic import ValidationError + +SD_JWT_REGEXP = r"^(([-A-Za-z0-9\=_])*\.([-A-Za-z0-9\=_])*\.([-A-Za-z0-9\=_])*)$" + + +def check_sd_jwt(sd_jwt: str) -> str: + res = re.match(SD_JWT_REGEXP, sd_jwt) + if not res: + raise ValidationError(f"Vp_token is not a sd-jwt {sd_jwt}") + + return sd_jwt + + +def check_sd_jwt_list(sd_jwt_list: list[str]) -> list[str]: + if len(sd_jwt_list) == 0: + raise ValidationError("vp_token is empty") + + for sd_jwt in sd_jwt_list: + check_sd_jwt(sd_jwt) + + return sd_jwt_list diff --git a/pyeudiw/tests/satosa/test_backend.py b/pyeudiw/tests/satosa/test_backend.py index def8f67c..a85cd132 100644 --- a/pyeudiw/tests/satosa/test_backend.py +++ b/pyeudiw/tests/satosa/test_backend.py @@ -13,7 +13,7 @@ from pyeudiw.jwt import JWSHelper, JWEHelper, unpad_jwt_header from pyeudiw.jwk import JWK from pyeudiw.sd_jwt import issue_sd_jwt, _adapt_keys, load_specification_from_yaml_string -from pyeudiw.tools.utils import iat_now +from pyeudiw.tools.utils import iat_now, exp_from_now from sd_jwt.holder import SDJWTHolder @@ -481,12 +481,27 @@ def test_redirect_endpoint(self, context): "key_binding", False) else None, ) + data = { + "iss": "https://wallet-provider.example.org/instance/vbeXJksM45xphtANnCiG6mCyuU4jfGNzopGuKvogg9c", + "jti": str(uuid.uuid4()), + "aud": "https://verifier.example.org/callback", + "iat": iat_now(), + "exp": exp_from_now(minutes=15), + "nonce": str(uuid.uuid4()), + "vp": sdjwt_at_holder.sd_jwt_presentation, + } + + vp_token = JWSHelper(PRIVATE_JWK).sign( + data, + protected={"typ": "JWT"} + ) + context.request_method = "POST" context.request_uri = CONFIG["metadata"]["redirect_uris"][0] response = { "state": "3be39b69-6ac1-41aa-921b-3e6c07ddcb03", - "vp_token": sdjwt_at_holder.sd_jwt_presentation, + "vp_token": vp_token, "presentation_submission": { "definition_id": "32f54163-7166-48f1-93d8-ff217bdb0653", "id": "04a98be3-7fb0-4cf5-af9a-31579c8b0e7d", From 7c96dd499b7c05d104359a9f0933c96dcf7e8801 Mon Sep 17 00:00:00 2001 From: Pasquale De Rose Date: Wed, 2 Aug 2023 23:19:36 +0200 Subject: [PATCH 13/53] Implemented property is_valid in StaticTrustChainValidator (#74) * feat: implemented property is_valid * test: added test for property is_valid * fix: fixed import * feat: created gen_static_trustchain * feat: added ESSchema validation and initial implementation of * fix: changed signature algorithm * fix: changed signature alg * fix: removed print * fix: fixed imports * feat: specialized errors --------- Co-authored-by: Pasquale De Rose --- pyeudiw/federation/schema.py | 18 ++ pyeudiw/federation/statements.py | 6 +- .../federation/static_trust_chain_builder.py | 74 +++++++ pyeudiw/federation/trust_chain_validator.py | 95 +++++++-- pyeudiw/tests/federation/create_tc.py | 199 +++++------------- .../test_static_trust_chain_validator.py | 11 + 6 files changed, 234 insertions(+), 169 deletions(-) create mode 100644 pyeudiw/federation/schema.py create mode 100644 pyeudiw/federation/static_trust_chain_builder.py create mode 100644 pyeudiw/tests/federation/test_static_trust_chain_validator.py diff --git a/pyeudiw/federation/schema.py b/pyeudiw/federation/schema.py new file mode 100644 index 00000000..87ab8b7d --- /dev/null +++ b/pyeudiw/federation/schema.py @@ -0,0 +1,18 @@ +from typing import List, Literal, Optional + +from pydantic import BaseModel, field_validator + +class ESSchema(BaseModel, extra='forbid'): + exp: int + iat: int + iss: str + sub: str + jwks: dict + source_endpoint: Optional[str] = None + +def is_es(payload: dict) -> bool: + try: + ESSchema(**payload) + return True + except Exception as e: + return False \ No newline at end of file diff --git a/pyeudiw/federation/statements.py b/pyeudiw/federation/statements.py index 388e9493..226a69b2 100644 --- a/pyeudiw/federation/statements.py +++ b/pyeudiw/federation/statements.py @@ -1,13 +1,13 @@ from copy import deepcopy -from .exceptions import ( +from pyeudiw.federation.exceptions import ( UnknownKid, MissingJwksClaim, MissingTrustMark, TrustAnchorNeeded, ) -from .http_client import http_get +from pyeudiw.federation.http_client import http_get from pyeudiw.jwt.utils import unpad_jwt_payload, unpad_jwt_header -from pyeudiw.jws import JWSHelper +from pyeudiw.jwt import JWSHelper import asyncio import json diff --git a/pyeudiw/federation/static_trust_chain_builder.py b/pyeudiw/federation/static_trust_chain_builder.py new file mode 100644 index 00000000..c0c04b09 --- /dev/null +++ b/pyeudiw/federation/static_trust_chain_builder.py @@ -0,0 +1,74 @@ +from cryptojwt.jwk.rsa import new_rsa_key +from cryptojwt.jws.jws import JWS +from dataclasses import dataclass +from pyeudiw.tools.utils import iat_now, exp_from_now + +@dataclass +class TrustedAnchorInfo: + exp_in: int + issuer: str + subject: str + trust_marks: list + +@dataclass +class LeafInfo(TrustedAnchorInfo): + metadata: dict + authority_hints: list + +@dataclass +class IntermediateInfo(TrustedAnchorInfo): + metadata_policy: dict + +def _gen_empty_jwks_field(): + return {"keys": []} + +def _gen_ec(node: LeafInfo | IntermediateInfo | TrustedAnchorInfo, keys: list) -> dict: + ec = { + 'exp': exp_from_now(node.exp_in), # TODO: get all the timestamp dinamically + 'iat': iat_now(), + 'iss': node.issuer, + 'sub': node.subject, + 'jwks': _gen_empty_jwks_field(), # UPDATED LATER IN THE CODE + 'trust_marks': node.trust_marks, + } + + is_leaf = isinstance(node, LeafInfo) + + if is_leaf: + ec["metadata"] = node.metadata + ec["authority_hints"] = node.authority_hints + ec["metadata"]["openid_relying_party"] = {"jwks": _gen_empty_jwks_field()} + elif isinstance(node, IntermediateInfo): + ec["metadata_policy"] = node.metadata_policy + + if not isinstance(keys, list): + keys = [keys] + + for key in keys: + serialized_key = key.serialize() + ec["jwks"]['keys'].append(serialized_key) + + if is_leaf: + ec['metadata']['openid_relying_party']["jwks"]['keys'].append(serialized_key) + + return ec + +def _sign_ec(ec: dict, jwk: dict) -> str: + signer = JWS(ec, alg="RS256", typ="application/entity-statement+jwt") + return signer.sign_compact([jwk]) + +def gen_static_trustchain(leaf: LeafInfo, intermediate: IntermediateInfo, trusted: TrustedAnchorInfo): + leaf_jwk = new_rsa_key() + leaf_ec = _gen_ec(leaf, leaf_jwk) + + intermediate_jwk = new_rsa_key() + intermediate_ec = _gen_ec(intermediate, leaf_jwk) + + trusted_jwk = new_rsa_key() + trusted_ec = _gen_ec(trusted, intermediate_jwk) + + return [ + _sign_ec(leaf_ec, leaf_jwk), + _sign_ec(intermediate_ec, intermediate_jwk), + _sign_ec(trusted_ec, trusted_jwk), + ] \ No newline at end of file diff --git a/pyeudiw/federation/trust_chain_validator.py b/pyeudiw/federation/trust_chain_validator.py index 07e5aa68..fe158234 100644 --- a/pyeudiw/federation/trust_chain_validator.py +++ b/pyeudiw/federation/trust_chain_validator.py @@ -1,18 +1,28 @@ -from pyeudiw.federation.statements import ( - get_entity_configurations, - EntityStatement, -) -from pyeudiw.jwt.utils import unpad_jwt_payload - +import logging +#from pyeudiw.federation.statements import ( +# get_entity_configurations, +# EntityStatement, +#) +import urllib.request +from pyeudiw.tools.utils import iat_now +from pyeudiw.jwt.utils import unpad_jwt_payload, unpad_jwt_header +from pyeudiw.federation.schema import is_es logger = logging.getLogger("pyeudiw.federation") +class TimeValidationError(Exception): + def __init__(self, message, errors): + super().__init__(message) + +class KeyValidationError(Exception): + def __init__(self, message, errors): + super().__init__(message) class StaticTrustChainValidator: def __init__( self, static_trust_chain :list, - trust_anchor_jwks :list + trust_anchor_jwks :list, **kwargs, ) -> None: @@ -22,6 +32,32 @@ def __init__( for k,v in kwargs.items(): setattr(self, k, v) + def _validate_exp(self, exp): + if exp < iat_now(): + raise TimeValidationError(f"TA expiried") + + def _validate_keys(self, fed_jwks, st_header): + current_kid = st_header["kid"] + + validation_kid = None + + for key in fed_jwks: + if key["kid"] == current_kid: + validation_kid = key + + if validation_kid == None: + raise KeyValidationError(f"Kid {current_kid} not in chain") + + def _validate_single(self, fed_jwks, header, payload): + try: + self._validate_keys(fed_jwks, header) + self._validate_exp(payload["exp"]) + except Exception as e: + logger.warning(f"Warning: {e}") + return False + + return True + @property def is_valid(self): exps = [] @@ -36,25 +72,46 @@ def is_valid(self): # inspect the entity statement kid header to know which # TA's public key to use for the validation - # if valid: exps.append(this-exp) + es_payload = unpad_jwt_payload(rev_tc[0]) + es_exp = es_payload["exp"] - fed_jwks = unpad_jwt_payload(rev_tc[0])['jwks']['keys'] + # if valid: exps.append(this-exp) + self._validate_exp(es_exp) + + fed_jwks = es_payload["jwks"]["keys"] + # for st in rev_tc[1:]: # validate the entire chain taking in cascade using fed_jwks # if valid -> update fed_jwks with $st + + for st in rev_tc[1:]: + st_header = unpad_jwt_header(st) + st_payload = unpad_jwt_payload(st) + + if self._validate_single(fed_jwks, st_header, st_payload) == False: + return False + + fed_jwks = st_payload["jwks"]["keys"] + + return True def update(self): - - - for st in self.static_trust_chain: - # if EC -> download again from well-known/openid-federation - # if ES: - # if source_endpoint is available -> take it directly from it - # else: - # get the EC of the issuer and then take the statement from the fetch + self.updated_trust_chain = [] + + for st in self.static_trust_chain: + payload = unpad_jwt_payload(st) + download_url = None + + if is_es(payload): + download_url = payload["source_endpoint"] if payload.get("source_endpoint", None) else payload["iss"] + "fetch" + else: + iss = payload["iss"] + download_url = iss + ".well-known/openid-federation" + + contents = urllib.request.urlopen(download_url).read() + + self.updated_trust_chain.append(contents) - # if ok -> self.updated_trust_chain.append(new_es) - return self.is_valid diff --git a/pyeudiw/tests/federation/create_tc.py b/pyeudiw/tests/federation/create_tc.py index f16e2475..5e0f29b0 100644 --- a/pyeudiw/tests/federation/create_tc.py +++ b/pyeudiw/tests/federation/create_tc.py @@ -1,103 +1,47 @@ -# pip install cryptojwt -from cryptojwt.jwk.ec import new_ec_key -from cryptojwt.jws.jws import JWS - -# Create private keys -leaf_jwk = new_ec_key("P-256") -intermediate_jwk = new_ec_key("P-256") -ta_jwk = new_ec_key("P-256") - -# Define Entity Configurations -leaf_ec = {'exp': 1649590602, # TODO: get all the timestamp dinamically - 'iat': 1649417862, - 'iss': 'https://rp.example.org', - 'sub': 'https://rp.example.org', - 'jwks': {}, # UPDATED LATER IN THE CODE - 'metadata': {'openid_relying_party': {'application_type': 'web', - 'client_id': 'https://rp.example.org/', - 'client_registration_types': ['automatic'], - 'jwks': {}, # UPDATED LATER IN THE CODE - 'client_name': 'Name of an example organization', - 'contacts': ['ops@rp.example.it'], - 'grant_types': ['refresh_token', 'authorization_code'], - 'redirect_uris': ['https://rp.example.org/oidc/rp/callback/'], - 'response_types': ['code'], - 'scopes': 'eu.europa.ec.eudiw.pid.1 eu.europa.ec.eudiw.pid.it.1 email', - 'subject_type': 'pairwise'}, - 'federation_entity': {'federation_resolve_endpoint': 'https://rp.example.org/resolve/', - 'organization_name': 'Example RP', - 'homepage_uri': 'https://rp.example.it', - 'policy_uri': 'https://rp.example.it/policy', - 'logo_uri': 'https://rp.example.it/static/logo.svg', - 'contacts': ['tech@example.it']}}, - 'trust_marks': [{'id': 'https://registry.eidas.trust-anchor.example.eu/openid_relying_party/public/', - 'trust_mark': 'eyJh …'}], - 'authority_hints': ['https://intermediate.eidas.example.org']} - - -intermediate_ec = {'exp': 1649631824, - 'iat': 1649459024, - 'iss': 'https://intermediate.eidas.example.org', - 'sub': 'https://intermediate.eidas.example.org', - 'jwks': {}, # UPDATED LATER IN THE CODE - 'metadata': {'federation_entity': {'contacts': ['soggetto@intermediate.eidas.example.it'], - 'federation_fetch_endpoint': 'https://intermediate.eidas.example.org/fetch/', - 'federation_resolve_endpoint': 'https://intermediate.eidas.example.org/resolve/', - 'federation_list_endpoint': 'https://intermediate.eidas.example.org/list/', - 'homepage_uri': 'https://soggetto.intermediate.eidas.example.it', - 'name': 'Example Intermediate intermediate.eidas.example'}}, - 'trust_marks': [{'id': 'https://registry.gov.org/intermediate/private/full/', - 'trust_mark': 'eyJh …'}], - 'authority_hints': ['https://registry.eidas.trust-anchor.example.eu']} - - -ta_ec = {'exp': 1649375259, - 'iat': 1649373279, - 'iss': 'https://registry.eidas.trust-anchor.example.eu/', - 'sub': 'https://registry.eidas.trust-anchor.example.eu/', - 'jwks': {}, # UPDATED LATER IN THE CODE - 'metadata': {'federation_entity': {'organization_name': 'example TA', - 'contacts': ['tech@eidas.trust-anchor.example.eu'], - 'homepage_uri': 'https://registry.eidas.trust-anchor.example.eu/', - 'logo_uri': 'https://registry.eidas.trust-anchor.example.eu/static/svg/logo.svg', - 'federation_fetch_endpoint': 'https://registry.eidas.trust-anchor.example.eu/fetch/', - 'federation_resolve_endpoint': 'https://registry.eidas.trust-anchor.example.eu/resolve/', - 'federation_list_endpoint': 'https://registry.eidas.trust-anchor.example.eu/list/', - 'federation_trust_mark_status_endpoint': 'https://registry.eidas.trust-anchor.example.eu/trust_mark_status/'}}, - 'trust_marks_issuers': {'https://registry.eidas.trust-anchor.example.eu/openid_relying_party/public/': ['https://registry.spid.eidas.trust-anchor.example.eu/', - 'https://public.intermediary.spid.org/'], - 'https://registry.eidas.trust-anchor.example.eu/openid_relying_party/private/': ['https://registry.spid.eidas.trust-anchor.example.eu/', - 'https://private.other.intermediary.org/']}, - 'constraints': {'max_path_length': 1}} - -# place example keys -leaf_ec["jwks"]['keys'][0] = leaf_jwk.serialize() -leaf_ec['metadata']['openid_relying_party']["jwks"]['keys'][0] = leaf_jwk.serialize() - -intermediate_ec["jwks"]['keys'][0] = intermediate_jwk.serialize() -ta_ec["jwks"]['keys'][0] = ta_jwk.serialize() - -# pubblica: dict = privata.serialize() -# privata_dict: dict = privata.to_dict() - -# Define Entity Statements -intermediate_es = { - "exp": 1649623546, - "iat": 1649450746, - "iss": "https://intermediate.eidas.example.org", - "sub": "https://rp.example.org", - "jwks": { - "keys": [ - { - "kty": "RSA", - "n": " …", - "e": "AQAB", - "kid": "2HnoFS3YnC9tjiCaivhWLVUJ3AxwGGz_98uRFaqMEEs", - "x5c": ["..."] - } - ] - }, - "metadata_policy": { +import json +from pyeudiw.federation.static_trust_chain_builder import ( + LeafInfo, + IntermediateInfo, + TrustedAnchorInfo, + gen_static_trustchain +) + +# TODO: change this file in a test case + +leaf = LeafInfo( + 10, + "https://rp.example.org", + "https://rp.example.org", + [{'id': 'https://registry.eidas.trust-anchor.example.eu/openid_relying_party/public/', 'trust_mark': 'eyJh …'}], + { + 'openid_relying_party': { + 'application_type': 'web', + 'client_id': 'https://rp.example.org/', + 'client_registration_types': ['automatic'], + 'client_name': 'Name of an example organization', + 'contacts': ['ops@rp.example.it'], + 'grant_types': ['refresh_token', 'authorization_code'], + 'redirect_uris': ['https://rp.example.org/oidc/rp/callback/'], + 'response_types': ['code'], + 'scopes': 'eu.europa.ec.eudiw.pid.1 eu.europa.ec.eudiw.pid.it.1 email', + 'subject_type': 'pairwise'}, + 'federation_entity': {'federation_resolve_endpoint': 'https://rp.example.org/resolve/', + 'organization_name': 'Example RP', + 'homepage_uri': 'https://rp.example.it', + 'policy_uri': 'https://rp.example.it/policy', + 'logo_uri': 'https://rp.example.it/static/logo.svg', + 'contacts': ['tech@example.it'] + } + }, + ['https://intermediate.eidas.example.org'] +) + +intermediate = IntermediateInfo( + 10, + "https://intermediate.eidas.example.org", + "https://rp.example.org", + [{'id': 'https://registry.gov.org/intermediate/private/full/','trust_mark': 'eyJh …'}], + { "openid_relying_party": { "scopes": { "subset_of": [ @@ -111,58 +55,19 @@ "subset_of": ["RS256", "RS512", "ES256", "ES512", "PS256", "PS512"] } } - }, - "trust_marks": [ - { - "id": "https://trust-anchor.example.eu/openid_relying_party/public/", - "trust_mark": "eyJhb …" } - ] -} - -# the leaf publishes the leaf public key -intermediate_es["jwks"]['keys'][0] = leaf_jwk.serialize() + ) - -ta_es = { - "exp": 1649623546, - "iat": 1649450746, - "iss": "https://trust-anchor.example.eu", - "sub": "https://intermediate.eidas.example.org", - "jwks": { - "keys": [ - { - "kty": "RSA", - "n": "5s4qi …", - "e": "AQAB", - "kid": "em3cmnZgHIYFsQ090N6B3Op7LAAqj8rghMhxGmJstqg", - "x5c": ["..."] - } - ] - }, - "trust_marks": [ +trust = TrustedAnchorInfo( + 10, + "https://trust-anchor.example.eu", + "https://intermediate.eidas.example.org", + [ { "id": "https://trust-anchor.example.eu/federation_entity/that-profile", "trust_mark": "eyJhb …" } ] -} - -# the ta publishes the intermediate public key -ta_es["jwks"]['keys'][0] = intermediate_jwk.serialize() - - -leaf_signer = JWS(leaf_ec, alg="ES256", typ="application/entity-statement+jwt") -leaf_ec_signed = leaf_signer.sign_compact([leaf_jwk]) - -intermediate_signer = JWS(intermediate_es, alg="ES256", typ="application/entity-statement+jwt") -intermediate_es_signed = intermediate_signer.sign_compact([intermediate_jwk]) - -ta_signer = JWS(ta_es, alg="ES256", typ="application/entity-statement+jwt") -ta_es_signed = ta_signer.sign_compact([ta_jwk]) +) -trust_chain = [ - leaf_ec_signed, - intermediate_es_signed, - ta_es_signed -] +trust_chain = gen_static_trustchain(leaf, intermediate, trust) \ No newline at end of file diff --git a/pyeudiw/tests/federation/test_static_trust_chain_validator.py b/pyeudiw/tests/federation/test_static_trust_chain_validator.py new file mode 100644 index 00000000..e3c47ac3 --- /dev/null +++ b/pyeudiw/tests/federation/test_static_trust_chain_validator.py @@ -0,0 +1,11 @@ +import pytest +from pyeudiw.federation.trust_chain_validator import StaticTrustChainValidator + +def test_is_vaild(): + static_chain = [ + "eyJhbGciOiJFUzI1NiIsImtpZCI6Ik1YRndZMlpvUVhaaU1qWk9hRGR5UlhBeGNVRllhMFJVVHpsVVZGQmZPV05xVGsxcFFrcEtOV0Y2YnciLCJ0eXAiOiJhcHBsaWNhdGlvbi9lbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE3MDMxNDYyNjUsImlhdCI6MTY0OTQxNzg2MiwiaXNzIjoiaHR0cHM6Ly9ycC5leGFtcGxlLm9yZyIsInN1YiI6Imh0dHBzOi8vcnAuZXhhbXBsZS5vcmciLCJqd2tzIjp7ImtleXMiOlt7Imt0eSI6IkVDIiwia2lkIjoiTVhGd1kyWm9RWFppTWpaT2FEZHlSWEF4Y1VGWWEwUlVUemxVVkZCZk9XTnFUazFwUWtwS05XRjZidyIsImNydiI6IlAtMjU2IiwieCI6ImhOR040UmQ2a2dnTjJLUEpRbVFha2RBWWVmNUpXOUJTWVFKenZla0Q3UXciLCJ5IjoiaEFyVGFLYlRGT2tmSFJnSHlYYzFkd0FScGhvSXZfQXdtWG1NcDBXV3FxMCJ9XX0sIm1ldGFkYXRhIjp7Im9wZW5pZF9yZWx5aW5nX3BhcnR5Ijp7ImFwcGxpY2F0aW9uX3R5cGUiOiJ3ZWIiLCJjbGllbnRfaWQiOiJodHRwczovL3JwLmV4YW1wbGUub3JnLyIsImNsaWVudF9yZWdpc3RyYXRpb25fdHlwZXMiOlsiYXV0b21hdGljIl0sImp3a3MiOnsia2V5cyI6W3sia3R5IjoiRUMiLCJraWQiOiJNWEZ3WTJab1FYWmlNalpPYURkeVJYQXhjVUZZYTBSVVR6bFVWRkJmT1dOcVRrMXBRa3BLTldGNmJ3IiwiY3J2IjoiUC0yNTYiLCJ4IjoiaE5HTjRSZDZrZ2dOMktQSlFtUWFrZEFZZWY1Slc5QlNZUUp6dmVrRDdRdyIsInkiOiJoQXJUYUtiVEZPa2ZIUmdIeVhjMWR3QVJwaG9Jdl9Bd21YbU1wMFdXcXEwIn1dfSwiY2xpZW50X25hbWUiOiJOYW1lIG9mIGFuIGV4YW1wbGUgb3JnYW5pemF0aW9uIiwiY29udGFjdHMiOlsib3BzQHJwLmV4YW1wbGUuaXQiXSwiZ3JhbnRfdHlwZXMiOlsicmVmcmVzaF90b2tlbiIsImF1dGhvcml6YXRpb25fY29kZSJdLCJyZWRpcmVjdF91cmlzIjpbImh0dHBzOi8vcnAuZXhhbXBsZS5vcmcvb2lkYy9ycC9jYWxsYmFjay8iXSwicmVzcG9uc2VfdHlwZXMiOlsiY29kZSJdLCJzY29wZXMiOiJldS5ldXJvcGEuZWMuZXVkaXcucGlkLjEgZXUuZXVyb3BhLmVjLmV1ZGl3LnBpZC5pdC4xIGVtYWlsIiwic3ViamVjdF90eXBlIjoicGFpcndpc2UifSwiZmVkZXJhdGlvbl9lbnRpdHkiOnsiZmVkZXJhdGlvbl9yZXNvbHZlX2VuZHBvaW50IjoiaHR0cHM6Ly9ycC5leGFtcGxlLm9yZy9yZXNvbHZlLyIsIm9yZ2FuaXphdGlvbl9uYW1lIjoiRXhhbXBsZSBSUCIsImhvbWVwYWdlX3VyaSI6Imh0dHBzOi8vcnAuZXhhbXBsZS5pdCIsInBvbGljeV91cmkiOiJodHRwczovL3JwLmV4YW1wbGUuaXQvcG9saWN5IiwibG9nb191cmkiOiJodHRwczovL3JwLmV4YW1wbGUuaXQvc3RhdGljL2xvZ28uc3ZnIiwiY29udGFjdHMiOlsidGVjaEBleGFtcGxlLml0Il19fSwidHJ1c3RfbWFya3MiOlt7ImlkIjoiaHR0cHM6Ly9yZWdpc3RyeS5laWRhcy50cnVzdC1hbmNob3IuZXhhbXBsZS5ldS9vcGVuaWRfcmVseWluZ19wYXJ0eS9wdWJsaWMvIiwidHJ1c3RfbWFyayI6ImV5SmggXHUyMDI2In1dLCJhdXRob3JpdHlfaGludHMiOlsiaHR0cHM6Ly9pbnRlcm1lZGlhdGUuZWlkYXMuZXhhbXBsZS5vcmciXX0.mcF04Oi1EFD06no-75JHF5PVSyEePnAdOcn1L3BOj-LnYxcvyU8rvo8mYraN2AYuzUeqjfPoepXruRFxpDRJAg", + "eyJhbGciOiJFUzI1NiIsImtpZCI6Ik1TMTFOVm8yYTNCaGNUQnJOMVUwT1dKeFpHVnZjMHRpV2twU2EzRlJSMUZLTUhkRmRWbEVPRVJ3YXciLCJ0eXAiOiJhcHBsaWNhdGlvbi9lbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE3MDMxNDYyNjUsImlhdCI6MTY0OTQ1MDc0NiwiaXNzIjoiaHR0cHM6Ly9pbnRlcm1lZGlhdGUuZWlkYXMuZXhhbXBsZS5vcmciLCJzdWIiOiJodHRwczovL3JwLmV4YW1wbGUub3JnIiwiandrcyI6eyJrZXlzIjpbeyJrdHkiOiJFQyIsImtpZCI6Ik1YRndZMlpvUVhaaU1qWk9hRGR5UlhBeGNVRllhMFJVVHpsVVZGQmZPV05xVGsxcFFrcEtOV0Y2YnciLCJjcnYiOiJQLTI1NiIsIngiOiJoTkdONFJkNmtnZ04yS1BKUW1RYWtkQVllZjVKVzlCU1lRSnp2ZWtEN1F3IiwieSI6ImhBclRhS2JURk9rZkhSZ0h5WGMxZHdBUnBob0l2X0F3bVhtTXAwV1dxcTAifV19LCJtZXRhZGF0YV9wb2xpY3kiOnsib3BlbmlkX3JlbHlpbmdfcGFydHkiOnsic2NvcGVzIjp7InN1YnNldF9vZiI6WyJldS5ldXJvcGEuZWMuZXVkaXcucGlkLjEsICBldS5ldXJvcGEuZWMuZXVkaXcucGlkLml0LjEiXX0sInJlcXVlc3RfYXV0aGVudGljYXRpb25fbWV0aG9kc19zdXBwb3J0ZWQiOnsib25lX29mIjpbInJlcXVlc3Rfb2JqZWN0Il19LCJyZXF1ZXN0X2F1dGhlbnRpY2F0aW9uX3NpZ25pbmdfYWxnX3ZhbHVlc19zdXBwb3J0ZWQiOnsic3Vic2V0X29mIjpbIlJTMjU2IiwiUlM1MTIiLCJFUzI1NiIsIkVTNTEyIiwiUFMyNTYiLCJQUzUxMiJdfX19LCJ0cnVzdF9tYXJrcyI6W3siaWQiOiJodHRwczovL3RydXN0LWFuY2hvci5leGFtcGxlLmV1L29wZW5pZF9yZWx5aW5nX3BhcnR5L3B1YmxpYy8iLCJ0cnVzdF9tYXJrIjoiZXlKaGIgXHUyMDI2In1dfQ.WwVUWBOhT9aKeEGoW0Sq_NvNdpFp_Arzli9RWzmYEZI9X7BuCyTIXe07YhJw-oYnuYNRu5tvIsMHZdSL0QYRlg", + "eyJhbGciOiJFUzI1NiIsImtpZCI6Ilh6TjZhV280VVdWVlZuWjVZVGxSYTNrNGVqWnpZbmhxTW1NdFVISlRaV3RWUVhkaVJVcEViMjFGVFEiLCJ0eXAiOiJhcHBsaWNhdGlvbi9lbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE3MDMxNDYyNjUsImlhdCI6MTY0OTQ1MDc0NiwiaXNzIjoiaHR0cHM6Ly90cnVzdC1hbmNob3IuZXhhbXBsZS5ldSIsInN1YiI6Imh0dHBzOi8vaW50ZXJtZWRpYXRlLmVpZGFzLmV4YW1wbGUub3JnIiwiandrcyI6eyJrZXlzIjpbeyJrdHkiOiJFQyIsImtpZCI6Ik1TMTFOVm8yYTNCaGNUQnJOMVUwT1dKeFpHVnZjMHRpV2twU2EzRlJSMUZLTUhkRmRWbEVPRVJ3YXciLCJjcnYiOiJQLTI1NiIsIngiOiJlem50R3FacHZGbWVNUWRQSzVWeU5YMUNMY3pBbzRPY2pORzhiN0FwOC1JIiwieSI6Ijg0WWdpeGRZLUY3dmpkZmNoVmljSm1IRlQ5SVFCT2F5cmVJYmJ5dlRPcTgifV19LCJ0cnVzdF9tYXJrcyI6W3siaWQiOiJodHRwczovL3RydXN0LWFuY2hvci5leGFtcGxlLmV1L2ZlZGVyYXRpb25fZW50aXR5L3RoYXQtcHJvZmlsZSIsInRydXN0X21hcmsiOiJleUpoYiBcdTIwMjYifV19.rwE72ZF7hqladZgYPRAwLs2mwrouVaRMBCBC_ypv-2wkjg5dpKd4LQojdh6DbkrF1Ql-DE4dT10cFS-vWVWzYQ" + ] + + assert StaticTrustChainValidator(static_chain, []).is_valid == True \ No newline at end of file From 9d9b68dcbab53403bd1302cd66ae35d887ea2dd6 Mon Sep 17 00:00:00 2001 From: peppelinux Date: Thu, 3 Aug 2023 00:28:20 +0200 Subject: [PATCH 14/53] fix: Federation chains ops --- pyeudiw/federation/exceptions.py | 4 + pyeudiw/federation/schema.py | 15 +- pyeudiw/federation/statements.py | 10 +- .../federation/static_trust_chain_builder.py | 62 ++++--- pyeudiw/federation/trust_chain_builder.py | 4 +- pyeudiw/federation/trust_chain_validator.py | 166 ++++++++++++------ .../federation/_test_mocked_discovery.py | 36 ++-- pyeudiw/tests/federation/create_tc.py | 108 ++++++------ .../test_static_trust_chain_validator.py | 6 +- 9 files changed, 249 insertions(+), 162 deletions(-) diff --git a/pyeudiw/federation/exceptions.py b/pyeudiw/federation/exceptions.py index d74637a9..13e5fa15 100644 --- a/pyeudiw/federation/exceptions.py +++ b/pyeudiw/federation/exceptions.py @@ -48,3 +48,7 @@ class TrustchainMissingMetadata(Exception): class InvalidEntityConfiguration(Exception): pass + + +class InvalidEntityStatement(Exception): + pass diff --git a/pyeudiw/federation/schema.py b/pyeudiw/federation/schema.py index 87ab8b7d..630e9234 100644 --- a/pyeudiw/federation/schema.py +++ b/pyeudiw/federation/schema.py @@ -1,6 +1,7 @@ -from typing import List, Literal, Optional +from typing import Optional + +from pydantic import BaseModel -from pydantic import BaseModel, field_validator class ESSchema(BaseModel, extra='forbid'): exp: int @@ -9,10 +10,12 @@ class ESSchema(BaseModel, extra='forbid'): sub: str jwks: dict source_endpoint: Optional[str] = None - + + def is_es(payload: dict) -> bool: try: ESSchema(**payload) - return True - except Exception as e: - return False \ No newline at end of file + if payload["iss"] != payload["sub"]: + return True + except Exception: + return False diff --git a/pyeudiw/federation/statements.py b/pyeudiw/federation/statements.py index 226a69b2..73b8953f 100644 --- a/pyeudiw/federation/statements.py +++ b/pyeudiw/federation/statements.py @@ -95,7 +95,7 @@ def validate_by(self, ec) -> bool: f"{self.header.get('kid')} not found in {ec.jwks}" ) # verify signature - + jwsh = JWSHelper(ec.jwks[ec.kids.index(self.header["kid"])]) payload = jwsh.verify(self.jwt) self.is_valid = True @@ -107,7 +107,7 @@ def validate_by_its_issuer(self) -> bool: self.iss, self.httpc_params ) try: - ec = EntityConfiguration(self.issuer_entity_configuration[0]) + ec = EntityStatement(self.issuer_entity_configuration[0]) ec.validate_by_itself() except UnknownKid: logger.warning( @@ -191,7 +191,7 @@ def validate_by_itself(self) -> bool: f"{self.header.get('kid')} not found in {self.jwks}") # pragma: no cover # verify signature jwsh = JWSHelper(self.jwks[self.kids.index(self.header["kid"])]) - payload = jwsh.verify(self.jwt) + jwsh.verify(self.jwt) self.is_valid = True return True @@ -388,10 +388,10 @@ def validate_by_superior_statement(self, jwt: str, ec): ec.validate_descendant_statement(jwt) _jwks = get_federation_jwks(payload, self.httpc_params) _kids = [i.get("kid") for i in _jwks] - + jwsh = JWSHelper(_jwks[_kids.index(self.header["kid"])]) payload = jwsh.verify(self.jwt) - + is_valid = True except Exception as e: logger.warning( diff --git a/pyeudiw/federation/static_trust_chain_builder.py b/pyeudiw/federation/static_trust_chain_builder.py index c0c04b09..621b7853 100644 --- a/pyeudiw/federation/static_trust_chain_builder.py +++ b/pyeudiw/federation/static_trust_chain_builder.py @@ -2,7 +2,8 @@ from cryptojwt.jws.jws import JWS from dataclasses import dataclass from pyeudiw.tools.utils import iat_now, exp_from_now - + + @dataclass class TrustedAnchorInfo: exp_in: int @@ -10,65 +11,74 @@ class TrustedAnchorInfo: subject: str trust_marks: list + @dataclass class LeafInfo(TrustedAnchorInfo): metadata: dict authority_hints: list - + + @dataclass class IntermediateInfo(TrustedAnchorInfo): metadata_policy: dict + def _gen_empty_jwks_field(): return {"keys": []} + def _gen_ec(node: LeafInfo | IntermediateInfo | TrustedAnchorInfo, keys: list) -> dict: ec = { - 'exp': exp_from_now(node.exp_in), # TODO: get all the timestamp dinamically - 'iat': iat_now(), - 'iss': node.issuer, - 'sub': node.subject, - 'jwks': _gen_empty_jwks_field(), # UPDATED LATER IN THE CODE - 'trust_marks': node.trust_marks, - } - + # TODO: get all the timestamp dinamically + 'exp': exp_from_now(node.exp_in), + 'iat': iat_now(), + 'iss': node.issuer, + 'sub': node.subject, + 'jwks': _gen_empty_jwks_field(), # UPDATED LATER IN THE CODE + 'trust_marks': node.trust_marks, + } + is_leaf = isinstance(node, LeafInfo) - + if is_leaf: ec["metadata"] = node.metadata ec["authority_hints"] = node.authority_hints - ec["metadata"]["openid_relying_party"] = {"jwks": _gen_empty_jwks_field()} + ec["metadata"]["openid_relying_party"] = { + "jwks": _gen_empty_jwks_field()} elif isinstance(node, IntermediateInfo): ec["metadata_policy"] = node.metadata_policy - + if not isinstance(keys, list): keys = [keys] - + for key in keys: serialized_key = key.serialize() ec["jwks"]['keys'].append(serialized_key) - + if is_leaf: - ec['metadata']['openid_relying_party']["jwks"]['keys'].append(serialized_key) - + ec['metadata']['openid_relying_party']["jwks"]['keys'].append( + serialized_key) + return ec - + + def _sign_ec(ec: dict, jwk: dict) -> str: signer = JWS(ec, alg="RS256", typ="application/entity-statement+jwt") return signer.sign_compact([jwk]) - + + def gen_static_trustchain(leaf: LeafInfo, intermediate: IntermediateInfo, trusted: TrustedAnchorInfo): leaf_jwk = new_rsa_key() leaf_ec = _gen_ec(leaf, leaf_jwk) - + intermediate_jwk = new_rsa_key() intermediate_ec = _gen_ec(intermediate, leaf_jwk) - + trusted_jwk = new_rsa_key() trusted_ec = _gen_ec(trusted, intermediate_jwk) - + return [ - _sign_ec(leaf_ec, leaf_jwk), - _sign_ec(intermediate_ec, intermediate_jwk), - _sign_ec(trusted_ec, trusted_jwk), - ] \ No newline at end of file + _sign_ec(leaf_ec, leaf_jwk), + _sign_ec(intermediate_ec, intermediate_jwk), + _sign_ec(trusted_ec, trusted_jwk), + ] diff --git a/pyeudiw/federation/trust_chain_builder.py b/pyeudiw/federation/trust_chain_builder.py index 98fc4956..18b6928f 100644 --- a/pyeudiw/federation/trust_chain_builder.py +++ b/pyeudiw/federation/trust_chain_builder.py @@ -7,7 +7,7 @@ from pyeudiw.federation.policy import apply_policy from .exceptions import ( - InvalidEntityConfiguration, + InvalidEntityStatement, InvalidRequiredTrustMark, MetadataDiscoveryException ) @@ -290,5 +290,3 @@ def start(self): self.is_valid = False logger.error(f"{e}") raise e - - diff --git a/pyeudiw/federation/trust_chain_validator.py b/pyeudiw/federation/trust_chain_validator.py index fe158234..13535c83 100644 --- a/pyeudiw/federation/trust_chain_validator.py +++ b/pyeudiw/federation/trust_chain_validator.py @@ -1,53 +1,70 @@ import logging -#from pyeudiw.federation.statements import ( +# from pyeudiw.federation.statements import ( # get_entity_configurations, # EntityStatement, -#) -import urllib.request +# ) from pyeudiw.tools.utils import iat_now +from pyeudiw.jwt import JWSHelper from pyeudiw.jwt.utils import unpad_jwt_payload, unpad_jwt_header from pyeudiw.federation.schema import is_es +from pyeudiw.federation.statements import ( + get_entity_configurations, + get_entity_statements +) +from pyeudiw.federation.exceptions import HttpError logger = logging.getLogger("pyeudiw.federation") + class TimeValidationError(Exception): def __init__(self, message, errors): super().__init__(message) - + + class KeyValidationError(Exception): def __init__(self, message, errors): super().__init__(message) + +def find_jwk(kid: str, jwks: list) -> dict: + if not kid: + return {} + for jwk in jwks: + valid_jwk = jwk.get("kid", None) + if valid_jwk and kid == valid_jwk: + return jwk + + class StaticTrustChainValidator: def __init__( self, - static_trust_chain :list, - trust_anchor_jwks :list, + static_trust_chain: list, + trust_anchor_jwks: list, **kwargs, ) -> None: - + self.static_trust_chain = static_trust_chain self.updated_trust_chain = [] self.trust_anchor_jwks = trust_anchor_jwks - for k,v in kwargs.items(): + for k, v in kwargs.items(): setattr(self, k, v) - + def _validate_exp(self, exp): if exp < iat_now(): - raise TimeValidationError(f"TA expiried") - + raise TimeValidationError("TA expired") + def _validate_keys(self, fed_jwks, st_header): current_kid = st_header["kid"] - + validation_kid = None - + for key in fed_jwks: if key["kid"] == current_kid: validation_kid = key - - if validation_kid == None: - raise KeyValidationError(f"Kid {current_kid} not in chain") - + + if not validation_kid: + raise KeyValidationError(f"Kid {current_kid} not found") + def _validate_single(self, fed_jwks, header, payload): try: self._validate_keys(fed_jwks, header) @@ -55,64 +72,107 @@ def _validate_single(self, fed_jwks, header, payload): except Exception as e: logger.warning(f"Warning: {e}") return False - + return True - + @property def is_valid(self): - exps = [] - # start from the last entity statement rev_tc = [ i for i in reversed( self.updated_trust_chain or self.static_trust_chain ) ] - - # inspect the entity statement kid header to know which + + # inspect the entity statement kid header to know which # TA's public key to use for the validation - - es_payload = unpad_jwt_payload(rev_tc[0]) + + last_element = rev_tc[0] + es_header = unpad_jwt_header(last_element) + es_payload = unpad_jwt_payload(last_element) + ta_jwk = find_jwk( + es_header.get("kid", None), self.trust_anchor_jwks + ) + + # Validate the last statement with ta_jwk + jwsh = JWSHelper(ta_jwk) + if not jwsh.verify(last_element): + return False + + # then go ahead with other checks es_exp = es_payload["exp"] - + # if valid: exps.append(this-exp) self._validate_exp(es_exp) - + fed_jwks = es_payload["jwks"]["keys"] - + # for st in rev_tc[1:]: # validate the entire chain taking in cascade using fed_jwks # if valid -> update fed_jwks with $st - for st in rev_tc[1:]: st_header = unpad_jwt_header(st) st_payload = unpad_jwt_payload(st) - - if self._validate_single(fed_jwks, st_header, st_payload) == False: + jwk = find_jwk( + st_header.get("kid", None), fed_jwks + ) + jwsh = JWSHelper(jwk) + if not jwsh.verify(st): return False - - fed_jwks = st_payload["jwks"]["keys"] - + else: + fed_jwks = st_payload["jwks"]["keys"] + return True - - def update(self): - self.updated_trust_chain = [] - - for st in self.static_trust_chain: + + def update(self, httpc_params: dict = {}): + + for st in self.static_trust_chain: payload = unpad_jwt_payload(st) - download_url = None - - if is_es(payload): - download_url = payload["source_endpoint"] if payload.get("source_endpoint", None) else payload["iss"] + "fetch" + iss = payload['iss'] + + if not is_es(payload): + # It's an entity configuration + jwt = get_entity_configurations(iss, httpc_params) + if not jwt: + raise HttpError( + f"Cannot get the Entity Configuration from {iss}") + + # is something weird these will raise their Exceptions + self.updated_trust_chain.append(jwt[0]) + continue + + # if it has the source_endpoint let's try a fast renewal + download_url: str = payload.get("source_endpoint", "") + if download_url: + jwt = get_entity_statements([download_url], self.httpc_params) + if not jwt: + logger.warning( + f"Cannot fast refresh Entity Statement {iss}" + ) else: - iss = payload["iss"] - download_url = iss + ".well-known/openid-federation" - - contents = urllib.request.urlopen(download_url).read() - - self.updated_trust_chain.append(contents) - + ec = get_entity_configurations(iss, httpc_params) + if not jwt: + raise HttpError( + f"Cannot get the Entity Configuration from {iss} " + "since the fast refresh is not available" + ) + ec_data = unpad_jwt_payload(ec) + try: + # get superior fetch url + fetch_api_url = ec_data.payload["metadata"]["federation_entity"][ + "federation_fetch_endpoint" + ] + except KeyError: + logger.warning( + "Missing federation_fetch_endpoint in " + f"federation_entity metadata for {ec_data['sub']}" + ) + jwt = get_entity_statements([fetch_api_url], self.httpc_params) + if not jwt: + raise HttpError( + f"Cannot get the Entity Statement from {fetch_api_url}" + ) + + self.updated_trust_chain.append(jwt[0]) + return self.is_valid - - - diff --git a/pyeudiw/tests/federation/_test_mocked_discovery.py b/pyeudiw/tests/federation/_test_mocked_discovery.py index 3f3fb7ea..b09eedc8 100644 --- a/pyeudiw/tests/federation/_test_mocked_discovery.py +++ b/pyeudiw/tests/federation/_test_mocked_discovery.py @@ -28,7 +28,8 @@ def __init__(self): self.result = None def result_as_it_is(self): - logger.info(f"Response #{self.req_counter}: {self.result.content.decode()}") + logger.info( + f"Response #{self.req_counter}: {self.result.content.decode()}") self.req_counter += 1 return self.result.content @@ -46,7 +47,8 @@ def trust_anchor_ec(self): return res def rp_ec(self): - rp = FederationEntityConfiguration.objects.get(sub=rp_onboarding_data["sub"]) + rp = FederationEntityConfiguration.objects.get( + sub=rp_onboarding_data["sub"]) res = DummyContent(rp.entity_configuration_as_jws) return res @@ -72,6 +74,7 @@ def content(self): return self.result_as_jws() + class EntityResponseNoIntermediateSignedJwksUri(EntityResponse): @property def content(self): @@ -82,7 +85,8 @@ def content(self): elif self.req_counter == 2: self.result = self.fetch_rp_from_ta() elif self.req_counter == 3: - metadata = copy.deepcopy(rp_conf['metadata']['openid_relying_party']) + metadata = copy.deepcopy( + rp_conf['metadata']['openid_relying_party']) _jwks = metadata.pop('jwks') fed_jwks = rp_conf['jwks_fed'][0] self.result = create_jws(_jwks, fed_jwks) @@ -103,7 +107,8 @@ def content(self): elif self.req_counter == 1: self.result = self.rp_ec() elif self.req_counter == 2: - sa = FederationEntityConfiguration.objects.get(sub=intermediary_conf["sub"]) + sa = FederationEntityConfiguration.objects.get( + sub=intermediary_conf["sub"]) self.result = DummyContent(sa.entity_configuration_as_jws) elif self.req_counter == 3: url = reverse("oidcfed_fetch") @@ -116,17 +121,20 @@ def content(self): ) elif self.req_counter == 4: url = reverse("oidcfed_fetch") - self.result = self.client.get(url, data={"sub": intermediary_conf["sub"]}) + self.result = self.client.get( + url, data={"sub": intermediary_conf["sub"]}) elif self.req_counter == 5: url = reverse("entity_configuration") - self.result = self.client.get(url, data={"sub": ta_conf_data["sub"]}) + self.result = self.client.get( + url, data={"sub": ta_conf_data["sub"]}) elif self.req_counter > 5: raise NotImplementedError( "The mocked resposes seems to be not aligned with the correct flow" ) if self.result.status_code != 200: - raise HttpError(f"Something went wrong with Http Request: {res.__dict__}") + raise HttpError( + f"Something went wrong with Http Request: {self.result.__dict__}") logger.info("-------------------------------------------------") logger.info("") @@ -141,7 +149,8 @@ def content(self): elif self.req_counter == 1: self.result = self.rp_ec() elif self.req_counter == 2: - sa = FederationEntityConfiguration.objects.get(sub=intermediary_conf["sub"]) + sa = FederationEntityConfiguration.objects.get( + sub=intermediary_conf["sub"]) self.result = DummyContent(sa.entity_configuration_as_jws) elif self.req_counter == 3: self.result = DummyContent("crap") @@ -157,18 +166,21 @@ def content(self): ) elif self.req_counter == 5: url = reverse("oidcfed_fetch") - self.result = self.client.get(url, data={"sub": intermediary_conf["sub"]}) + self.result = self.client.get( + url, data={"sub": intermediary_conf["sub"]}) elif self.req_counter == 6: url = reverse("entity_configuration") - self.result = self.client.get(url, data={"sub": ta_conf_data["sub"]}) + self.result = self.client.get( + url, data={"sub": ta_conf_data["sub"]}) elif self.req_counter > 6: raise NotImplementedError( "The mocked resposes seems to be not aligned with the correct flow" ) if self.result.status_code != 200: - raise HttpError(f"Something went wrong with Http Request: {res.__dict__}") + raise HttpError( + f"Something went wrong with Http Request: {self.result.__dict__}") try: return self.result_as_jws() - except: + except Exception: return self.result_as_it_is() diff --git a/pyeudiw/tests/federation/create_tc.py b/pyeudiw/tests/federation/create_tc.py index 5e0f29b0..5196aab5 100644 --- a/pyeudiw/tests/federation/create_tc.py +++ b/pyeudiw/tests/federation/create_tc.py @@ -1,73 +1,73 @@ -import json from pyeudiw.federation.static_trust_chain_builder import ( - LeafInfo, - IntermediateInfo, - TrustedAnchorInfo, + LeafInfo, + IntermediateInfo, + TrustedAnchorInfo, gen_static_trustchain ) -# TODO: change this file in a test case +# TODO: change this file in a test case leaf = LeafInfo( - 10, - "https://rp.example.org", + 10, "https://rp.example.org", - [{'id': 'https://registry.eidas.trust-anchor.example.eu/openid_relying_party/public/', 'trust_mark': 'eyJh …'}], + "https://rp.example.org", + [{'id': 'https://registry.eidas.trust-anchor.example.eu/openid_relying_party/public/', + 'trust_mark': 'eyJh …'}], { 'openid_relying_party': { 'application_type': 'web', - 'client_id': 'https://rp.example.org/', - 'client_registration_types': ['automatic'], - 'client_name': 'Name of an example organization', - 'contacts': ['ops@rp.example.it'], - 'grant_types': ['refresh_token', 'authorization_code'], - 'redirect_uris': ['https://rp.example.org/oidc/rp/callback/'], - 'response_types': ['code'], - 'scopes': 'eu.europa.ec.eudiw.pid.1 eu.europa.ec.eudiw.pid.it.1 email', - 'subject_type': 'pairwise'}, - 'federation_entity': {'federation_resolve_endpoint': 'https://rp.example.org/resolve/', - 'organization_name': 'Example RP', - 'homepage_uri': 'https://rp.example.it', - 'policy_uri': 'https://rp.example.it/policy', - 'logo_uri': 'https://rp.example.it/static/logo.svg', - 'contacts': ['tech@example.it'] - } - }, - ['https://intermediate.eidas.example.org'] + 'client_id': 'https://rp.example.org/', + 'client_registration_types': ['automatic'], + 'client_name': 'Name of an example organization', + 'contacts': ['ops@rp.example.it'], + 'grant_types': ['refresh_token', 'authorization_code'], + 'redirect_uris': ['https://rp.example.org/oidc/rp/callback/'], + 'response_types': ['code'], + 'scopes': 'eu.europa.ec.eudiw.pid.1 eu.europa.ec.eudiw.pid.it.1 email', + 'subject_type': 'pairwise'}, + 'federation_entity': {'federation_resolve_endpoint': 'https://rp.example.org/resolve/', + 'organization_name': 'Example RP', + 'homepage_uri': 'https://rp.example.it', + 'policy_uri': 'https://rp.example.it/policy', + 'logo_uri': 'https://rp.example.it/static/logo.svg', + 'contacts': ['tech@example.it'] + } + }, + ['https://intermediate.eidas.example.org'] ) intermediate = IntermediateInfo( - 10, - "https://intermediate.eidas.example.org", + 10, + "https://intermediate.eidas.example.org", "https://rp.example.org", - [{'id': 'https://registry.gov.org/intermediate/private/full/','trust_mark': 'eyJh …'}], + [{'id': 'https://registry.gov.org/intermediate/private/full/', 'trust_mark': 'eyJh …'}], { - "openid_relying_party": { - "scopes": { - "subset_of": [ - "eu.europa.ec.eudiw.pid.1, eu.europa.ec.eudiw.pid.it.1" - ] - }, - "request_authentication_methods_supported": { - "one_of": ["request_object"] - }, - "request_authentication_signing_alg_values_supported": { - "subset_of": ["RS256", "RS512", "ES256", "ES512", "PS256", "PS512"] - } - } - } - ) + "openid_relying_party": { + "scopes": { + "subset_of": [ + "eu.europa.ec.eudiw.pid.1, eu.europa.ec.eudiw.pid.it.1" + ] + }, + "request_authentication_methods_supported": { + "one_of": ["request_object"] + }, + "request_authentication_signing_alg_values_supported": { + "subset_of": ["RS256", "RS512", "ES256", "ES512", "PS256", "PS512"] + } + } + } +) trust = TrustedAnchorInfo( - 10, - "https://trust-anchor.example.eu", - "https://intermediate.eidas.example.org", - [ - { - "id": "https://trust-anchor.example.eu/federation_entity/that-profile", - "trust_mark": "eyJhb …" - } - ] + 10, + "https://trust-anchor.example.eu", + "https://intermediate.eidas.example.org", + [ + { + "id": "https://trust-anchor.example.eu/federation_entity/that-profile", + "trust_mark": "eyJhb …" + } + ] ) -trust_chain = gen_static_trustchain(leaf, intermediate, trust) \ No newline at end of file +trust_chain = gen_static_trustchain(leaf, intermediate, trust) diff --git a/pyeudiw/tests/federation/test_static_trust_chain_validator.py b/pyeudiw/tests/federation/test_static_trust_chain_validator.py index e3c47ac3..54fa1674 100644 --- a/pyeudiw/tests/federation/test_static_trust_chain_validator.py +++ b/pyeudiw/tests/federation/test_static_trust_chain_validator.py @@ -1,11 +1,11 @@ -import pytest from pyeudiw.federation.trust_chain_validator import StaticTrustChainValidator + def test_is_vaild(): static_chain = [ "eyJhbGciOiJFUzI1NiIsImtpZCI6Ik1YRndZMlpvUVhaaU1qWk9hRGR5UlhBeGNVRllhMFJVVHpsVVZGQmZPV05xVGsxcFFrcEtOV0Y2YnciLCJ0eXAiOiJhcHBsaWNhdGlvbi9lbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE3MDMxNDYyNjUsImlhdCI6MTY0OTQxNzg2MiwiaXNzIjoiaHR0cHM6Ly9ycC5leGFtcGxlLm9yZyIsInN1YiI6Imh0dHBzOi8vcnAuZXhhbXBsZS5vcmciLCJqd2tzIjp7ImtleXMiOlt7Imt0eSI6IkVDIiwia2lkIjoiTVhGd1kyWm9RWFppTWpaT2FEZHlSWEF4Y1VGWWEwUlVUemxVVkZCZk9XTnFUazFwUWtwS05XRjZidyIsImNydiI6IlAtMjU2IiwieCI6ImhOR040UmQ2a2dnTjJLUEpRbVFha2RBWWVmNUpXOUJTWVFKenZla0Q3UXciLCJ5IjoiaEFyVGFLYlRGT2tmSFJnSHlYYzFkd0FScGhvSXZfQXdtWG1NcDBXV3FxMCJ9XX0sIm1ldGFkYXRhIjp7Im9wZW5pZF9yZWx5aW5nX3BhcnR5Ijp7ImFwcGxpY2F0aW9uX3R5cGUiOiJ3ZWIiLCJjbGllbnRfaWQiOiJodHRwczovL3JwLmV4YW1wbGUub3JnLyIsImNsaWVudF9yZWdpc3RyYXRpb25fdHlwZXMiOlsiYXV0b21hdGljIl0sImp3a3MiOnsia2V5cyI6W3sia3R5IjoiRUMiLCJraWQiOiJNWEZ3WTJab1FYWmlNalpPYURkeVJYQXhjVUZZYTBSVVR6bFVWRkJmT1dOcVRrMXBRa3BLTldGNmJ3IiwiY3J2IjoiUC0yNTYiLCJ4IjoiaE5HTjRSZDZrZ2dOMktQSlFtUWFrZEFZZWY1Slc5QlNZUUp6dmVrRDdRdyIsInkiOiJoQXJUYUtiVEZPa2ZIUmdIeVhjMWR3QVJwaG9Jdl9Bd21YbU1wMFdXcXEwIn1dfSwiY2xpZW50X25hbWUiOiJOYW1lIG9mIGFuIGV4YW1wbGUgb3JnYW5pemF0aW9uIiwiY29udGFjdHMiOlsib3BzQHJwLmV4YW1wbGUuaXQiXSwiZ3JhbnRfdHlwZXMiOlsicmVmcmVzaF90b2tlbiIsImF1dGhvcml6YXRpb25fY29kZSJdLCJyZWRpcmVjdF91cmlzIjpbImh0dHBzOi8vcnAuZXhhbXBsZS5vcmcvb2lkYy9ycC9jYWxsYmFjay8iXSwicmVzcG9uc2VfdHlwZXMiOlsiY29kZSJdLCJzY29wZXMiOiJldS5ldXJvcGEuZWMuZXVkaXcucGlkLjEgZXUuZXVyb3BhLmVjLmV1ZGl3LnBpZC5pdC4xIGVtYWlsIiwic3ViamVjdF90eXBlIjoicGFpcndpc2UifSwiZmVkZXJhdGlvbl9lbnRpdHkiOnsiZmVkZXJhdGlvbl9yZXNvbHZlX2VuZHBvaW50IjoiaHR0cHM6Ly9ycC5leGFtcGxlLm9yZy9yZXNvbHZlLyIsIm9yZ2FuaXphdGlvbl9uYW1lIjoiRXhhbXBsZSBSUCIsImhvbWVwYWdlX3VyaSI6Imh0dHBzOi8vcnAuZXhhbXBsZS5pdCIsInBvbGljeV91cmkiOiJodHRwczovL3JwLmV4YW1wbGUuaXQvcG9saWN5IiwibG9nb191cmkiOiJodHRwczovL3JwLmV4YW1wbGUuaXQvc3RhdGljL2xvZ28uc3ZnIiwiY29udGFjdHMiOlsidGVjaEBleGFtcGxlLml0Il19fSwidHJ1c3RfbWFya3MiOlt7ImlkIjoiaHR0cHM6Ly9yZWdpc3RyeS5laWRhcy50cnVzdC1hbmNob3IuZXhhbXBsZS5ldS9vcGVuaWRfcmVseWluZ19wYXJ0eS9wdWJsaWMvIiwidHJ1c3RfbWFyayI6ImV5SmggXHUyMDI2In1dLCJhdXRob3JpdHlfaGludHMiOlsiaHR0cHM6Ly9pbnRlcm1lZGlhdGUuZWlkYXMuZXhhbXBsZS5vcmciXX0.mcF04Oi1EFD06no-75JHF5PVSyEePnAdOcn1L3BOj-LnYxcvyU8rvo8mYraN2AYuzUeqjfPoepXruRFxpDRJAg", "eyJhbGciOiJFUzI1NiIsImtpZCI6Ik1TMTFOVm8yYTNCaGNUQnJOMVUwT1dKeFpHVnZjMHRpV2twU2EzRlJSMUZLTUhkRmRWbEVPRVJ3YXciLCJ0eXAiOiJhcHBsaWNhdGlvbi9lbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE3MDMxNDYyNjUsImlhdCI6MTY0OTQ1MDc0NiwiaXNzIjoiaHR0cHM6Ly9pbnRlcm1lZGlhdGUuZWlkYXMuZXhhbXBsZS5vcmciLCJzdWIiOiJodHRwczovL3JwLmV4YW1wbGUub3JnIiwiandrcyI6eyJrZXlzIjpbeyJrdHkiOiJFQyIsImtpZCI6Ik1YRndZMlpvUVhaaU1qWk9hRGR5UlhBeGNVRllhMFJVVHpsVVZGQmZPV05xVGsxcFFrcEtOV0Y2YnciLCJjcnYiOiJQLTI1NiIsIngiOiJoTkdONFJkNmtnZ04yS1BKUW1RYWtkQVllZjVKVzlCU1lRSnp2ZWtEN1F3IiwieSI6ImhBclRhS2JURk9rZkhSZ0h5WGMxZHdBUnBob0l2X0F3bVhtTXAwV1dxcTAifV19LCJtZXRhZGF0YV9wb2xpY3kiOnsib3BlbmlkX3JlbHlpbmdfcGFydHkiOnsic2NvcGVzIjp7InN1YnNldF9vZiI6WyJldS5ldXJvcGEuZWMuZXVkaXcucGlkLjEsICBldS5ldXJvcGEuZWMuZXVkaXcucGlkLml0LjEiXX0sInJlcXVlc3RfYXV0aGVudGljYXRpb25fbWV0aG9kc19zdXBwb3J0ZWQiOnsib25lX29mIjpbInJlcXVlc3Rfb2JqZWN0Il19LCJyZXF1ZXN0X2F1dGhlbnRpY2F0aW9uX3NpZ25pbmdfYWxnX3ZhbHVlc19zdXBwb3J0ZWQiOnsic3Vic2V0X29mIjpbIlJTMjU2IiwiUlM1MTIiLCJFUzI1NiIsIkVTNTEyIiwiUFMyNTYiLCJQUzUxMiJdfX19LCJ0cnVzdF9tYXJrcyI6W3siaWQiOiJodHRwczovL3RydXN0LWFuY2hvci5leGFtcGxlLmV1L29wZW5pZF9yZWx5aW5nX3BhcnR5L3B1YmxpYy8iLCJ0cnVzdF9tYXJrIjoiZXlKaGIgXHUyMDI2In1dfQ.WwVUWBOhT9aKeEGoW0Sq_NvNdpFp_Arzli9RWzmYEZI9X7BuCyTIXe07YhJw-oYnuYNRu5tvIsMHZdSL0QYRlg", "eyJhbGciOiJFUzI1NiIsImtpZCI6Ilh6TjZhV280VVdWVlZuWjVZVGxSYTNrNGVqWnpZbmhxTW1NdFVISlRaV3RWUVhkaVJVcEViMjFGVFEiLCJ0eXAiOiJhcHBsaWNhdGlvbi9lbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE3MDMxNDYyNjUsImlhdCI6MTY0OTQ1MDc0NiwiaXNzIjoiaHR0cHM6Ly90cnVzdC1hbmNob3IuZXhhbXBsZS5ldSIsInN1YiI6Imh0dHBzOi8vaW50ZXJtZWRpYXRlLmVpZGFzLmV4YW1wbGUub3JnIiwiandrcyI6eyJrZXlzIjpbeyJrdHkiOiJFQyIsImtpZCI6Ik1TMTFOVm8yYTNCaGNUQnJOMVUwT1dKeFpHVnZjMHRpV2twU2EzRlJSMUZLTUhkRmRWbEVPRVJ3YXciLCJjcnYiOiJQLTI1NiIsIngiOiJlem50R3FacHZGbWVNUWRQSzVWeU5YMUNMY3pBbzRPY2pORzhiN0FwOC1JIiwieSI6Ijg0WWdpeGRZLUY3dmpkZmNoVmljSm1IRlQ5SVFCT2F5cmVJYmJ5dlRPcTgifV19LCJ0cnVzdF9tYXJrcyI6W3siaWQiOiJodHRwczovL3RydXN0LWFuY2hvci5leGFtcGxlLmV1L2ZlZGVyYXRpb25fZW50aXR5L3RoYXQtcHJvZmlsZSIsInRydXN0X21hcmsiOiJleUpoYiBcdTIwMjYifV19.rwE72ZF7hqladZgYPRAwLs2mwrouVaRMBCBC_ypv-2wkjg5dpKd4LQojdh6DbkrF1Ql-DE4dT10cFS-vWVWzYQ" ] - - assert StaticTrustChainValidator(static_chain, []).is_valid == True \ No newline at end of file + + assert StaticTrustChainValidator(static_chain, []).is_valid From c4eaeba9f815f69c7a1d58c837a43c8a8c2a8f4b Mon Sep 17 00:00:00 2001 From: peppelinux Date: Thu, 3 Aug 2023 01:58:16 +0200 Subject: [PATCH 15/53] fix: Federations tests and code --- .github/workflows/python-app.yml | 2 +- pyeudiw/federation/exceptions.py | 11 + .../federation/static_trust_chain_builder.py | 84 ------ pyeudiw/federation/trust_chain_validator.py | 35 ++- pyeudiw/jwk/__init__.py | 6 +- pyeudiw/tests/federation/create_tc.py | 73 ----- .../test_static_trust_chain_validator.py | 281 +++++++++++++++++- 7 files changed, 310 insertions(+), 182 deletions(-) delete mode 100644 pyeudiw/federation/static_trust_chain_builder.py delete mode 100644 pyeudiw/tests/federation/create_tc.py diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-app.yml index 46897820..891450bd 100644 --- a/.github/workflows/python-app.yml +++ b/.github/workflows/python-app.yml @@ -48,7 +48,7 @@ jobs: if [ -f requirements-customizations.txt ]; then pip install -r requirements-customizations.txt; fi python -m pip install -U setuptools python -m pip install -e . - python -m pip install "Pillow>=10.0.0,<10.1" "device_detector>=5.0,<6" "satosa>=8.4,<8.6" "jinja2>=3.0,<4" "pymongo>=4.4.1,<4.5" + python -m pip install "Pillow>=10.0.0,<10.1" "device_detector>=5.0,<6" "satosa>=8.4,<8.6" "jinja2>=3.0,<4" "pymongo>=4.4.1,<4.5" aiohttp python -m pip install git+https://github.com/danielfett/sd-jwt.git - name: Lint with flake8 diff --git a/pyeudiw/federation/exceptions.py b/pyeudiw/federation/exceptions.py index 13e5fa15..a157b059 100644 --- a/pyeudiw/federation/exceptions.py +++ b/pyeudiw/federation/exceptions.py @@ -26,6 +26,9 @@ class TrustAnchorNeeded(Exception): pass +class MissingTrustAnchorPublicKey(Exception): + pass + class MetadataDiscoveryException(Exception): pass @@ -52,3 +55,11 @@ class InvalidEntityConfiguration(Exception): class InvalidEntityStatement(Exception): pass + + +class TimeValidationError(Exception): + pass + + +class KeyValidationError(Exception): + pass diff --git a/pyeudiw/federation/static_trust_chain_builder.py b/pyeudiw/federation/static_trust_chain_builder.py deleted file mode 100644 index 621b7853..00000000 --- a/pyeudiw/federation/static_trust_chain_builder.py +++ /dev/null @@ -1,84 +0,0 @@ -from cryptojwt.jwk.rsa import new_rsa_key -from cryptojwt.jws.jws import JWS -from dataclasses import dataclass -from pyeudiw.tools.utils import iat_now, exp_from_now - - -@dataclass -class TrustedAnchorInfo: - exp_in: int - issuer: str - subject: str - trust_marks: list - - -@dataclass -class LeafInfo(TrustedAnchorInfo): - metadata: dict - authority_hints: list - - -@dataclass -class IntermediateInfo(TrustedAnchorInfo): - metadata_policy: dict - - -def _gen_empty_jwks_field(): - return {"keys": []} - - -def _gen_ec(node: LeafInfo | IntermediateInfo | TrustedAnchorInfo, keys: list) -> dict: - ec = { - # TODO: get all the timestamp dinamically - 'exp': exp_from_now(node.exp_in), - 'iat': iat_now(), - 'iss': node.issuer, - 'sub': node.subject, - 'jwks': _gen_empty_jwks_field(), # UPDATED LATER IN THE CODE - 'trust_marks': node.trust_marks, - } - - is_leaf = isinstance(node, LeafInfo) - - if is_leaf: - ec["metadata"] = node.metadata - ec["authority_hints"] = node.authority_hints - ec["metadata"]["openid_relying_party"] = { - "jwks": _gen_empty_jwks_field()} - elif isinstance(node, IntermediateInfo): - ec["metadata_policy"] = node.metadata_policy - - if not isinstance(keys, list): - keys = [keys] - - for key in keys: - serialized_key = key.serialize() - ec["jwks"]['keys'].append(serialized_key) - - if is_leaf: - ec['metadata']['openid_relying_party']["jwks"]['keys'].append( - serialized_key) - - return ec - - -def _sign_ec(ec: dict, jwk: dict) -> str: - signer = JWS(ec, alg="RS256", typ="application/entity-statement+jwt") - return signer.sign_compact([jwk]) - - -def gen_static_trustchain(leaf: LeafInfo, intermediate: IntermediateInfo, trusted: TrustedAnchorInfo): - leaf_jwk = new_rsa_key() - leaf_ec = _gen_ec(leaf, leaf_jwk) - - intermediate_jwk = new_rsa_key() - intermediate_ec = _gen_ec(intermediate, leaf_jwk) - - trusted_jwk = new_rsa_key() - trusted_ec = _gen_ec(trusted, intermediate_jwk) - - return [ - _sign_ec(leaf_ec, leaf_jwk), - _sign_ec(intermediate_ec, intermediate_jwk), - _sign_ec(trusted_ec, trusted_jwk), - ] diff --git a/pyeudiw/federation/trust_chain_validator.py b/pyeudiw/federation/trust_chain_validator.py index 13535c83..de479ba9 100644 --- a/pyeudiw/federation/trust_chain_validator.py +++ b/pyeudiw/federation/trust_chain_validator.py @@ -11,21 +11,16 @@ get_entity_configurations, get_entity_statements ) -from pyeudiw.federation.exceptions import HttpError +from pyeudiw.federation.exceptions import ( + HttpError, + MissingTrustAnchorPublicKey, + TimeValidationError, + KeyValidationError +) logger = logging.getLogger("pyeudiw.federation") -class TimeValidationError(Exception): - def __init__(self, message, errors): - super().__init__(message) - - -class KeyValidationError(Exception): - def __init__(self, message, errors): - super().__init__(message) - - def find_jwk(kid: str, jwks: list) -> dict: if not kid: return {} @@ -45,13 +40,19 @@ def __init__( self.static_trust_chain = static_trust_chain self.updated_trust_chain = [] + + if not trust_anchor_jwks: + raise MissingTrustAnchorPublicKey( + f"{self.__class__.__name__} cannot " + "created without the TA public jwks" + ) + self.trust_anchor_jwks = trust_anchor_jwks for k, v in kwargs.items(): setattr(self, k, v) - def _validate_exp(self, exp): - if exp < iat_now(): - raise TimeValidationError("TA expired") + def is_expired(self, exp): + return exp < iat_now() def _validate_keys(self, fed_jwks, st_header): current_kid = st_header["kid"] @@ -96,14 +97,16 @@ def is_valid(self): # Validate the last statement with ta_jwk jwsh = JWSHelper(ta_jwk) + if not jwsh.verify(last_element): return False # then go ahead with other checks es_exp = es_payload["exp"] - # if valid: exps.append(this-exp) - self._validate_exp(es_exp) + iat_now() - es_exp + if self.is_expired(es_exp): + raise TimeValidationError() fed_jwks = es_payload["jwks"]["keys"] diff --git a/pyeudiw/jwk/__init__.py b/pyeudiw/jwk/__init__.py index 27674365..7e388e10 100644 --- a/pyeudiw/jwk/__init__.py +++ b/pyeudiw/jwk/__init__.py @@ -23,7 +23,8 @@ def __init__( ) -> None: kwargs = {} - + self.kid = "" + if key_type and not KEY_TYPES_FUNC.get(key_type, None): raise NotImplementedError(f"JWK key type {key_type} not found.") @@ -31,6 +32,7 @@ def __init__( if isinstance(key, dict): self.key = key_from_jwk_dict(key) key_type = key.get('kty', key_type) + self.kid = key.get('kid', "") else: self.key = key else: @@ -40,7 +42,7 @@ def __init__( self.thumbprint = self.key.thumbprint(hash_function=hash_func) self.jwk = self.key.to_dict() - self.jwk["kid"] = self.thumbprint.decode() + self.jwk["kid"] = self.kid or self.thumbprint.decode() self.public_key = self.key.serialize() self.public_key['kid'] = self.jwk["kid"] diff --git a/pyeudiw/tests/federation/create_tc.py b/pyeudiw/tests/federation/create_tc.py deleted file mode 100644 index 5196aab5..00000000 --- a/pyeudiw/tests/federation/create_tc.py +++ /dev/null @@ -1,73 +0,0 @@ -from pyeudiw.federation.static_trust_chain_builder import ( - LeafInfo, - IntermediateInfo, - TrustedAnchorInfo, - gen_static_trustchain -) - -# TODO: change this file in a test case - -leaf = LeafInfo( - 10, - "https://rp.example.org", - "https://rp.example.org", - [{'id': 'https://registry.eidas.trust-anchor.example.eu/openid_relying_party/public/', - 'trust_mark': 'eyJh …'}], - { - 'openid_relying_party': { - 'application_type': 'web', - 'client_id': 'https://rp.example.org/', - 'client_registration_types': ['automatic'], - 'client_name': 'Name of an example organization', - 'contacts': ['ops@rp.example.it'], - 'grant_types': ['refresh_token', 'authorization_code'], - 'redirect_uris': ['https://rp.example.org/oidc/rp/callback/'], - 'response_types': ['code'], - 'scopes': 'eu.europa.ec.eudiw.pid.1 eu.europa.ec.eudiw.pid.it.1 email', - 'subject_type': 'pairwise'}, - 'federation_entity': {'federation_resolve_endpoint': 'https://rp.example.org/resolve/', - 'organization_name': 'Example RP', - 'homepage_uri': 'https://rp.example.it', - 'policy_uri': 'https://rp.example.it/policy', - 'logo_uri': 'https://rp.example.it/static/logo.svg', - 'contacts': ['tech@example.it'] - } - }, - ['https://intermediate.eidas.example.org'] -) - -intermediate = IntermediateInfo( - 10, - "https://intermediate.eidas.example.org", - "https://rp.example.org", - [{'id': 'https://registry.gov.org/intermediate/private/full/', 'trust_mark': 'eyJh …'}], - { - "openid_relying_party": { - "scopes": { - "subset_of": [ - "eu.europa.ec.eudiw.pid.1, eu.europa.ec.eudiw.pid.it.1" - ] - }, - "request_authentication_methods_supported": { - "one_of": ["request_object"] - }, - "request_authentication_signing_alg_values_supported": { - "subset_of": ["RS256", "RS512", "ES256", "ES512", "PS256", "PS512"] - } - } - } -) - -trust = TrustedAnchorInfo( - 10, - "https://trust-anchor.example.eu", - "https://intermediate.eidas.example.org", - [ - { - "id": "https://trust-anchor.example.eu/federation_entity/that-profile", - "trust_mark": "eyJhb …" - } - ] -) - -trust_chain = gen_static_trustchain(leaf, intermediate, trust) diff --git a/pyeudiw/tests/federation/test_static_trust_chain_validator.py b/pyeudiw/tests/federation/test_static_trust_chain_validator.py index 54fa1674..dd3fec45 100644 --- a/pyeudiw/tests/federation/test_static_trust_chain_validator.py +++ b/pyeudiw/tests/federation/test_static_trust_chain_validator.py @@ -1,11 +1,280 @@ from pyeudiw.federation.trust_chain_validator import StaticTrustChainValidator -def test_is_vaild(): - static_chain = [ - "eyJhbGciOiJFUzI1NiIsImtpZCI6Ik1YRndZMlpvUVhaaU1qWk9hRGR5UlhBeGNVRllhMFJVVHpsVVZGQmZPV05xVGsxcFFrcEtOV0Y2YnciLCJ0eXAiOiJhcHBsaWNhdGlvbi9lbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE3MDMxNDYyNjUsImlhdCI6MTY0OTQxNzg2MiwiaXNzIjoiaHR0cHM6Ly9ycC5leGFtcGxlLm9yZyIsInN1YiI6Imh0dHBzOi8vcnAuZXhhbXBsZS5vcmciLCJqd2tzIjp7ImtleXMiOlt7Imt0eSI6IkVDIiwia2lkIjoiTVhGd1kyWm9RWFppTWpaT2FEZHlSWEF4Y1VGWWEwUlVUemxVVkZCZk9XTnFUazFwUWtwS05XRjZidyIsImNydiI6IlAtMjU2IiwieCI6ImhOR040UmQ2a2dnTjJLUEpRbVFha2RBWWVmNUpXOUJTWVFKenZla0Q3UXciLCJ5IjoiaEFyVGFLYlRGT2tmSFJnSHlYYzFkd0FScGhvSXZfQXdtWG1NcDBXV3FxMCJ9XX0sIm1ldGFkYXRhIjp7Im9wZW5pZF9yZWx5aW5nX3BhcnR5Ijp7ImFwcGxpY2F0aW9uX3R5cGUiOiJ3ZWIiLCJjbGllbnRfaWQiOiJodHRwczovL3JwLmV4YW1wbGUub3JnLyIsImNsaWVudF9yZWdpc3RyYXRpb25fdHlwZXMiOlsiYXV0b21hdGljIl0sImp3a3MiOnsia2V5cyI6W3sia3R5IjoiRUMiLCJraWQiOiJNWEZ3WTJab1FYWmlNalpPYURkeVJYQXhjVUZZYTBSVVR6bFVWRkJmT1dOcVRrMXBRa3BLTldGNmJ3IiwiY3J2IjoiUC0yNTYiLCJ4IjoiaE5HTjRSZDZrZ2dOMktQSlFtUWFrZEFZZWY1Slc5QlNZUUp6dmVrRDdRdyIsInkiOiJoQXJUYUtiVEZPa2ZIUmdIeVhjMWR3QVJwaG9Jdl9Bd21YbU1wMFdXcXEwIn1dfSwiY2xpZW50X25hbWUiOiJOYW1lIG9mIGFuIGV4YW1wbGUgb3JnYW5pemF0aW9uIiwiY29udGFjdHMiOlsib3BzQHJwLmV4YW1wbGUuaXQiXSwiZ3JhbnRfdHlwZXMiOlsicmVmcmVzaF90b2tlbiIsImF1dGhvcml6YXRpb25fY29kZSJdLCJyZWRpcmVjdF91cmlzIjpbImh0dHBzOi8vcnAuZXhhbXBsZS5vcmcvb2lkYy9ycC9jYWxsYmFjay8iXSwicmVzcG9uc2VfdHlwZXMiOlsiY29kZSJdLCJzY29wZXMiOiJldS5ldXJvcGEuZWMuZXVkaXcucGlkLjEgZXUuZXVyb3BhLmVjLmV1ZGl3LnBpZC5pdC4xIGVtYWlsIiwic3ViamVjdF90eXBlIjoicGFpcndpc2UifSwiZmVkZXJhdGlvbl9lbnRpdHkiOnsiZmVkZXJhdGlvbl9yZXNvbHZlX2VuZHBvaW50IjoiaHR0cHM6Ly9ycC5leGFtcGxlLm9yZy9yZXNvbHZlLyIsIm9yZ2FuaXphdGlvbl9uYW1lIjoiRXhhbXBsZSBSUCIsImhvbWVwYWdlX3VyaSI6Imh0dHBzOi8vcnAuZXhhbXBsZS5pdCIsInBvbGljeV91cmkiOiJodHRwczovL3JwLmV4YW1wbGUuaXQvcG9saWN5IiwibG9nb191cmkiOiJodHRwczovL3JwLmV4YW1wbGUuaXQvc3RhdGljL2xvZ28uc3ZnIiwiY29udGFjdHMiOlsidGVjaEBleGFtcGxlLml0Il19fSwidHJ1c3RfbWFya3MiOlt7ImlkIjoiaHR0cHM6Ly9yZWdpc3RyeS5laWRhcy50cnVzdC1hbmNob3IuZXhhbXBsZS5ldS9vcGVuaWRfcmVseWluZ19wYXJ0eS9wdWJsaWMvIiwidHJ1c3RfbWFyayI6ImV5SmggXHUyMDI2In1dLCJhdXRob3JpdHlfaGludHMiOlsiaHR0cHM6Ly9pbnRlcm1lZGlhdGUuZWlkYXMuZXhhbXBsZS5vcmciXX0.mcF04Oi1EFD06no-75JHF5PVSyEePnAdOcn1L3BOj-LnYxcvyU8rvo8mYraN2AYuzUeqjfPoepXruRFxpDRJAg", - "eyJhbGciOiJFUzI1NiIsImtpZCI6Ik1TMTFOVm8yYTNCaGNUQnJOMVUwT1dKeFpHVnZjMHRpV2twU2EzRlJSMUZLTUhkRmRWbEVPRVJ3YXciLCJ0eXAiOiJhcHBsaWNhdGlvbi9lbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE3MDMxNDYyNjUsImlhdCI6MTY0OTQ1MDc0NiwiaXNzIjoiaHR0cHM6Ly9pbnRlcm1lZGlhdGUuZWlkYXMuZXhhbXBsZS5vcmciLCJzdWIiOiJodHRwczovL3JwLmV4YW1wbGUub3JnIiwiandrcyI6eyJrZXlzIjpbeyJrdHkiOiJFQyIsImtpZCI6Ik1YRndZMlpvUVhaaU1qWk9hRGR5UlhBeGNVRllhMFJVVHpsVVZGQmZPV05xVGsxcFFrcEtOV0Y2YnciLCJjcnYiOiJQLTI1NiIsIngiOiJoTkdONFJkNmtnZ04yS1BKUW1RYWtkQVllZjVKVzlCU1lRSnp2ZWtEN1F3IiwieSI6ImhBclRhS2JURk9rZkhSZ0h5WGMxZHdBUnBob0l2X0F3bVhtTXAwV1dxcTAifV19LCJtZXRhZGF0YV9wb2xpY3kiOnsib3BlbmlkX3JlbHlpbmdfcGFydHkiOnsic2NvcGVzIjp7InN1YnNldF9vZiI6WyJldS5ldXJvcGEuZWMuZXVkaXcucGlkLjEsICBldS5ldXJvcGEuZWMuZXVkaXcucGlkLml0LjEiXX0sInJlcXVlc3RfYXV0aGVudGljYXRpb25fbWV0aG9kc19zdXBwb3J0ZWQiOnsib25lX29mIjpbInJlcXVlc3Rfb2JqZWN0Il19LCJyZXF1ZXN0X2F1dGhlbnRpY2F0aW9uX3NpZ25pbmdfYWxnX3ZhbHVlc19zdXBwb3J0ZWQiOnsic3Vic2V0X29mIjpbIlJTMjU2IiwiUlM1MTIiLCJFUzI1NiIsIkVTNTEyIiwiUFMyNTYiLCJQUzUxMiJdfX19LCJ0cnVzdF9tYXJrcyI6W3siaWQiOiJodHRwczovL3RydXN0LWFuY2hvci5leGFtcGxlLmV1L29wZW5pZF9yZWx5aW5nX3BhcnR5L3B1YmxpYy8iLCJ0cnVzdF9tYXJrIjoiZXlKaGIgXHUyMDI2In1dfQ.WwVUWBOhT9aKeEGoW0Sq_NvNdpFp_Arzli9RWzmYEZI9X7BuCyTIXe07YhJw-oYnuYNRu5tvIsMHZdSL0QYRlg", - "eyJhbGciOiJFUzI1NiIsImtpZCI6Ilh6TjZhV280VVdWVlZuWjVZVGxSYTNrNGVqWnpZbmhxTW1NdFVISlRaV3RWUVhkaVJVcEViMjFGVFEiLCJ0eXAiOiJhcHBsaWNhdGlvbi9lbnRpdHktc3RhdGVtZW50K2p3dCJ9.eyJleHAiOjE3MDMxNDYyNjUsImlhdCI6MTY0OTQ1MDc0NiwiaXNzIjoiaHR0cHM6Ly90cnVzdC1hbmNob3IuZXhhbXBsZS5ldSIsInN1YiI6Imh0dHBzOi8vaW50ZXJtZWRpYXRlLmVpZGFzLmV4YW1wbGUub3JnIiwiandrcyI6eyJrZXlzIjpbeyJrdHkiOiJFQyIsImtpZCI6Ik1TMTFOVm8yYTNCaGNUQnJOMVUwT1dKeFpHVnZjMHRpV2twU2EzRlJSMUZLTUhkRmRWbEVPRVJ3YXciLCJjcnYiOiJQLTI1NiIsIngiOiJlem50R3FacHZGbWVNUWRQSzVWeU5YMUNMY3pBbzRPY2pORzhiN0FwOC1JIiwieSI6Ijg0WWdpeGRZLUY3dmpkZmNoVmljSm1IRlQ5SVFCT2F5cmVJYmJ5dlRPcTgifV19LCJ0cnVzdF9tYXJrcyI6W3siaWQiOiJodHRwczovL3RydXN0LWFuY2hvci5leGFtcGxlLmV1L2ZlZGVyYXRpb25fZW50aXR5L3RoYXQtcHJvZmlsZSIsInRydXN0X21hcmsiOiJleUpoYiBcdTIwMjYifV19.rwE72ZF7hqladZgYPRAwLs2mwrouVaRMBCBC_ypv-2wkjg5dpKd4LQojdh6DbkrF1Ql-DE4dT10cFS-vWVWzYQ" +# pip install cryptojwt +from cryptojwt.jwk.rsa import new_rsa_key +from cryptojwt.jws.jws import JWS + +from pyeudiw.tools.utils import iat_now, exp_from_now + +# Create private keys +leaf_jwk = new_rsa_key() +intermediate_jwk = new_rsa_key() +ta_jwk = new_rsa_key() + +NOW = iat_now() +EXP = exp_from_now(5) + +# Define Entity Configurations +leaf_ec = { + "exp": EXP, + "iat": NOW, + "iss": "https://rp.example.it", + "sub": "https://rp.example.it", + 'jwks': {"keys":[]}, + "metadata": { + "wallet_relying_party": { + "application_type": "web", + "client_id": "https://rp.example.it", + "client_name": "Name of an example organization", + 'jwks': {"keys":[]}, + "contacts": [ + "ops@verifier.example.org" + ], + + "request_uris": [ + "https://verifier.example.org/request_uri" + ], + "redirect_uris": [ + "https://verifier.example.org/callback" + ], + + "default_acr_values": [ + "https://www.spid.gov.it/SpidL2", + "https://www.spid.gov.it/SpidL3" + ], + + "vp_formats": { + "jwt_vp_json": { + "alg": [ + "EdDSA", + "ES256K" + ] + } + }, + "presentation_definitions": [ + { + "id": "pid-sd-jwt:unique_id+given_name+family_name", + "input_descriptors": [ + { + "id": "sd-jwt", + "format": { + "jwt": { + "alg": [ + "EdDSA", + "ES256" + ] + }, + "constraints": { + "limit_disclosure": "required", + "fields": [ + { + "path": [ + "$.sd-jwt.type" + ], + "filter": { + "type": "string", + "const": "PersonIdentificationData" + } + }, + { + "path": [ + "$.sd-jwt.cnf" + ], + "filter": { + "type": "object", + } + }, + { + "path": [ + "$.sd-jwt.family_name" + ], + "intent_to_retain": "true" + }, + { + "path": [ + "$.sd-jwt.given_name" + ], + "intent_to_retain": "true" + }, + { + "path": [ + "$.sd-jwt.unique_id" + ], + "intent_to_retain": "true" + } + ] + } + } + } + ] + }, + ], + + "default_max_age": 1111, + + # JARM related + "authorization_signed_response_alg": [ + "RS256", + "ES256" + ], + "authorization_encrypted_response_alg": [ + "RSA-OAEP", + "RSA-OAEP-256" + ], + "authorization_encrypted_response_enc": [ + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + "A128GCM", + "A192GCM", + "A256GCM" + ], + + # SIOPv2 related + "subject_type": "pairwise", + "require_auth_time": True, + "id_token_signed_response_alg": [ + "RS256", + "ES256" + ], + "id_token_encrypted_response_alg": [ + "RSA-OAEP", + "RSA-OAEP-256" + ], + "id_token_encrypted_response_enc": [ + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + "A128GCM", + "A192GCM", + "A256GCM" + ], + }, + "federation_entity": { + "organization_name": "OpenID Wallet Verifier example", + "homepage_uri": "https://verifier.example.org/home", + "policy_uri": "https://verifier.example.org/policy", + "logo_uri": "https://verifier.example.org/static/logo.svg", + "contacts": [ + "tech@verifier.example.org" + ] + } + }, + "authority_hints": [ + "https://registry.eudi-wallet.example.it" ] +} + + +intermediate_ec = { + "exp": EXP, + "iat": NOW, + 'iss': 'https://intermediate.eidas.example.org', + 'sub': 'https://intermediate.eidas.example.org', + 'jwks': {"keys":[]}, + 'metadata': {'federation_entity': {'contacts': ['soggetto@intermediate.eidas.example.it'], + 'federation_fetch_endpoint': 'https://intermediate.eidas.example.org/fetch/', + 'federation_resolve_endpoint': 'https://intermediate.eidas.example.org/resolve/', + 'federation_list_endpoint': 'https://intermediate.eidas.example.org/list/', + 'homepage_uri': 'https://soggetto.intermediate.eidas.example.it', + 'name': 'Example Intermediate intermediate.eidas.example'}}, + 'trust_marks': [{'id': 'https://registry.gov.org/intermediate/private/full/', + 'trust_mark': 'eyJh …'}], + 'authority_hints': ['https://registry.eidas.trust-anchor.example.eu']} + + +ta_ec = { + "exp": EXP, + "iat": NOW, + 'iss': 'https://registry.eidas.trust-anchor.example.eu/', + 'sub': 'https://registry.eidas.trust-anchor.example.eu/', + 'jwks': {"keys":[]}, + 'metadata': {'federation_entity': {'organization_name': 'example TA', + 'contacts': ['tech@eidas.trust-anchor.example.eu'], + 'homepage_uri': 'https://registry.eidas.trust-anchor.example.eu/', + 'logo_uri': 'https://registry.eidas.trust-anchor.example.eu/static/svg/logo.svg', + 'federation_fetch_endpoint': 'https://registry.eidas.trust-anchor.example.eu/fetch/', + 'federation_resolve_endpoint': 'https://registry.eidas.trust-anchor.example.eu/resolve/', + 'federation_list_endpoint': 'https://registry.eidas.trust-anchor.example.eu/list/', + 'federation_trust_mark_status_endpoint': 'https://registry.eidas.trust-anchor.example.eu/trust_mark_status/'}}, + 'trust_marks_issuers': {'https://registry.eidas.trust-anchor.example.eu/openid_relying_party/public/': ['https://registry.spid.eidas.trust-anchor.example.eu/', + 'https://public.intermediary.spid.org/'], + 'https://registry.eidas.trust-anchor.example.eu/openid_relying_party/private/': ['https://registry.spid.eidas.trust-anchor.example.eu/', + 'https://private.other.intermediary.org/']}, + 'constraints': {'max_path_length': 1}} + +# place example keys +leaf_ec["jwks"]['keys'] = [leaf_jwk.serialize()] +leaf_ec['metadata']['wallet_relying_party']["jwks"]['keys'] = [leaf_jwk.serialize()] + +intermediate_ec["jwks"]['keys'] = [intermediate_jwk.serialize()] +ta_ec["jwks"]['keys'] = [ta_jwk.serialize()] + +# pubblica: dict = privata.serialize() +# privata_dict: dict = privata.to_dict() + +# Define Entity Statements +intermediate_es = { + "exp": EXP, + "iat": NOW, + "iss": "https://intermediate.eidas.example.org", + "sub": "https://rp.example.org", + 'jwks': {"keys":[]}, + "metadata_policy": { + "openid_relying_party": { + "scopes": { + "subset_of": [ + "eu.europa.ec.eudiw.pid.1, eu.europa.ec.eudiw.pid.it.1" + ] + }, + "request_authentication_methods_supported": { + "one_of": ["request_object"] + }, + "request_authentication_signing_alg_values_supported": { + "subset_of": ["RS256", "RS512", "ES256", "ES512", "PS256", "PS512"] + } + } + } +} + +# the leaf publishes the leaf public key +intermediate_es["jwks"]['keys'] = [leaf_jwk.serialize()] + + +ta_es = { + "exp": EXP, + "iat": NOW, + "iss": "https://trust-anchor.example.eu", + "sub": "https://intermediate.eidas.example.org", + 'jwks': {"keys":[]}, + "trust_marks": [ + { + "id": "https://trust-anchor.example.eu/federation_entity/that-profile", + "trust_mark": "eyJhb …" + } + ] +} + +# the ta publishes the intermediate public key +ta_es["jwks"]['keys'] = [intermediate_jwk.serialize()] + + +leaf_signer = JWS(leaf_ec, alg="RS256", typ="application/entity-statement+jwt") +leaf_ec_signed = leaf_signer.sign_compact([leaf_jwk]) + +intermediate_signer = JWS(intermediate_es, alg="RS256", typ="application/entity-statement+jwt") +intermediate_es_signed = intermediate_signer.sign_compact([intermediate_jwk]) + +ta_signer = JWS(ta_es, alg="RS256", typ="application/entity-statement+jwt") +ta_es_signed = ta_signer.sign_compact([ta_jwk]) + +trust_chain = [ + leaf_ec_signed, + intermediate_es_signed, + ta_es_signed +] + - assert StaticTrustChainValidator(static_chain, []).is_valid +def test_is_valid(): + assert StaticTrustChainValidator(trust_chain, [ta_jwk.serialize()]).is_valid From ee501ca5dc0d2be9f8d9b6bc8918026999437e8c Mon Sep 17 00:00:00 2001 From: peppelinux Date: Thu, 3 Aug 2023 01:58:41 +0200 Subject: [PATCH 16/53] fix: linting --- pyeudiw/federation/exceptions.py | 1 + pyeudiw/federation/trust_chain_validator.py | 8 +- pyeudiw/jwk/__init__.py | 2 +- .../test_static_trust_chain_validator.py | 249 +++++++++--------- 4 files changed, 132 insertions(+), 128 deletions(-) diff --git a/pyeudiw/federation/exceptions.py b/pyeudiw/federation/exceptions.py index a157b059..a1deec7d 100644 --- a/pyeudiw/federation/exceptions.py +++ b/pyeudiw/federation/exceptions.py @@ -29,6 +29,7 @@ class TrustAnchorNeeded(Exception): class MissingTrustAnchorPublicKey(Exception): pass + class MetadataDiscoveryException(Exception): pass diff --git a/pyeudiw/federation/trust_chain_validator.py b/pyeudiw/federation/trust_chain_validator.py index de479ba9..6c17c490 100644 --- a/pyeudiw/federation/trust_chain_validator.py +++ b/pyeudiw/federation/trust_chain_validator.py @@ -12,7 +12,7 @@ get_entity_statements ) from pyeudiw.federation.exceptions import ( - HttpError, + HttpError, MissingTrustAnchorPublicKey, TimeValidationError, KeyValidationError @@ -40,13 +40,13 @@ def __init__( self.static_trust_chain = static_trust_chain self.updated_trust_chain = [] - + if not trust_anchor_jwks: raise MissingTrustAnchorPublicKey( f"{self.__class__.__name__} cannot " "created without the TA public jwks" ) - + self.trust_anchor_jwks = trust_anchor_jwks for k, v in kwargs.items(): setattr(self, k, v) @@ -97,7 +97,7 @@ def is_valid(self): # Validate the last statement with ta_jwk jwsh = JWSHelper(ta_jwk) - + if not jwsh.verify(last_element): return False diff --git a/pyeudiw/jwk/__init__.py b/pyeudiw/jwk/__init__.py index 7e388e10..69a9db7e 100644 --- a/pyeudiw/jwk/__init__.py +++ b/pyeudiw/jwk/__init__.py @@ -24,7 +24,7 @@ def __init__( kwargs = {} self.kid = "" - + if key_type and not KEY_TYPES_FUNC.get(key_type, None): raise NotImplementedError(f"JWK key type {key_type} not found.") diff --git a/pyeudiw/tests/federation/test_static_trust_chain_validator.py b/pyeudiw/tests/federation/test_static_trust_chain_validator.py index dd3fec45..12f746c3 100644 --- a/pyeudiw/tests/federation/test_static_trust_chain_validator.py +++ b/pyeudiw/tests/federation/test_static_trust_chain_validator.py @@ -21,13 +21,13 @@ "iat": NOW, "iss": "https://rp.example.it", "sub": "https://rp.example.it", - 'jwks': {"keys":[]}, + 'jwks': {"keys": []}, "metadata": { "wallet_relying_party": { "application_type": "web", "client_id": "https://rp.example.it", "client_name": "Name of an example organization", - 'jwks': {"keys":[]}, + 'jwks': {"keys": []}, "contacts": [ "ops@verifier.example.org" ], @@ -44,71 +44,71 @@ "https://www.spid.gov.it/SpidL3" ], - "vp_formats": { - "jwt_vp_json": { + "vp_formats": { + "jwt_vp_json": { "alg": [ - "EdDSA", - "ES256K" + "EdDSA", + "ES256K" ] - } - }, - "presentation_definitions": [ - { + } + }, + "presentation_definitions": [ + { "id": "pid-sd-jwt:unique_id+given_name+family_name", "input_descriptors": [ - { - "id": "sd-jwt", - "format": { - "jwt": { + { + "id": "sd-jwt", + "format": { + "jwt": { "alg": [ "EdDSA", "ES256" ] - }, - "constraints": { - "limit_disclosure": "required", - "fields": [ - { - "path": [ - "$.sd-jwt.type" - ], - "filter": { - "type": "string", - "const": "PersonIdentificationData" - } - }, - { - "path": [ - "$.sd-jwt.cnf" - ], - "filter": { - "type": "object", - } - }, - { - "path": [ - "$.sd-jwt.family_name" - ], - "intent_to_retain": "true" - }, - { - "path": [ - "$.sd-jwt.given_name" - ], - "intent_to_retain": "true" - }, - { - "path": [ - "$.sd-jwt.unique_id" - ], - "intent_to_retain": "true" - } - ] - } - } - } + }, + "constraints": { + "limit_disclosure": "required", + "fields": [ + { + "path": [ + "$.sd-jwt.type" + ], + "filter": { + "type": "string", + "const": "PersonIdentificationData" + } + }, + { + "path": [ + "$.sd-jwt.cnf" + ], + "filter": { + "type": "object", + } + }, + { + "path": [ + "$.sd-jwt.family_name" + ], + "intent_to_retain": "true" + }, + { + "path": [ + "$.sd-jwt.given_name" + ], + "intent_to_retain": "true" + }, + { + "path": [ + "$.sd-jwt.unique_id" + ], + "intent_to_retain": "true" + } + ] + } + } + } ] - }, + }, ], "default_max_age": 1111, @@ -157,8 +157,8 @@ "policy_uri": "https://verifier.example.org/policy", "logo_uri": "https://verifier.example.org/static/logo.svg", "contacts": [ - "tech@verifier.example.org" - ] + "tech@verifier.example.org" + ] } }, "authority_hints": [ @@ -168,45 +168,46 @@ intermediate_ec = { - "exp": EXP, - "iat": NOW, - 'iss': 'https://intermediate.eidas.example.org', - 'sub': 'https://intermediate.eidas.example.org', - 'jwks': {"keys":[]}, - 'metadata': {'federation_entity': {'contacts': ['soggetto@intermediate.eidas.example.it'], - 'federation_fetch_endpoint': 'https://intermediate.eidas.example.org/fetch/', - 'federation_resolve_endpoint': 'https://intermediate.eidas.example.org/resolve/', - 'federation_list_endpoint': 'https://intermediate.eidas.example.org/list/', - 'homepage_uri': 'https://soggetto.intermediate.eidas.example.it', - 'name': 'Example Intermediate intermediate.eidas.example'}}, - 'trust_marks': [{'id': 'https://registry.gov.org/intermediate/private/full/', - 'trust_mark': 'eyJh …'}], - 'authority_hints': ['https://registry.eidas.trust-anchor.example.eu']} + "exp": EXP, + "iat": NOW, + 'iss': 'https://intermediate.eidas.example.org', + 'sub': 'https://intermediate.eidas.example.org', + 'jwks': {"keys": []}, + 'metadata': {'federation_entity': {'contacts': ['soggetto@intermediate.eidas.example.it'], + 'federation_fetch_endpoint': 'https://intermediate.eidas.example.org/fetch/', + 'federation_resolve_endpoint': 'https://intermediate.eidas.example.org/resolve/', + 'federation_list_endpoint': 'https://intermediate.eidas.example.org/list/', + 'homepage_uri': 'https://soggetto.intermediate.eidas.example.it', + 'name': 'Example Intermediate intermediate.eidas.example'}}, + 'trust_marks': [{'id': 'https://registry.gov.org/intermediate/private/full/', + 'trust_mark': 'eyJh …'}], + 'authority_hints': ['https://registry.eidas.trust-anchor.example.eu']} ta_ec = { - "exp": EXP, - "iat": NOW, - 'iss': 'https://registry.eidas.trust-anchor.example.eu/', - 'sub': 'https://registry.eidas.trust-anchor.example.eu/', - 'jwks': {"keys":[]}, - 'metadata': {'federation_entity': {'organization_name': 'example TA', - 'contacts': ['tech@eidas.trust-anchor.example.eu'], - 'homepage_uri': 'https://registry.eidas.trust-anchor.example.eu/', - 'logo_uri': 'https://registry.eidas.trust-anchor.example.eu/static/svg/logo.svg', - 'federation_fetch_endpoint': 'https://registry.eidas.trust-anchor.example.eu/fetch/', - 'federation_resolve_endpoint': 'https://registry.eidas.trust-anchor.example.eu/resolve/', - 'federation_list_endpoint': 'https://registry.eidas.trust-anchor.example.eu/list/', - 'federation_trust_mark_status_endpoint': 'https://registry.eidas.trust-anchor.example.eu/trust_mark_status/'}}, - 'trust_marks_issuers': {'https://registry.eidas.trust-anchor.example.eu/openid_relying_party/public/': ['https://registry.spid.eidas.trust-anchor.example.eu/', - 'https://public.intermediary.spid.org/'], - 'https://registry.eidas.trust-anchor.example.eu/openid_relying_party/private/': ['https://registry.spid.eidas.trust-anchor.example.eu/', - 'https://private.other.intermediary.org/']}, - 'constraints': {'max_path_length': 1}} + "exp": EXP, + "iat": NOW, + 'iss': 'https://registry.eidas.trust-anchor.example.eu/', + 'sub': 'https://registry.eidas.trust-anchor.example.eu/', + 'jwks': {"keys": []}, + 'metadata': {'federation_entity': {'organization_name': 'example TA', + 'contacts': ['tech@eidas.trust-anchor.example.eu'], + 'homepage_uri': 'https://registry.eidas.trust-anchor.example.eu/', + 'logo_uri': 'https://registry.eidas.trust-anchor.example.eu/static/svg/logo.svg', + 'federation_fetch_endpoint': 'https://registry.eidas.trust-anchor.example.eu/fetch/', + 'federation_resolve_endpoint': 'https://registry.eidas.trust-anchor.example.eu/resolve/', + 'federation_list_endpoint': 'https://registry.eidas.trust-anchor.example.eu/list/', + 'federation_trust_mark_status_endpoint': 'https://registry.eidas.trust-anchor.example.eu/trust_mark_status/'}}, + 'trust_marks_issuers': {'https://registry.eidas.trust-anchor.example.eu/openid_relying_party/public/': ['https://registry.spid.eidas.trust-anchor.example.eu/', + 'https://public.intermediary.spid.org/'], + 'https://registry.eidas.trust-anchor.example.eu/openid_relying_party/private/': ['https://registry.spid.eidas.trust-anchor.example.eu/', + 'https://private.other.intermediary.org/']}, + 'constraints': {'max_path_length': 1}} # place example keys leaf_ec["jwks"]['keys'] = [leaf_jwk.serialize()] -leaf_ec['metadata']['wallet_relying_party']["jwks"]['keys'] = [leaf_jwk.serialize()] +leaf_ec['metadata']['wallet_relying_party']["jwks"]['keys'] = [ + leaf_jwk.serialize()] intermediate_ec["jwks"]['keys'] = [intermediate_jwk.serialize()] ta_ec["jwks"]['keys'] = [ta_jwk.serialize()] @@ -220,22 +221,22 @@ "iat": NOW, "iss": "https://intermediate.eidas.example.org", "sub": "https://rp.example.org", - 'jwks': {"keys":[]}, - "metadata_policy": { - "openid_relying_party": { - "scopes": { - "subset_of": [ - "eu.europa.ec.eudiw.pid.1, eu.europa.ec.eudiw.pid.it.1" - ] - }, - "request_authentication_methods_supported": { - "one_of": ["request_object"] - }, - "request_authentication_signing_alg_values_supported": { - "subset_of": ["RS256", "RS512", "ES256", "ES512", "PS256", "PS512"] - } - } - } + 'jwks': {"keys": []}, + "metadata_policy": { + "openid_relying_party": { + "scopes": { + "subset_of": [ + "eu.europa.ec.eudiw.pid.1, eu.europa.ec.eudiw.pid.it.1" + ] + }, + "request_authentication_methods_supported": { + "one_of": ["request_object"] + }, + "request_authentication_signing_alg_values_supported": { + "subset_of": ["RS256", "RS512", "ES256", "ES512", "PS256", "PS512"] + } + } + } } # the leaf publishes the leaf public key @@ -245,15 +246,15 @@ ta_es = { "exp": EXP, "iat": NOW, - "iss": "https://trust-anchor.example.eu", - "sub": "https://intermediate.eidas.example.org", - 'jwks': {"keys":[]}, - "trust_marks": [ - { - "id": "https://trust-anchor.example.eu/federation_entity/that-profile", - "trust_mark": "eyJhb …" - } - ] + "iss": "https://trust-anchor.example.eu", + "sub": "https://intermediate.eidas.example.org", + 'jwks': {"keys": []}, + "trust_marks": [ + { + "id": "https://trust-anchor.example.eu/federation_entity/that-profile", + "trust_mark": "eyJhb …" + } + ] } # the ta publishes the intermediate public key @@ -263,18 +264,20 @@ leaf_signer = JWS(leaf_ec, alg="RS256", typ="application/entity-statement+jwt") leaf_ec_signed = leaf_signer.sign_compact([leaf_jwk]) -intermediate_signer = JWS(intermediate_es, alg="RS256", typ="application/entity-statement+jwt") +intermediate_signer = JWS(intermediate_es, alg="RS256", + typ="application/entity-statement+jwt") intermediate_es_signed = intermediate_signer.sign_compact([intermediate_jwk]) ta_signer = JWS(ta_es, alg="RS256", typ="application/entity-statement+jwt") ta_es_signed = ta_signer.sign_compact([ta_jwk]) trust_chain = [ - leaf_ec_signed, - intermediate_es_signed, - ta_es_signed + leaf_ec_signed, + intermediate_es_signed, + ta_es_signed ] def test_is_valid(): - assert StaticTrustChainValidator(trust_chain, [ta_jwk.serialize()]).is_valid + assert StaticTrustChainValidator( + trust_chain, [ta_jwk.serialize()]).is_valid From c94aaa889f9cc211656eefa230a973ce375272f2 Mon Sep 17 00:00:00 2001 From: peppelinux Date: Thu, 3 Aug 2023 02:04:30 +0200 Subject: [PATCH 17/53] chore: TODO comment --- pyeudiw/federation/statements.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pyeudiw/federation/statements.py b/pyeudiw/federation/statements.py index 73b8953f..e5843cb0 100644 --- a/pyeudiw/federation/statements.py +++ b/pyeudiw/federation/statements.py @@ -446,6 +446,8 @@ def validate_by_superiors( _url = f"{fetch_api_url}?sub={self.sub}" logger.info(f"Getting entity statements from {_url}") jwts = get_entity_statements([_url], self.httpc_params) + # TODO - this could be different from ZERO + # to be tested and fixed when the tests will be available jwt = jwts[0] if jwt: self.validate_by_superior_statement(jwt, ec) From f10a6eb8d0ed011b9cb82a3f5c23346038665a4a Mon Sep 17 00:00:00 2001 From: Pasquale De Rose Date: Thu, 3 Aug 2023 10:56:29 +0200 Subject: [PATCH 18/53] fix: removed comment --- pyeudiw/federation/trust_chain_validator.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pyeudiw/federation/trust_chain_validator.py b/pyeudiw/federation/trust_chain_validator.py index 6c17c490..8f748195 100644 --- a/pyeudiw/federation/trust_chain_validator.py +++ b/pyeudiw/federation/trust_chain_validator.py @@ -1,8 +1,4 @@ import logging -# from pyeudiw.federation.statements import ( -# get_entity_configurations, -# EntityStatement, -# ) from pyeudiw.tools.utils import iat_now from pyeudiw.jwt import JWSHelper from pyeudiw.jwt.utils import unpad_jwt_payload, unpad_jwt_header From 9e80e1ddabb8527d4dc69eb489bb7c6a1cf8d91b Mon Sep 17 00:00:00 2001 From: Salvatore Laiso <32564922+salvatorelaiso@users.noreply.github.com> Date: Thu, 3 Aug 2023 11:09:22 +0200 Subject: [PATCH 19/53] feat: html linter (#76) * chore: linting * feat: add html linter * fix: dependencies --- linting.sh | 7 ++ pyeudiw/satosa/backend.py | 1 - pyeudiw/storage/base_cache.py | 4 +- pyeudiw/storage/db_engine.py | 95 ++++++++++++--------- pyeudiw/storage/mongo_cache.py | 8 +- pyeudiw/storage/mongo_storage.py | 4 +- pyeudiw/tests/storage/test_db_engine.py | 39 +++++---- pyeudiw/tests/storage/test_mongo_storage.py | 6 +- pyeudiw/tests/tools/test_qr_code.py | 2 - requirements-dev.txt | 1 + 10 files changed, 97 insertions(+), 70 deletions(-) diff --git a/linting.sh b/linting.sh index 2d8dfce0..6df0f3d7 100755 --- a/linting.sh +++ b/linting.sh @@ -9,3 +9,10 @@ flake8 $SRC --count --select=E9,F63,F7,F82 --show-source --statistics flake8 $SRC --max-line-length 120 --count --statistics bandit -r -x $SRC/test* $SRC/* + +echo -e '\nHTML:' +shopt -s globstar nullglob +for file in **/*.html +do + html_lint.py "$file" | awk -v path="file://$PWD/$file:" '$0=path$0' | sed -e 's/: /:\n\t/' +done diff --git a/pyeudiw/satosa/backend.py b/pyeudiw/satosa/backend.py index 691f5fbf..068a368d 100644 --- a/pyeudiw/satosa/backend.py +++ b/pyeudiw/satosa/backend.py @@ -1,4 +1,3 @@ -import base64 import json import logging import uuid diff --git a/pyeudiw/storage/base_cache.py b/pyeudiw/storage/base_cache.py index 8b31de90..a29afeed 100644 --- a/pyeudiw/storage/base_cache.py +++ b/pyeudiw/storage/base_cache.py @@ -1,16 +1,18 @@ from enum import Enum from typing import Callable + class RetrieveStatus(Enum): RETRIEVED = 0 ADDED = 1 + class BaseCache(): def try_retrieve(self, object_name: str, on_not_found: Callable[[], str]) -> tuple[dict, RetrieveStatus]: raise NotImplementedError() def overwrite(self, object_name: str, value_gen_fn: Callable[[], str]) -> dict: raise NotImplementedError() - + def set(self, data: dict) -> dict: raise NotImplementedError() diff --git a/pyeudiw/storage/db_engine.py b/pyeudiw/storage/db_engine.py index c064112f..60811beb 100644 --- a/pyeudiw/storage/db_engine.py +++ b/pyeudiw/storage/db_engine.py @@ -7,40 +7,41 @@ logger = logging.getLogger("openid4vp.storage.db") + class DBEngine(): def __init__(self, config: dict): self.caches = [] self.storages = [] - + for db_name, db_conf in config.items(): storage_instance, cache_instance = self._handle_instance(db_conf) - + if storage_instance: self.storages.append((db_name, storage_instance)) - + if cache_instance: self.caches.append((db_name, cache_instance)) - + def _handle_instance(self, instance: dict) -> dict[BaseStorage | None, BaseCache | None]: cache_conf = instance.get("cache", None) storage_conf = instance.get("storage", None) - - storage_instance = None + + storage_instance = None if storage_conf: module = importlib.import_module(storage_conf["module"]) instance_class = getattr(module, storage_conf["class"]) - + storage_instance = instance_class(**storage_conf["init_params"]) - + cache_instance = None if cache_conf: module = importlib.import_module(cache_conf["module"]) instance_class = getattr(module, cache_conf["class"]) - + cache_instance = instance_class(**cache_conf["init_params"]) - + return storage_instance, cache_instance - + def init_session(self, dpop_proof: dict, attestation: dict) -> str: document_id = str(uuid.uuid4()) for db_name, storage in self.storages: @@ -48,23 +49,27 @@ def init_session(self, dpop_proof: dict, attestation: dict) -> str: storage.init_session(document_id, dpop_proof, attestation) except Exception as e: logger.critical(f"Error {str(e)}") - logger.critical(f"Cannot write document with id {document_id} on {db_name}") - + logger.critical( + f"Cannot write document with id {document_id} on {db_name}") + return document_id def update_request_object(self, document_id: str, nonce: str, state: str | None, request_object: dict) -> tuple[str, str, int]: replica_count = 0 for db_name, storage in self.storages: try: - storage.update_request_object(document_id, nonce, state, request_object) + storage.update_request_object( + document_id, nonce, state, request_object) replica_count += 1 except Exception as e: logger.critical(f"Error {str(e)}") - logger.critical(f"Cannot update document with id {document_id} on {db_name}") - + logger.critical( + f"Cannot update document with id {document_id} on {db_name}") + if replica_count == 0: - raise Exception(f"Cannot update document {document_id} on any instance") - + raise Exception( + f"Cannot update document {document_id} on any instance") + return nonce, state, replica_count def update_response_object(self, nonce: str, state: str, response_object: dict) -> int: @@ -75,45 +80,52 @@ def update_response_object(self, nonce: str, state: str, response_object: dict) replica_count += 1 except Exception as e: logger.critical(f"Error {str(e)}") - logger.critical(f"Cannot update document with nonce {nonce} and state {state} on {db_name}") - + logger.critical( + f"Cannot update document with nonce {nonce} and state {state} on {db_name}") + if replica_count == 0: - raise Exception(f"Cannot update document with state {state} and nonce {nonce} on any instance") - + raise Exception( + f"Cannot update document with state {state} and nonce {nonce} on any instance") + return replica_count - + def _cache_try_retrieve(self, object_name: str, on_not_found: Callable[[], str]) -> tuple[dict, RetrieveStatus, int]: for i, cache in enumerate(self.caches): try: - cache_object, status = cache.try_retrieve(object_name, on_not_found) + cache_object, status = cache.try_retrieve( + object_name, on_not_found) return cache_object, status, i - except Exception as e: - logger.critical("Cannot retrieve or write cache object with identifier {object_name} on database {db_name}") - raise ConnectionRefusedError("Cannot write cache object on any instance") + except Exception: + logger.critical( + "Cannot retrieve or write cache object with identifier {object_name} on database {db_name}") + raise ConnectionRefusedError( + "Cannot write cache object on any instance") def try_retrieve(self, object_name: str, on_not_found: Callable[[], str]) -> dict: istances_len = len(self.caches) - + # if no cache instance exist return the object if istances_len == 0: return on_not_found() - + # if almost one cache instance exist try to retrieve - cache_object, status, idx = self._cache_try_retrieve(object_name, on_not_found) - + cache_object, status, idx = self._cache_try_retrieve( + object_name, on_not_found) + # if the status is retrieved return the object if status == RetrieveStatus.RETRIEVED: return cache_object - + # else try replicate the data on all the other istances - replica_instances = self.caches[:idx] + self.caches[idx + 1:] - + replica_instances = self.caches[:idx] + self.caches[idx + 1:] + for cache_name, cache in replica_instances: try: cache.set(cache_object) - except Exception as e: - logger.critical("Cannot replicate cache object with identifier {object_name} on cache {cache_name}") - + except Exception: + logger.critical( + "Cannot replicate cache object with identifier {object_name} on cache {cache_name}") + return cache_object def overwrite(self, object_name: str, value_gen_fn: Callable[[], str]) -> dict: @@ -121,7 +133,8 @@ def overwrite(self, object_name: str, value_gen_fn: Callable[[], str]) -> dict: cache_object = None try: cache_object = cache.overwrite(object_name, value_gen_fn) - except Exception as e: - logger.critical("Cannot overwrite cache object with identifier {object_name} on cache {cache_name}") - - return cache_object \ No newline at end of file + except Exception: + logger.critical( + "Cannot overwrite cache object with identifier {object_name} on cache {cache_name}") + + return cache_object diff --git a/pyeudiw/storage/mongo_cache.py b/pyeudiw/storage/mongo_cache.py index d33c9f17..96f7c746 100644 --- a/pyeudiw/storage/mongo_cache.py +++ b/pyeudiw/storage/mongo_cache.py @@ -4,6 +4,7 @@ from pyeudiw.storage.base_cache import BaseCache, RetrieveStatus + class MongoCache(BaseCache): def __init__(self, conf: dict, url: str, connection_params: dict = None) -> None: super().__init__() @@ -21,7 +22,7 @@ def _connect(self): self.url, **self.connection_params) self.db = getattr(self.client, self.storage_conf["db_name"]) self.collection = getattr(self.db, "cache_storage") - + def _gen_cache_object(self, object_name: str, data: str): creation_date = datetime.timestamp(datetime.now()) return { @@ -30,7 +31,6 @@ def _gen_cache_object(self, object_name: str, data: str): "creation_date": creation_date } - def try_retrieve(self, object_name: str, on_not_found: Callable[[], str]) -> tuple[dict, RetrieveStatus]: self._connect() @@ -67,8 +67,8 @@ def overwrite(self, object_name: str, value_gen_fn: Callable[[], str]) -> dict: }) return cache_object - + def set(self, data: dict) -> dict: self._connect() - + return self.collection.insert_one(data) diff --git a/pyeudiw/storage/mongo_storage.py b/pyeudiw/storage/mongo_storage.py index ea76fccc..9dd5b0c0 100644 --- a/pyeudiw/storage/mongo_storage.py +++ b/pyeudiw/storage/mongo_storage.py @@ -63,9 +63,9 @@ def init_session(self, document_id: str, dpop_proof: dict, attestation: dict) -> return document_id - def update_request_object(self, document_id: str, nonce: str, state: str, request_object: dict) -> tuple[str, str, dict]: + def update_request_object(self, document_id: str, nonce: str, state: str, request_object: dict) -> tuple[str, str, dict]: self._retrieve_document_by_id(document_id) - + documentStatus = self.collection.update_one( {"document_id": document_id}, { diff --git a/pyeudiw/tests/storage/test_db_engine.py b/pyeudiw/tests/storage/test_db_engine.py index 6d7ad1d2..03171a66 100644 --- a/pyeudiw/tests/storage/test_db_engine.py +++ b/pyeudiw/tests/storage/test_db_engine.py @@ -23,7 +23,7 @@ "url": "mongodb://localhost:27017/", "conf": { "db_name": "eudiw", - "db_collection": "sessions" + "db_collection": "sessions" }, "connection_params": {} } @@ -31,20 +31,21 @@ } } + class TestMongoDBEngine: @pytest.fixture(autouse=True) def create_engine_instance(self): self.engine = DBEngine(conf) - + @pytest.fixture(autouse=True) def test_init_session(self): dpop_proof = {"dpop": "dpop"} attestation = {"attestation": "attestation"} - + document_id = self.engine.init_session(dpop_proof, attestation) - + assert document_id - + self.document_id = document_id @pytest.fixture(autouse=True) @@ -52,31 +53,35 @@ def test_update_request_object(self): self.nonce = str(uuid.uuid4()) self.state = str(uuid.uuid4()) request_object = {"request_object": "request_object"} - - r_nonce, r_state, _ = self.engine.update_request_object(self.document_id, self.nonce, self.state, request_object) - + + r_nonce, r_state, _ = self.engine.update_request_object( + self.document_id, self.nonce, self.state, request_object) + assert self.nonce == r_nonce assert self.state == r_state - + def test_update_request_object_with_unexistent_id_object(self): nonce = str(uuid.uuid4()) state = str(uuid.uuid4()) unx_document_id = str(uuid.uuid4()) request_object = {"request_object": "request_object"} - + try: - self.engine.update_request_object(unx_document_id, nonce, state, request_object) + self.engine.update_request_object( + unx_document_id, nonce, state, request_object) except: return - + def test_update_response_object(self): response_object = {"response_object": "response_object"} - self.engine.update_response_object(self.nonce, self.state, response_object) - + self.engine.update_response_object( + self.nonce, self.state, response_object) + def test_update_response_object_unexistent_id_object(self): response_object = {"response_object": "response_object"} - + try: - replica_count = self.engine.update_response_object(str(uuid.uuid4()), str(uuid.uuid4()), response_object) + replica_count = self.engine.update_response_object( + str(uuid.uuid4()), str(uuid.uuid4()), response_object) except: - return \ No newline at end of file + return diff --git a/pyeudiw/tests/storage/test_mongo_storage.py b/pyeudiw/tests/storage/test_mongo_storage.py index adbda65a..93c46608 100644 --- a/pyeudiw/tests/storage/test_mongo_storage.py +++ b/pyeudiw/tests/storage/test_mongo_storage.py @@ -47,7 +47,8 @@ def test_add_request_object(self): request_object = {"nonce": nonce, "state": state} - self.storage.update_request_object(document_id, nonce, state, request_object) + self.storage.update_request_object( + document_id, nonce, state, request_object) document = self.storage._retrieve_document_by_id(document_id) @@ -74,7 +75,8 @@ def test_update_responnse_object(self): request_object = {"nonce": nonce, "state": state} - self.storage.update_request_object(document_id, nonce, state, request_object) + self.storage.update_request_object( + document_id, nonce, state, request_object) documentStatus = self.storage.update_response_object( nonce, state, {"response": "test"}) diff --git a/pyeudiw/tests/tools/test_qr_code.py b/pyeudiw/tests/tools/test_qr_code.py index fb77884f..6670b7ea 100644 --- a/pyeudiw/tests/tools/test_qr_code.py +++ b/pyeudiw/tests/tools/test_qr_code.py @@ -1,6 +1,5 @@ import base64 import tempfile -import re from pyeudiw.tools.qr_code import QRCode @@ -72,4 +71,3 @@ def _test_to_svg_file(): svg = qr.to_svg() with tempfile.NamedTemporaryFile("w", suffix=".svg", dir=".", delete=DELETE_FILES) as tmp: tmp.writelines(svg) - diff --git a/requirements-dev.txt b/requirements-dev.txt index 02523b19..38505356 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -9,3 +9,4 @@ autopep8 beautifulsoup4 lxml freezegun +html-linter From 8259ef8d23aa903d869a2161ae80c20082ab2f59 Mon Sep 17 00:00:00 2001 From: Pasquale De Rose Date: Thu, 3 Aug 2023 11:37:25 +0200 Subject: [PATCH 20/53] fix: if jwk not exist return false directly --- pyeudiw/federation/trust_chain_validator.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pyeudiw/federation/trust_chain_validator.py b/pyeudiw/federation/trust_chain_validator.py index 8f748195..e558096d 100644 --- a/pyeudiw/federation/trust_chain_validator.py +++ b/pyeudiw/federation/trust_chain_validator.py @@ -115,6 +115,10 @@ def is_valid(self): jwk = find_jwk( st_header.get("kid", None), fed_jwks ) + + if jwk == None: + return False + jwsh = JWSHelper(jwk) if not jwsh.verify(st): return False From e9674149478e3070bb8c310482a41492340809ad Mon Sep 17 00:00:00 2001 From: Pasquale De Rose Date: Thu, 3 Aug 2023 11:39:25 +0200 Subject: [PATCH 21/53] test: added test test_is_valid_equals_false --- .../test_static_trust_chain_validator.py | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/pyeudiw/tests/federation/test_static_trust_chain_validator.py b/pyeudiw/tests/federation/test_static_trust_chain_validator.py index 12f746c3..9b7fc803 100644 --- a/pyeudiw/tests/federation/test_static_trust_chain_validator.py +++ b/pyeudiw/tests/federation/test_static_trust_chain_validator.py @@ -1,3 +1,7 @@ +import copy + +import uuid + from pyeudiw.federation.trust_chain_validator import StaticTrustChainValidator @@ -281,3 +285,23 @@ def test_is_valid(): assert StaticTrustChainValidator( trust_chain, [ta_jwk.serialize()]).is_valid + +invalid_intermediate = copy.deepcopy(intermediate_es) +invalid_leaf_jwk = copy.deepcopy(leaf_jwk.serialize()) +invalid_leaf_jwk["kid"] = str(uuid.uuid4()) + +invalid_intermediate["jwks"]['keys'] = [invalid_leaf_jwk] + +intermediate_signer = JWS(invalid_intermediate, alg="RS256", + typ="application/entity-statement+jwt") +invalid_intermediate_es_signed = intermediate_signer.sign_compact([intermediate_jwk]) + +invalid_trust_chain = [ + leaf_ec_signed, + invalid_intermediate_es_signed, + ta_es_signed +] + +def test_is_valid_equals_false(): + assert StaticTrustChainValidator( + invalid_trust_chain, [ta_jwk.serialize()]).is_valid == False \ No newline at end of file From 2571cfbf06e61e1298c7cb6f869d25d485341346 Mon Sep 17 00:00:00 2001 From: Pasquale De Rose Date: Thu, 3 Aug 2023 11:57:18 +0200 Subject: [PATCH 22/53] fix: fixed import --- pyeudiw/federation/trust_chain_builder.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyeudiw/federation/trust_chain_builder.py b/pyeudiw/federation/trust_chain_builder.py index 18b6928f..08c0c02e 100644 --- a/pyeudiw/federation/trust_chain_builder.py +++ b/pyeudiw/federation/trust_chain_builder.py @@ -16,7 +16,7 @@ get_entity_configurations, EntityStatement, ) -from pyeudiw.utils.utils import datetime_from_timestamp +from pyeudiw.tools.utils import datetime_from_timestamp logger = logging.getLogger("pyeudiw.federation") From 29accde1cdabeb0a5afa4dd7b805e9f85da04b9a Mon Sep 17 00:00:00 2001 From: MurruAlessio <138689926+MurruAlessio@users.noreply.github.com> Date: Thu, 3 Aug 2023 16:01:35 +0200 Subject: [PATCH 23/53] Docker wordpress test (#75) * removed DS_Store file * feat: added Qrcode page * remover DS_Store file * feat: updated the docker compose file to mount folders with custom plugin and theme settings * fix: mounting single file * feat: welcome page with user info * feat: added NameIDFormat uri in settings page * feat: enabled signMetadata and added attributeConsuming Service with required attributes * feat: saves to DB the value of spidCode of the connected user * feat: updated Readme file * fix: https://github.com/italia/eudi-wallet-it-python/pull/75#discussion_r1281826064 * fix: https://github.com/italia/eudi-wallet-it-python/pull/75#discussion_r1281833165 * fix: https://github.com/italia/eudi-wallet-it-python/pull/75#discussion_r1281832465 * Update example/README.md Co-authored-by: Riccardo Iaconelli --------- Co-authored-by: Alessio Murru Co-authored-by: Riccardo Iaconelli --- .gitignore | 1 + example/README.md | 26 +- example/docker-compose.yml | 4 + example/italiaWP2_custom_settings/header.php | 60 ++ .../configuration.php | 964 ++++++++++++++++++ .../onelogin_custom_settings/functions.php | 729 +++++++++++++ example/onelogin_custom_settings/settings.php | 138 +++ example/satosa/.DS_Store | Bin 8196 -> 0 bytes example/satosa/css/style.css | 54 +- example/satosa/disco.html | 2 +- example/satosa/qr-code-page.html | 66 ++ 11 files changed, 2041 insertions(+), 3 deletions(-) create mode 100644 example/italiaWP2_custom_settings/header.php create mode 100755 example/onelogin_custom_settings/configuration.php create mode 100755 example/onelogin_custom_settings/functions.php create mode 100755 example/onelogin_custom_settings/settings.php delete mode 100644 example/satosa/.DS_Store create mode 100644 example/satosa/qr-code-page.html diff --git a/.gitignore b/.gitignore index b1ccd476..36f4d3f4 100644 --- a/.gitignore +++ b/.gitignore @@ -161,6 +161,7 @@ cython_debug/ .idea/ env +**/.DS_Store */wordpress-plugin */wordpress-theme diff --git a/example/README.md b/example/README.md index 790f8209..1e05a318 100644 --- a/example/README.md +++ b/example/README.md @@ -43,4 +43,28 @@ After following these steps, your WordPress instance should be up and running wi 2. Under [plugins](http://localhost:8080/wp-admin/plugins.php), activate the plugin OneLogin SAML SSO. 3. Configure the plugin OneLogin SAML SSO in the [settings tab](http://localhost:8080/wp-admin/options-general.php?page=onelogin_saml_configuration). -To configure a generic SAML connection, you will need to enter appropriate values in OneLogin SAML SSO plugin settings. These include Identity Provider URL, Assertion Consumer Service URL, Single Logout Service URL, and other parameters specific to your SAML configuration. +To configure your test environment with the IAM Proxy instance, you'll need to undertake a configuration phase on the OneLogin plugin settings page. The required proxy service configuration metadata is obtainable from https://demo-it-wallet.westeurope.cloudapp.azure.com/Saml2IDP/metadata. + +Specifically, you should modify the following fields: + +- **IdP Entity Id**: Enter the entityID of the IAMProxy, which can be located within the metadata. +- **Single Sign-On Service Url**: Input the Location of the SingleSignOnService you desire to connect with, as specified in the metadata file. +- **X.509 Certificate**: Include the X.509 Certificate associated with the IAMProxy, found within the metadata. +- **Create user if not exists**: Set this to `true`. +- **Update user data**: Set this to `true`. +- **Attribute Mapping - Username**: Set this to `fiscalNumber`. +- **Attribute Mapping - E-mail**: Set this to `urn:oid:1.2.840.113549.1.9.1.1`. +- **Attribute Mapping - First Name**: Set this to `Name`. +- **Attribute Mapping - Last Name**: Set this to `familyName`. +- **Service Provider Entity Id**: Enter the URL of your SP metadata as the entityID. For example: http://\/wp-login.php?saml_metadata +- **Encrypt nameID**: Set this to `true`. +- **Sign AuthnRequest**: Set this to `true`. +- **Reject Unsigned Assertions**: Set this to `true`. +- **NameIDFormat**: Set this to `urn:oasis:names:tc:SAML:2.0:attrname-format:uri`. +- **requestedAuthnContext**: Set this to `urn:oasis:names:tc:SAML:2.0:ac:classes:X509`. +- **Service Provider X.509 Certificate**: Insert your SP's X.509 certificate here. +- **Service Provider Private Key**: Input the private key of your SP. +- **Signature Algorithm**: Set this to `rsa-sha256`. +- **Digest Algorithm**: Set this to `sha256`. + +After you've filled all the fields, save your settings and download the SP metadata for configuration on the IAM Proxy. \ No newline at end of file diff --git a/example/docker-compose.yml b/example/docker-compose.yml index dace46b3..5d7918f2 100644 --- a/example/docker-compose.yml +++ b/example/docker-compose.yml @@ -49,6 +49,10 @@ services: volumes: - ./wordpress-plugin/onelogin-saml-sso/:/var/www/html/wp-content/plugins/onelogin-saml-sso/ - ./wordpress-theme/italiawp2/:/var/www/html/wp-content/themes/italiawp2/ + - ./onelogin_custom_settings/functions.php:/var/www/html/wp-content/plugins/onelogin-saml-sso/php/functions.php + - ./onelogin_custom_settings/configuration.php:/var/www/html/wp-content/plugins/onelogin-saml-sso/php/configuration.php + - ./onelogin_custom_settings/settings.php:/var/www/html/wp-content/plugins/onelogin-saml-sso/php/settings.php + - ./italiaWP2_custom_settings/header.php:/var/www/html/wp-content/themes/italiawp2/header.php networks: - wordpress-network diff --git a/example/italiaWP2_custom_settings/header.php b/example/italiaWP2_custom_settings/header.php new file mode 100644 index 00000000..98bba0da --- /dev/null +++ b/example/italiaWP2_custom_settings/header.php @@ -0,0 +1,60 @@ + +> + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+ +
+ + ID, 'spidRole', true); + ?> +
+

Benvenuto first_name.' '.$user->last_name; ?>

+

Di seguito potrai trovare le tue informazioni principali:

+
    +
  • Nome: first_name; ?>
  • +
  • Cognome: last_name; ?>
  • +
  • Codice fiscale: nickname; ?>
  • +
  • Email: user_email; ?>
  • +
  • Spid level:
  • +
+
+ + + diff --git a/example/onelogin_custom_settings/configuration.php b/example/onelogin_custom_settings/configuration.php new file mode 100755 index 00000000..4dde00c4 --- /dev/null +++ b/example/onelogin_custom_settings/configuration.php @@ -0,0 +1,964 @@ + +
+
+ +
+
+
+ +
+
+

+
+ + + + +

+ +

+ +
+
+ ' . __('This plugin provides single sign-on via SAML and gives users one-click access to their WordPress accounts from identity providers like OneLogin', 'onelogin-saml-sso') . '

' . + '

' . __('For more information', 'onelogin-saml-sso') . ' '.__("access to the", 'onelogin-saml-sso').' '.__("Plugin Info", 'onelogin-saml-sso').' ' . + __("or visit", 'onelogin-saml-sso') . ' OneLogin, Inc.' . '

'; + + $current_screen = convert_to_screen($current_screen); + WP_Screen::add_old_compat_help($current_screen, $helpText); + + $option_group = 'onelogin_saml_configuration'; + + $sections = get_sections(); + foreach ($sections as $name => $description) { + add_settings_section($name, $description, 'plugin_section_'.$name.'_text', $option_group); + } + + $fields = get_onelogin_saml_settings(); + + $special_fields = array( + 'onelogin_saml_role_mapping_multivalued_in_one_attribute_value', + 'onelogin_saml_role_mapping_multivalued_pattern' + ); + + foreach ($fields as $section => $settings) { + foreach ($settings as $name => $data) { + $description = $data[0]; + $type = $data[1]; + register_setting($option_group, $name); + if ($section == 'role_mapping' && !in_array($name, $special_fields)) { + $role_value = str_replace('onelogin_saml_role_mapping_', '', $name); + add_settings_field($name, $description, "plugin_setting_".$type."_onelogin_saml_role_mapping", $option_group, 'role_mapping', $role_value); + } else if ($section == 'role_precedence') { + $role_value = str_replace('onelogin_saml_role_order_', '', $name); + add_settings_field($name, $description, "plugin_setting_".$type."_onelogin_saml_role_order", $option_group, 'role_precedence', $role_value); + } else { + add_settings_field($name, $description, "plugin_setting_".$type."_$name", $option_group, $section); + } + } + } +} + +function plugin_setting_boolean_onelogin_saml_enabled($network = false) { + $value = $network ? get_site_option('onelogin_saml_enabled') : get_option('onelogin_saml_enabled'); + echo ''. + '

'.__("Check it in order to enable the SAML plugin.", 'onelogin-saml-sso').'

'; +} + +function plugin_setting_string_onelogin_saml_idp_entityid($network = false) { + echo ''. + '

'.__('Identifier of the IdP entity. ("Issuer URL")', 'onelogin-saml-sso').'

'; +} + +function plugin_setting_string_onelogin_saml_idp_sso($network = false) { + echo ''. + '

'.__('SSO endpoint info of the IdP. URL target of the IdP where the SP will send the Authentication Request. ("SAML 2.0 Endpoint (HTTP)")', 'onelogin-saml-sso').'

'; +} + +function plugin_setting_string_onelogin_saml_idp_slo($network = false) { + echo ''. + '

'.__('SLO endpoint info of the IdP. URL target of the IdP where the SP will send the SLO Request. ("SLO Endpoint (HTTP)")', 'onelogin-saml-sso').'

'; +} + +function plugin_setting_textarea_onelogin_saml_idp_x509cert($network = false) { + echo ''; + echo '

'.__('Public x509 certificate of the IdP. ("X.509 certificate")', 'onelogin-saml-sso'); +} + +function plugin_setting_boolean_onelogin_saml_advanced_idp_lowercase_url_encoding($network = false) { + $value = $network ? get_site_option('onelogin_saml_advanced_idp_lowercase_url_encoding') : get_option('onelogin_saml_advanced_idp_lowercase_url_encoding'); + + echo ''. + '

'.__('Some IdPs like ADFS can use lowercase URL encoding, but the plugin expects uppercase URL encoding, enable it to fix incompatibility issues.', 'onelogin-saml-sso').'

'; +} + +function plugin_setting_boolean_onelogin_saml_autocreate($network = false) { + $value = $network ? get_site_option('onelogin_saml_autocreate') : get_option('onelogin_saml_autocreate'); + echo ''. + '

'.__('Auto-provisioning. If user not exists, WordPress will create a new user with the data provided by the IdP.
Review the Mapping section.', 'onelogin-saml-sso').'

'; +} + +function plugin_setting_boolean_onelogin_saml_updateuser($network = false) { + $value = $network ? get_site_option('onelogin_saml_updateuser') : get_option('onelogin_saml_updateuser'); + echo ''. + '

'.__('Auto-update. WordPress will update the account of the user with the data provided by the IdP.
Review the Mapping section.', 'onelogin-saml-sso').'

'; +} + +function plugin_setting_boolean_onelogin_saml_forcelogin($network = false) { + $value = $network ? get_site_option('onelogin_saml_forcelogin') : get_option('onelogin_saml_forcelogin'); + echo ''. + '

'.__('Protect WordPress and force the user to authenticate at the IdP in order to access when any WordPress page is loaded and no active session.', 'onelogin-saml-sso').'

'; +} + +function plugin_setting_boolean_onelogin_saml_slo($network = false) { + $value = $network ? get_site_option('onelogin_saml_slo') : get_option('onelogin_saml_slo'); + echo ''. + '

'.__('Enable/disable Single Log Out. SLO is a complex functionality, the most common SLO implementation is based on front-channel (redirections), sometimes if the SLO workflow fails a user can be blocked in an unhandled view. If the admin does not control the set of apps involved in the SLO process, you may want to disable this functionality to avoid more problems than benefits.', 'onelogin-saml-sso').'

'; +} + +function plugin_setting_boolean_onelogin_saml_keep_local_login($network = false) { + $value = $network ? get_site_option('onelogin_saml_keep_local_login') : get_option('onelogin_saml_keep_local_login'); + echo ''. + '

'.__('Enable/disable the normal login form. If disabled, instead of the WordPress login form, WordPress will excecute the SP-initiated SSO flow. If enabled the normal login form is displayed and a link to initiate that flow is displayed.', 'onelogin-saml-sso').'

'; +} + +function plugin_setting_select_onelogin_saml_account_matcher($network = false) { + $value = $network ? get_site_option('onelogin_saml_account_matcher') : get_option('onelogin_saml_account_matcher'); + echo ''. + '

'.__('Select what field will be used in order to find the user account. If "email", the plugin will prevent the user from changing their email address in their user profile.', 'onelogin-saml-sso').'

'; +} + +function plugin_setting_boolean_onelogin_saml_trigger_login_hook($network = false) { + $value = $network ? get_site_option('onelogin_saml_trigger_login_hook') : get_option('onelogin_saml_trigger_login_hook'); + echo ''. + '

'.__('When enabled, the wp_login hook will be triggered.', 'onelogin-saml-sso').'

'; +} + +function plugin_setting_boolean_onelogin_saml_multirole($network = false) { + $value = $network ? get_site_option('onelogin_saml_multirole') : get_option('onelogin_saml_multirole'); + echo ''. + '

'.__('Enable/disable the support of multiple roles. Not available in multi-site wordpress', 'onelogin-saml-sso').'

'; +} + +function plugin_setting_boolean_onelogin_saml_alternative_acs($network = false) { + $value = $network ? get_site_option('onelogin_saml_alternative_acs') : get_option('onelogin_saml_alternative_acs'); + echo ''. + '

'.__('Enable if you want to use a different Assertion Consumer Endpoint than /wp-login.php?saml_acs (Required if using WPEngine or any similar hosting service that prevents POST on wp-login.php). You must update the IdP with the new value after enabling/disabling this setting.', 'onelogin-saml-sso').'

'; +} + +function plugin_setting_textarea_onelogin_saml_trusted_url_domains($network = false) { + echo ''; + echo '

'.__("List here any domain (comma- separated) that you want to be trusted in the RelayState parameter, otherwise the parameter will be ignored. You don't need to include the domain of the wordpress instance", 'onelogin-saml-sso'); +} + +function plugin_setting_string_onelogin_saml_attr_mapping_username($network = false) { + $value = $network ? get_site_option('onelogin_saml_attr_mapping_username') : get_option('onelogin_saml_attr_mapping_username'); + echo ''; +} + +function plugin_setting_string_onelogin_saml_attr_mapping_mail($network = false) { + $value = $network ? get_site_option('onelogin_saml_attr_mapping_mail') : get_option('onelogin_saml_attr_mapping_mail'); + echo ''; +} + +function plugin_setting_string_onelogin_saml_attr_mapping_firstname($network = false) { + $value = $network ? get_site_option('onelogin_saml_attr_mapping_firstname') : get_option('onelogin_saml_attr_mapping_firstname'); + echo ''; +} + +function plugin_setting_string_onelogin_saml_attr_mapping_lastname($network = false) { + $value = $network ? get_site_option('onelogin_saml_attr_mapping_lastname') : get_option('onelogin_saml_attr_mapping_lastname'); + echo ''; +} + +function plugin_setting_string_onelogin_saml_attr_mapping_nickname($network = false) { + $value = $network ? get_site_option('onelogin_saml_attr_mapping_nickname') : get_option('onelogin_saml_attr_mapping_nickname'); + echo ''. + '

'.__("If not provided, default value is the user's username."); +} + +function plugin_setting_string_onelogin_saml_attr_mapping_rememberme($network = false) { + $value = $network ? get_site_option('onelogin_saml_attr_mapping_rememberme') : get_option('onelogin_saml_attr_mapping_rememberme'); + echo ''; +} + +function plugin_setting_string_onelogin_saml_attr_mapping_role($network = false) { + $value = $network ? get_site_option('onelogin_saml_attr_mapping_role') : get_option('onelogin_saml_attr_mapping_role'); + echo ''. + '

'.__("The attribute that contains the role of the user, For example 'memberOf'. If WordPress can't figure what role assign to the user, it will assign the default role defined at the general settings.", 'onelogin-saml-sso').'

'; +} + +function plugin_setting_string_onelogin_saml_role_mapping($role_value, $network = false) { + $value = $network ? get_site_option('onelogin_saml_role_mapping_'.$role_value) : get_option('onelogin_saml_role_mapping_'.$role_value); + if ($network) { + $value = get_site_option('onelogin_saml_role_mapping_'.$role_value); + } else { + $value = get_option('onelogin_saml_role_mapping_'.$role_value); + } + echo ''; +} + +function plugin_setting_string_onelogin_saml_role_order($role_value, $network = false) { + $value = $network ? get_site_option('onelogin_saml_role_order_'.$role_value) : get_option('onelogin_saml_role_order_'.$role_value); + echo ''; +} + +function plugin_setting_boolean_onelogin_saml_role_mapping_multivalued_in_one_attribute_value($network = false) { + $value = $network ? get_site_option('onelogin_saml_role_mapping_multivalued_in_one_attribute_value') : get_option('onelogin_saml_role_mapping_multivalued_in_one_attribute_value'); + echo ' +

'.__("Sometimes role values are provided in an unique attribute statement (instead multiple attribute statements). If that is the case, activate this and the plugin will try to split those values by ;
Use a regular expression pattern in order to extract complex data.", 'onelogin-saml-sso').'

'; +} + +function plugin_setting_string_onelogin_saml_role_mapping_multivalued_pattern($network = false) { + $value = $network ? get_site_option('onelogin_saml_role_mapping_multivalued_pattern') : get_option('onelogin_saml_role_mapping_multivalued_pattern'); + echo ' +

'.__("Regular expression that extract roles from complex multivalued data (required to active the previous option).
E.g. If the SAMLResponse has a role attribute like: CN=admin;CN=superuser;CN=europe-admin; , use the regular expression /CN=([A-Z0-9\s _-]*);/i to retrieve the values. Or use /CN=([^,;]*)/", 'onelogin-saml-sso').'

'; +} + +function plugin_setting_boolean_onelogin_saml_customize_action_prevent_local_login($network = false) { + $value = $network ? get_site_option('onelogin_saml_customize_action_prevent_local_login') : get_option('onelogin_saml_customize_action_prevent_local_login'); + echo ' +

'.__("Check to disable the ?normal option and offer the local login when it is not enabled.", 'onelogin-saml-sso').'

'; +} + +function plugin_setting_boolean_onelogin_saml_customize_action_prevent_reset_password($network = false) { + $value = $network ? get_site_option('onelogin_saml_customize_action_prevent_reset_password') : get_option('onelogin_saml_customize_action_prevent_reset_password'); + echo ' +

'.__("Check to disable resetting passwords in WordPress.", 'onelogin-saml-sso').'

'; +} + +function plugin_setting_boolean_onelogin_saml_customize_action_prevent_change_password($network = false) { + $value = $network ? get_site_option('onelogin_saml_customize_action_prevent_change_password') : get_option('onelogin_saml_customize_action_prevent_change_password'); + echo ' +

'.__("Check to disable changing passwords in WordPress.", 'onelogin-saml-sso').'

'; +} + +function plugin_setting_boolean_onelogin_saml_customize_action_prevent_change_mail($network = false) { + $value = $network ? get_site_option('onelogin_saml_customize_action_prevent_change_mail') : get_option('onelogin_saml_customize_action_prevent_change_mail'); + echo ' +

'.__("Check to disable changing the email addresses in WordPress (recommended if you are using email to match accounts).", 'onelogin-saml-sso').'

'; +} + +function plugin_setting_boolean_onelogin_saml_customize_stay_in_wordpress_after_slo($network = false) { + $value = $network ? get_site_option('onelogin_saml_customize_stay_in_wordpress_after_slo') : get_option('onelogin_saml_customize_stay_in_wordpress_after_slo'); + echo ' +

'.__("If SLO and Force SAML login are enabled, after the SLO process you will be redirected to the WordPress main page and a SAML SSO process will start. Check this to prevent that and stay at the WordPress login form. ", 'onelogin-saml-sso').'

'; +} + +function plugin_setting_string_onelogin_saml_customize_links_user_registration($network = false) { + $value = $network ? get_site_option('onelogin_saml_customize_links_user_registration') : get_option('onelogin_saml_customize_links_user_registration'); + echo ' +

'.__("Override the user registration link. ", 'onelogin-saml-sso').'

'; +} + +function plugin_setting_string_onelogin_saml_customize_links_lost_password($network = false) { + $value = $network ? get_site_option('onelogin_saml_customize_links_lost_password') : get_option('onelogin_saml_customize_links_lost_password'); + echo ' +

'.__("Override the lost password link. (Prevent reset password must be deactivated or the SAML SSO will be used.)", 'onelogin-saml-sso').'

'; +} + +function plugin_setting_string_onelogin_saml_customize_links_saml_login($network = false) { + $value = $network ? get_site_option('onelogin_saml_customize_links_saml_login') : get_option('onelogin_saml_customize_links_saml_login'); + echo ' +

'.__("If 'Keep Local login' enabled, this will be showed as message at the SAML link.", 'onelogin-saml-sso').'

'; +} + +function plugin_setting_boolean_onelogin_saml_advanced_settings_debug($network = false) { + $value = $network ? get_site_option('onelogin_saml_advanced_settings_debug') : get_option('onelogin_saml_advanced_settings_debug'); + echo ''. + '

'.__('Enable for debugging the SAML workflow. Errors and Warnings will be shown.', 'onelogin-saml-sso').'

'; +} + +function plugin_setting_boolean_onelogin_saml_advanced_settings_strict_mode($network = false) { + $value = $network ? get_site_option('onelogin_saml_advanced_settings_strict_mode') : get_option('onelogin_saml_advanced_settings_strict_mode'); + echo ''. + '

'.__("If Strict Mode is enabled, WordPress will reject unsigned or unencrypted messages if it expects them signed or encrypted. + It will also reject messages if not strictly following the SAML standard: Destination, NameId, Conditions ... are also validated.", 'onelogin-saml-sso').'

'; +} + +function plugin_setting_string_onelogin_saml_advanced_settings_sp_entity_id($network = false) { + $value = $network ? get_site_option('onelogin_saml_advanced_settings_sp_entity_id') : get_option('onelogin_saml_advanced_settings_sp_entity_id'); + echo ''. + '

'.__("Set the Entity ID for the Service Provider. If not provided, 'php-saml' will be used.", 'onelogin-saml-sso').'

'; +} + + +function plugin_setting_boolean_onelogin_saml_advanced_settings_nameid_encrypted($network = false) { + $value = $network ? get_site_option('onelogin_saml_advanced_settings_nameid_encrypted') : get_option('onelogin_saml_advanced_settings_nameid_encrypted'); + echo ''. + '

'.__('The nameID sent by this SP will be encrypted.', 'onelogin-saml-sso').'

'; +} + +function plugin_setting_boolean_onelogin_saml_advanced_settings_authn_request_signed($network = false) { + $value = $network ? get_site_option('onelogin_saml_advanced_settings_authn_request_signed') : get_option('onelogin_saml_advanced_settings_authn_request_signed'); + echo ''. + '

'.__('The samlp:AuthnRequest messages sent by this SP will be signed.', 'onelogin-saml-sso').'

'; +} + +function plugin_setting_boolean_onelogin_saml_advanced_settings_logout_request_signed($network = false) { + $value = $network ? get_site_option('onelogin_saml_advanced_settings_logout_request_signed') : get_option('onelogin_saml_advanced_settings_logout_request_signed'); + echo ''. + '

'.__('The samlp:logoutRequest messages sent by this SP will be signed.', 'onelogin-saml-sso').'

'; +} + +function plugin_setting_boolean_onelogin_saml_advanced_settings_logout_response_signed($network = false) { + $value = $network ? get_site_option('onelogin_saml_advanced_settings_logout_response_signed') : get_option('onelogin_saml_advanced_settings_logout_response_signed'); + echo ''. + '

'.__('The samlp:logoutResponse messages sent by this SP will be signed.', 'onelogin-saml-sso').'

'; +} + +function plugin_setting_boolean_onelogin_saml_advanced_settings_want_message_signed($network = false) { + $value = $network ? get_site_option('onelogin_saml_advanced_settings_want_message_signed') : get_option('onelogin_saml_advanced_settings_want_message_signed'); + echo ''. + '

'.__('Reject unsigned samlp:Response, samlp:LogoutRequest and samlp:LogoutResponse received', 'onelogin-saml-sso').'

'; +} + +function plugin_setting_boolean_onelogin_saml_advanced_settings_want_assertion_signed($network = false) { + $value = $network ? get_site_option('onelogin_saml_advanced_settings_want_assertion_signed') : get_option('onelogin_saml_advanced_settings_want_assertion_signed'); + echo ''. + '

'.__('Reject unsigned saml:Assertion received', 'onelogin-saml-sso').'

'; +} + +function plugin_setting_boolean_onelogin_saml_advanced_settings_want_assertion_encrypted($network = false) { + $value = $network ? get_site_option('onelogin_saml_advanced_settings_want_assertion_encrypted') : get_option('onelogin_saml_advanced_settings_want_assertion_encrypted'); + echo ''. + '

'.__('Reject unencrypted saml:Assertion received', 'onelogin-saml-sso').'

'; +} + +function plugin_setting_textarea_onelogin_saml_advanced_settings_sp_x509cert($network = false) { + $value = $network ? get_site_option('onelogin_saml_advanced_settings_sp_x509cert') : get_option('onelogin_saml_advanced_settings_sp_x509cert'); + echo ''; + echo '

'.__('Public x509 certificate of the SP. Leave this field empty if you are providing the cert by the sp.crt.', 'onelogin-saml-sso'); +} + +function plugin_setting_textarea_onelogin_saml_advanced_settings_sp_privatekey($network = false) { + $value = $network ? get_site_option('onelogin_saml_advanced_settings_sp_privatekey') : get_option('onelogin_saml_advanced_settings_sp_privatekey'); + echo ''; + echo '

'.__('Private Key of the SP. Leave this field empty if you are providing the private key by the sp.key.', 'onelogin-saml-sso'); +} + +function plugin_setting_boolean_onelogin_saml_advanced_settings_retrieve_parameters_from_server($network = false) { + $value = $network ? get_site_option('onelogin_saml_advanced_settings_retrieve_parameters_from_server') : get_option('onelogin_saml_advanced_settings_retrieve_parameters_from_server'); + echo ''. + '

'.__('Sometimes when the app is behind a firewall or proxy, the query parameters can be modified an this affects the signature validation process on HTTP-Redirectbinding. Active this if you are seeing signature validation failures. The plugin will try to extract the original query parameters.', 'onelogin-saml-sso').'

'; +} + +function plugin_setting_select_onelogin_saml_advanced_nameidformat($network = false) { + $nameidformat_value = $network ? get_site_option('onelogin_saml_advanced_nameidformat') : get_option('onelogin_saml_advanced_nameidformat'); + $posible_nameidformat_values = array( + 'unspecified' => Constants::NAMEID_UNSPECIFIED, + 'emailAddress' => Constants::NAMEID_EMAIL_ADDRESS, + 'transient' => Constants::NAMEID_TRANSIENT, + 'persistent' => Constants::NAMEID_PERSISTENT, + 'entity' => Constants::NAMEID_ENTITY, + 'encrypted' => Constants::NAMEID_ENCRYPTED, + 'kerberos' => Constants::NAMEID_KERBEROS, + 'x509subjecname' => Constants::NAMEID_X509_SUBJECT_NAME, + 'windowsdomainqualifiedname' => Constants::NAMEID_WINDOWS_DOMAIN_QUALIFIED_NAME, + 'uri' => 'urn:oasis:names:tc:SAML:2.0:attrname-format:uri' #ITWallet: added uri option non nameidformat droplist + ); + + echo ''. + '

'.__("Specifies constraints on the name identifier to be used to represent the requested subject.", 'onelogin-saml-sso').'

'; +} + +function plugin_setting_select_onelogin_saml_advanced_requestedauthncontext($network = false) { + if ($network) { + $requestedauthncontext_values = get_site_option('onelogin_saml_advanced_requestedauthncontext', array()); + } else { + $requestedauthncontext_values = get_option('onelogin_saml_advanced_requestedauthncontext', array()); + } + + if (!is_array($requestedauthncontext_values)) { + $requestedauthncontext_values = array($requestedauthncontext_values); + } + + $posible_requestedauthncontext_values = array( + 'unspecified' => Constants::AC_UNSPECIFIED, + 'password' => Constants::AC_PASSWORD, + 'passwordprotectedtransport' => Constants::AC_PASSWORD_PROTECTED, + 'x509' => Constants::AC_X509, + 'smartcard' => Constants::AC_SMARTCARD, + 'kerberos' => Constants::AC_KERBEROS, + ); + + echo ''. + '

'.__("AuthContext sent in the AuthNRequest. You can select none, one or multiple values", 'onelogin-saml-sso').'

'; + +} + +function plugin_setting_select_onelogin_saml_advanced_signaturealgorithm($network = false) { + $signaturealgorithm_value = $network ? get_site_option('onelogin_saml_advanced_signaturealgorithm') : get_option('onelogin_saml_advanced_signaturealgorithm'); + $posible_signaturealgorithm_values = array( + XMLSecurityKey::RSA_SHA1 => XMLSecurityKey::RSA_SHA1, + XMLSecurityKey::DSA_SHA1 => XMLSecurityKey::DSA_SHA1, + XMLSecurityKey::RSA_SHA256 => XMLSecurityKey::RSA_SHA256, + XMLSecurityKey::RSA_SHA384 => XMLSecurityKey::RSA_SHA384, + XMLSecurityKey::RSA_SHA512 => XMLSecurityKey::RSA_SHA512 + ); + + echo ''. + '

'.__("Algorithm that will be used on signing process").'

'; +} + +function plugin_setting_select_onelogin_saml_advanced_digestalgorithm($network = false) { + $digestalgorithm_value = $network ? get_site_option('onelogin_saml_advanced_digestalgorithm') : get_option('onelogin_saml_advanced_digestalgorithm'); + $posible_digestalgorithm_values = array( + XMLSecurityDSig::SHA1 => XMLSecurityDSig::SHA1, + XMLSecurityDSig::SHA256 => XMLSecurityDSig::SHA256, + XMLSecurityDSig::SHA384 => XMLSecurityDSig::SHA384, + XMLSecurityDSig::SHA512 => XMLSecurityDSig::SHA512 + ); + + echo ''. + '

'.__("Algorithm that will be used on digest process").'

'; +} + +function plugin_section_status_text() { + echo "

".__("Use this flag for enable or disable the SAML support.", 'onelogin-saml-sso')."

"; +} + +function plugin_section_idp_text() { + echo "

".__("Set information relating to the IdP that will be connected with our WordPress. You can find these values at the Onelogin's platform inside WordPress on the Single Sign-On tab.", 'onelogin-saml-sso')."

"; +} + +function plugin_section_options_text() { + echo "

".__("This section customizes the behavior of the plugin.", 'onelogin-saml-sso')."

"; +} + +function plugin_section_attr_mapping_text() { + echo "

".__("Sometimes the names of the attributes sent by the IdP do not match the names used by WordPress for the user accounts. In this section you can set the mapping between IdP fields and WordPress fields. Note: This mapping could be also set at Onelogin's IdP.", 'onelogin-saml-sso')."

"; +} + +function plugin_section_role_mapping_text() { + echo "

".__("The IdP can use its own roles. In this section, you can set the mapping between IdP and WordPress roles. Accepts comma separated values. Example: admin,owner,superuser", 'onelogin-saml-sso')."

"; +} + +function plugin_section_role_precedence_text() { + echo "

".__("In some cases, the IdP returns more than one role. In this secion, you can set the precedence of the different roles which makes sense if multi-role support is not enabled. The smallest integer will be the role chosen.", 'onelogin-saml-sso')."

"; +} + +function plugin_section_customize_links_text() { + echo "

".__("When SAML SSO is enabled to be integrated with an IdP, some WordPress actions and links could be changed. In this section, you will be able to enable or disable the ability for users to change their email address, password and reset their password. You can also override the user registration and the lost password links.", 'onelogin-saml-sso')."

"; +} + +function plugin_section_advanced_settings_text() { + echo "

".__("Handle some other parameters related to customizations and security issues.
If signing/encryption is enabled, then x509 cert and private key for the SP must be provided. There are 2 ways:
+ 1. Store them as files named sp.key and sp.crt on the 'certs' folder of the plugin. (Make sure that the /cert folder is read-protected and not exposed to internet.)
+ 2. Store them at the database, filling the corresponding textareas.", 'onelogin-saml-sso')."

"; +} + +function plugin_section_text() {} + +function onelogin_saml_configuration_multisite() { + add_menu_page(__("Network SAML Settings"), __("Network SAML Settings"), 'manage_options', 'network_saml_settings', 'load_saml_network_config_page'); + add_submenu_page('network_saml_settings', __("Network Global Settings"), __("Network Global Settings"), 'manage_options','network_saml_global_settings', 'load_saml_network_global_config_page'); + add_submenu_page('network_saml_settings', __("Inject SAML Settings in sites"), __("Inject SAML Settings in sites"), 'manage_options','network_saml_injection', 'load_saml_network_injection'); + add_submenu_page('network_saml_settings', __("Enable/Disable SAML on sites"), __("Enable/Disable SAML on sites"), 'manage_options','network_saml_enabler', 'load_saml_network_enabler'); +} + +function load_saml_network_global_config_page() { + require "network_saml_global_settings.php"; +} + +function load_saml_network_config_page() { + require "network.php"; +} + +function load_saml_network_injection() { + require "network_saml_injection.php"; +} + +function load_saml_network_enabler() { + require "network_saml_enabler.php"; +} + +function onelogin_saml_global_configuration_multisite_save() { + check_admin_referer('network_saml_global_settings_validate'); // Nonce security check + + if (isset($_POST)) { + if (isset($_POST['global_jit']) && $_POST['global_jit'] === 'on') { + $global_jit = true; + } else { + $global_jit = false; + } + update_site_option("onelogin_network_saml_global_jit", $global_jit); + } + + wp_redirect(add_query_arg( array( + 'page' => 'network_saml_global_settings', + 'updated' => true ), network_admin_url('admin.php') + )); + + exit; +} + +function onelogin_saml_configuration_multisite_save() { + check_admin_referer('network_saml_settings_validate'); // Nonce security check + + $fields = get_onelogin_saml_settings(); + + foreach (array_keys($fields) as $section) { + foreach (array_keys($fields[$section]) as $name) { + update_site_option($name, wp_unslash($_POST[$name])); + } + } + + wp_redirect(add_query_arg( array( + 'page' => 'network_saml_settings', + 'updated' => true ), network_admin_url('admin.php') + )); + + exit; +} + +function onelogin_saml_configuration_multisite_injection() { + $updated = false; + if (!empty($_POST) && isset($_POST['inject_saml_in_site'])) { + $fields = get_onelogin_saml_settings(); + $sites = sanitize_array_int($_POST['inject_saml_in_site']); + foreach ($sites as $site_id) { + foreach (array_keys($fields) as $section) { + foreach (array_keys($fields[$section]) as $name) { + $name = sanitize_key($name); + update_blog_option($site_id, $name, get_site_option($name, '')); + } + } + } + $updated = true; + } + + wp_redirect(add_query_arg( array( + 'page' => 'network_saml_injection', + 'updated' => $updated ), network_admin_url('admin.php') + )); + + exit(); +} + +function onelogin_saml_configuration_multisite_enabler() { + $updated = false; + if (!empty($_POST)) { + $enable_on_sites = array(); + if (isset($_POST['enable_saml_in_site'])) { + $enable_on_sites = sanitize_array_int($_POST['enable_saml_in_site']); + } + + $opts = array('number' => 1000); + $sites = get_sites($opts); + foreach ($sites as $site) { + $value = false; + if (in_array($site->id, $enable_on_sites)) { + $value = "on"; + } + update_blog_option($site->id, 'onelogin_saml_enabled', $value); + } + $updated = true; + } + + wp_redirect(add_query_arg( array( + 'page' => 'network_saml_enabler', + 'updated' => $updated ), network_admin_url('admin.php') + )); + + exit(); +} + +function get_onelogin_saml_settings() { + $status_fields = array( + 'onelogin_saml_enabled' => array( + __('Enable', 'onelogin-saml-sso'), + 'boolean' + ) + ); + + $idp_fields = get_onelogin_saml_settings_idp(); + $options_fields = get_onelogin_saml_settings_options(); + $attr_mapping_fields = get_onelogin_saml_settings_attribute_mapping(); + $role_mapping_fields = get_onelogin_saml_settings_role_mapping(); + $role_precedence_fields = get_onelogin_saml_settings_role_precedence(); + $customize_links_fields = get_onelogin_saml_settings_customize_links(); + $advanced_fields = get_onelogin_saml_settings_advanced(); + + $settings = array ( + 'status' => $status_fields, + 'idp' => $idp_fields, + 'options' => $options_fields, + 'attr_mapping' => $attr_mapping_fields, + 'role_mapping' => $role_mapping_fields, + 'role_precedence' => $role_precedence_fields, + 'customize_links' => $customize_links_fields, + 'advanced_settings' => $advanced_fields + ); + + return $settings; +} + +function get_sections() { + return array ( + 'status' => __('STATUS', 'onelogin-saml-sso'), + 'idp' => __('IDENTITY PROVIDER SETTINGS', 'onelogin-saml-sso'), + 'options' => __('OPTIONS', 'onelogin-saml-sso'), + 'attr_mapping' => __('ATTRIBUTE MAPPING', 'onelogin-saml-sso'), + 'role_mapping' => __('ROLE MAPPING', 'onelogin-saml-sso'), + 'role_precedence' => __('ROLE PRECEDENCE', 'onelogin-saml-sso'), + 'customize_links' => __('CUSTOMIZE ACTIONS AND LINKS', 'onelogin-saml-sso'), + 'advanced_settings' => __('ADVANCED SETTINGS', 'onelogin-saml-sso'), + ); +} + +function get_onelogin_saml_settings_idp() { + return array ( + 'onelogin_saml_idp_entityid' => array( + __('IdP Entity Id', 'onelogin-saml-sso') . ' *', + 'string' + ), + 'onelogin_saml_idp_sso' => array( + __('Single Sign On Service Url', 'onelogin-saml-sso') . ' *', + 'string' + ), + 'onelogin_saml_idp_slo' => array( + __('Single Log Out Service Url', 'onelogin-saml-sso'), + 'string' + ), + 'onelogin_saml_idp_x509cert' => array( + __('X.509 Certificate', 'onelogin-saml-sso'), + 'textarea' + ), + ); +} + +function get_onelogin_saml_settings_options() { + return array ( + 'onelogin_saml_autocreate' => array( + __('Create user if not exists', 'onelogin-saml-sso'), + 'boolean' + ), + 'onelogin_saml_updateuser' => array( + __('Update user data', 'onelogin-saml-sso'), + 'boolean' + ), + 'onelogin_saml_forcelogin' => array( + __('Force SAML login', 'onelogin-saml-sso'), + 'boolean' + ), + 'onelogin_saml_slo' => array( + __('Single Log Out', 'onelogin-saml-sso'), + 'boolean' + ), + 'onelogin_saml_keep_local_login' => array( + __('Keep Local login', 'onelogin-saml-sso'), + 'boolean' + ), + 'onelogin_saml_alternative_acs' => array( + __('Alternative ACS Endpoint', 'onelogin-saml-sso'), + 'boolean' + ), + 'onelogin_saml_account_matcher' => array( + __('Match Wordpress account by', 'onelogin-saml-sso'), + 'select' + ), + 'onelogin_saml_trigger_login_hook' => array( + __('Trigger wp_login hook', 'onelogin-saml-sso'), + 'boolean' + ), + 'onelogin_saml_multirole' => array( + __('Multi Role Support', 'onelogin-saml-sso'), + 'boolean' + ), + 'onelogin_saml_trusted_url_domains' => array( + __('Trust URL domains on RelayState', 'onelogin-saml-sso'), + 'textarea' + ) + ); +} + +function get_onelogin_saml_settings_attribute_mapping() { + return array ( + 'onelogin_saml_attr_mapping_username' => array( + __('Username', 'onelogin-saml-sso') . ' *', + 'string' + ), + 'onelogin_saml_attr_mapping_mail' => array( + __('E-mail', 'onelogin-saml-sso') . ' *', + 'string' + ), + 'onelogin_saml_attr_mapping_firstname' => array( + __('First Name', 'onelogin-saml-sso'), + 'string' + ), + 'onelogin_saml_attr_mapping_lastname' => array( + __('Last Name', 'onelogin-saml-sso'), + 'string' + ), + 'onelogin_saml_attr_mapping_nickname' => array( + __('Nickname', 'onelogin-saml-sso'), + 'string' + ), + 'onelogin_saml_attr_mapping_role' => array( + __('Role', 'onelogin-saml-sso'), + 'string' + ), + 'onelogin_saml_attr_mapping_rememberme' => array( + __('Remember Me', 'onelogin-saml-sso'), + 'string' + ) + ); +} + +function get_onelogin_saml_settings_role_mapping() { + $fields = array(); + foreach (wp_roles()->get_names() as $role_value => $role_name) { + $name = 'onelogin_saml_role_mapping_'.$role_value; + $fields[$name] = array( + $role_name, + 'string' + ); + } + + $fields['onelogin_saml_role_mapping_multivalued_in_one_attribute_value'] = array( + __('Multiple role values in one saml attribute value', 'onelogin-saml-sso'), + 'boolean' + ); + + $fields['onelogin_saml_role_mapping_multivalued_pattern'] = array( + __('Regular expression for multiple role values', 'onelogin-saml-sso'), + 'string' + ); + + return $fields; +} + + +function get_onelogin_saml_settings_role_precedence() { + $fields = array(); + foreach (wp_roles()->get_names() as $role_value => $role_name) { + $name = 'onelogin_saml_role_order_'.$role_value; + $fields[$name] = array( + $role_name, + 'string' + ); + } + + return $fields; + } + +function get_onelogin_saml_settings_customize_links() { + return array ( + 'onelogin_saml_customize_action_prevent_local_login' => array( + __('Prevent use of ?normal', 'onelogin-saml-sso'), + 'boolean' + ), + 'onelogin_saml_customize_action_prevent_reset_password' => array( + __('Prevent reset password', 'onelogin-saml-sso'), + 'boolean' + ), + 'onelogin_saml_customize_action_prevent_change_password' => array( + __('Prevent change password', 'onelogin-saml-sso'), + 'boolean' + ), + 'onelogin_saml_customize_action_prevent_change_mail' => array( + __('Prevent change mail', 'onelogin-saml-sso'), + 'boolean' + ), + 'onelogin_saml_customize_stay_in_wordpress_after_slo' => array( + __('Stay in WordPress after SLO', 'onelogin-saml-sso'), + 'boolean' + ), + 'onelogin_saml_customize_links_user_registration' => array( + __('User Registration', 'onelogin-saml-sso'), + 'string' + ), + 'onelogin_saml_customize_links_lost_password' => array( + __('Lost Password', 'onelogin-saml-sso'), + 'string' + ), + 'onelogin_saml_customize_links_saml_login' => array( + __('SAML Link Message', 'onelogin-saml-sso'), + 'string' + ) + ); +} + +function get_onelogin_saml_settings_advanced() { + return array ( + 'onelogin_saml_advanced_settings_debug' => array( + __('Debug Mode', 'onelogin-saml-sso'), + 'boolean' + ), + 'onelogin_saml_advanced_settings_strict_mode' => array( + __('Strict Mode', 'onelogin-saml-sso'), + 'boolean' + ), + 'onelogin_saml_advanced_settings_sp_entity_id' => array( + __('Service Provider Entity Id', 'onelogin-saml-sso'), + 'string' + ), + 'onelogin_saml_advanced_idp_lowercase_url_encoding' => array( + __('Lowercase URL encoding?', 'onelogin-saml-sso'), + 'boolean' + ), + 'onelogin_saml_advanced_settings_nameid_encrypted' => array( + __('Encrypt nameID', 'onelogin-saml-sso'), + 'boolean' + ), + 'onelogin_saml_advanced_settings_authn_request_signed' => array( + __('Sign AuthnRequest', 'onelogin-saml-sso'), + 'boolean' + ), + 'onelogin_saml_advanced_settings_logout_request_signed' => array( + __('Sign LogoutRequest', 'onelogin-saml-sso'), + 'boolean' + ), + 'onelogin_saml_advanced_settings_logout_response_signed' => array( + __('Sign LogoutResponse', 'onelogin-saml-sso'), + 'boolean' + ), + 'onelogin_saml_advanced_settings_want_message_signed' => array( + __('Reject Unsigned Messages', 'onelogin-saml-sso'), + 'boolean' + ), + 'onelogin_saml_advanced_settings_want_assertion_signed' => array( + __('Reject Unsigned Assertions', 'onelogin-saml-sso'), + 'boolean' + ), + 'onelogin_saml_advanced_settings_want_assertion_encrypted' => array( + __('Reject Unencrypted Assertions', 'onelogin-saml-sso'), + 'boolean' + ), + 'onelogin_saml_advanced_settings_retrieve_parameters_from_server' => array( + __('Retrieve Parameters From Server', 'onelogin-saml-sso'), + 'boolean' + ), + 'onelogin_saml_advanced_nameidformat' => array( + __('NameIDFormat', 'onelogin-saml-sso'), + 'select' + ), + 'onelogin_saml_advanced_requestedauthncontext' => array( + __('requestedAuthnContext', 'onelogin-saml-sso'), + 'select' + ), + 'onelogin_saml_advanced_settings_sp_x509cert' => array( + __('Service Provider X.509 Certificate', 'onelogin-saml-sso'), + 'textarea' + ), + 'onelogin_saml_advanced_settings_sp_privatekey' => array( + __('Service Provider Private Key', 'onelogin-saml-sso'), + 'textarea' + ), + 'onelogin_saml_advanced_signaturealgorithm' => array( + __('Signature Algorithm', 'onelogin-saml-sso'), + 'select' + ), + 'onelogin_saml_advanced_digestalgorithm' => array( + __('Digest Algorithm', 'onelogin-saml-sso'), + 'select' + ) + ); +} diff --git a/example/onelogin_custom_settings/functions.php b/example/onelogin_custom_settings/functions.php new file mode 100755 index 00000000..943a7db1 --- /dev/null +++ b/example/onelogin_custom_settings/functions.php @@ -0,0 +1,729 @@ +'.esc_html($saml_login_message).'
'; +} + +function saml_load_translations() { + $domain = 'onelogin-saml-sso'; + $mo_file = plugin_dir_path(dirname(__FILE__)) . 'lang/'.get_locale() . '/' . $domain . '.mo'; + + load_textdomain($domain, $mo_file ); + load_plugin_textdomain($domain, false, dirname( plugin_basename( __FILE__ ) ) . '/lang/'. get_locale() . '/' ); +} + +function saml_lostpassword() { + $target = get_option('onelogin_saml_customize_links_lost_password'); + if (!empty($target)) { + wp_redirect($target); + exit; + } +} + +function saml_user_register() { + $target = get_option('onelogin_saml_customize_links_user_registration'); + if (!empty($target)) { + wp_redirect($target); + exit; + } +} + +function saml_sso() { + if (may_disable_saml()) { + return true; + } + + if (is_user_logged_in()) { + return true; + } + $auth = initialize_saml(); + if ($auth == false) { + wp_redirect(home_url()); + exit(); + } + + if (isset($_GET["target"])) { + $auth->login($_GET["target"]); + } else if (isset($_GET['redirect_to'])) { + $auth->login($_GET['redirect_to']); + } else if (isset($_SERVER['REQUEST_URI']) && !isset($_GET['saml_sso'])) { + $auth->login($_SERVER['REQUEST_URI']); + } else { + $auth->login(); + } + exit(); +} + +function saml_slo() { + if (may_disable_saml()) { + return true; + } + + $slo = get_option('onelogin_saml_slo'); + + if (isset($_GET['action']) && $_GET['action'] == 'logout') { + if (!$slo) { + wp_logout(); + return false; + } else { + $nameId = null; + $sessionIndex = null; + $nameIdFormat = null; + $samlNameIdNameQualifier = null; + $samlNameIdSPNameQualifier = null; + + if (isset($_COOKIE[SAML_NAMEID_COOKIE])) { + $nameId = sanitize_text_field($_COOKIE[SAML_NAMEID_COOKIE]); + } + if (isset($_COOKIE[SAML_SESSIONINDEX_COOKIE])) { + $sessionIndex = sanitize_text_field($_COOKIE[SAML_SESSIONINDEX_COOKIE]); + } + if (isset($_COOKIE[SAML_NAMEID_FORMAT_COOKIE])) { + $nameIdFormat = sanitize_text_field($_COOKIE[SAML_NAMEID_FORMAT_COOKIE]); + } + if (isset($_COOKIE[SAML_NAMEID_NAME_QUALIFIER_COOKIE])) { + $nameIdNameQualifier = sanitize_text_field($_COOKIE[SAML_NAMEID_NAME_QUALIFIER_COOKIE]); + } + if (isset($_COOKIE[SAML_NAMEID_SP_NAME_QUALIFIER_COOKIE])) { + $nameIdSPNameQualifier = sanitize_text_field($_COOKIE[SAML_NAMEID_SP_NAME_QUALIFIER_COOKIE]); + } + + $auth = initialize_saml(); + if ($auth == false) { + wp_redirect(home_url()); + exit(); + } + $auth->logout(home_url(), array(), $nameId, $sessionIndex, false, $nameIdFormat, $nameIdNameQualifier, $nameIdSPNameQualifier); + return false; + } + } +} + +function saml_role_order_get($role) { + static $role_defaults = array( + 'administrator' => 1, + 'editor' => 2, + 'author' => 3, + 'contributor' => 4, + 'subscriber' => 5); + $rv = get_option(sanitize_key('onelogin_saml_role_order_'.$role)); + if (empty($rv)) + if (isset($role_defaults[$role])) { + return $role_defaults[$role]; + } else { + return PHP_INT_MAX; + } + else { + return (int)$rv; + } +} + +function saml_role_order_compare($role1, $role2) { + $r1 = saml_role_order_get($role1); + $r2 = saml_role_order_get($role2); + if ($r1 > $r2) + return 1; + else if ($r1 < $r2) + return -1; + else return 0; +} + +function saml_acs() { + if (may_disable_saml()) { + return true; + } + + $auth = initialize_saml(); + if ($auth == false) { + wp_redirect(home_url()); + exit(); + } + + $auth->processResponse(); + + $errors = $auth->getErrors(); + if (!empty($errors)) { + // Don't raise an error on passive mode + $errorReason = $auth->getLastErrorReason(); + if (strpos($errorReason, 'Responder') != false && strpos($errorReason, 'Passive') !== false ) { + $relayState = esc_url_raw( $_REQUEST['RelayState'], ['https','http']); + + if (empty($relayState)) { + wp_redirect(home_url()); + } else { + if (strpos($relayState, 'redirect_to') !== false) { + $query = wp_parse_url($relayState, PHP_URL_QUERY); + parse_str($query, $parameters); + redirect_to_relaystate_if_trusted(urldecode($parameters['redirect_to'])); + } else { + redirect_to_relaystate_if_trusted($relayState); + } + } + exit(); + } + + echo '
'.__("There was at least one error processing the SAML Response").': '; + foreach($errors as $error) { + echo esc_html($error).'
'; + } + echo __("Contact the administrator"); + exit(); + } + + $attrs = $auth->getAttributes(); + + if (empty($attrs)) { + $nameid = $auth->getNameId(); + if (empty($nameid)) { + echo __("The SAMLResponse may contain NameID or AttributeStatement"); + exit(); + } + $username = sanitize_user($nameid); + $email = sanitize_email($nameid); + } else { + $usernameMapping = get_option('onelogin_saml_attr_mapping_username'); + $mailMapping = get_option('onelogin_saml_attr_mapping_mail'); + + if (!empty($usernameMapping) && isset($attrs[$usernameMapping]) && !empty($attrs[$usernameMapping][0])){ + $username = sanitize_user($attrs[$usernameMapping][0]); + } + if (!empty($mailMapping) && isset($attrs[$mailMapping]) && !empty($attrs[$mailMapping][0])){ + $email = sanitize_email($attrs[$mailMapping][0]); + } + } + + if (empty($username)) { + echo __("The username could not be retrieved from the IdP and is required"); + exit(); + } + else if (empty($email)) { + echo __("The email could not be retrieved from the IdP and is required"); + exit(); + } else if (!is_email($email)) { + echo __("The email provided is invalid"); + exit(); + } else { + $userdata = array(); + $userdata['user_login'] = wp_slash($username); + $userdata['user_email'] = wp_slash($email); + } + + if (!empty($attrs)) { + $firstNameMapping = get_option('onelogin_saml_attr_mapping_firstname'); + $lastNameMapping = get_option('onelogin_saml_attr_mapping_lastname'); + $nickNameMapping = get_option('onelogin_saml_attr_mapping_nickname'); + $roleMapping = get_option('onelogin_saml_attr_mapping_role'); + $spidCodeMapping = 'spidCodes'; #ITWallet: added uri option non nameidformat droplist + + if (!empty($firstNameMapping) && isset($attrs[$firstNameMapping]) && !empty($attrs[$firstNameMapping][0])){ + $userdata['first_name'] = $attrs[$firstNameMapping][0]; + } + + if (!empty($lastNameMapping) && isset($attrs[$lastNameMapping]) && !empty($attrs[$lastNameMapping][0])){ + $userdata['last_name'] = $attrs[$lastNameMapping][0]; + } + if (!empty($nickNameMapping) && isset($attrs[$nickNameMapping]) && !empty($attrs[$nickNameMapping][0])){ + $userdata['nickname'] = $attrs[$nickNameMapping][0]; + } + #ITWallet: adding spidCode to the user object + if (!empty($spidCodeMapping) && isset($attrs[$spidCodeMapping]) && !empty($attrs[$spidCodeMapping][0])){ + $userdata[SPIDCODENAME] = $attrs[$spidCodeMapping][0]; + } + + if (!empty($roleMapping) && isset($attrs[$roleMapping])){ + $multiValued = get_option('onelogin_saml_role_mapping_multivalued_in_one_attribute_value', false); + if ($multiValued && count($attrs[$roleMapping]) == 1) { + $roleValues = array(); + $pattern = get_option('onelogin_saml_role_mapping_multivalued_pattern'); + if (!empty($pattern)) { + preg_match_all($pattern, $attrs[$roleMapping][0], $roleValues); + if (!empty($roleValues)) { + $attrs[$roleMapping] = $roleValues[1]; + } + } else { + $roleValues = explode(';', $attrs[$roleMapping][0]); + $attrs[$roleMapping] = $roleValues; + } + } + + $all_roles = wp_roles()->get_names(); + $roles_found = array(); + + foreach ($attrs[$roleMapping] as $samlRole) { + $samlRole = trim($samlRole); + if (empty($samlRole)) { + continue; + } + + foreach ($all_roles as $role_value => $role_name) { + $role_value = sanitize_key($role_value); + $matchList = explode(',', get_option('onelogin_saml_role_mapping_'.$role_value)); + if (in_array($samlRole, $matchList)) { + $roles_found[$role_value] = true; + } + } + } + + $multirole = get_site_option('onelogin_saml_multirole'); + $userdata['roles'] = []; + + uksort($roles_found, 'saml_role_order_compare'); + foreach ($roles_found as $role_value => $_role_found) { + $userdata['roles'][] = $role_value; + if (!$multirole || is_multisite()) { + break; + } + } + } + } + + $matcher = get_option('onelogin_saml_account_matcher'); + $newuser = false; + + if (empty($matcher) || $matcher == 'username') { + $matcherValue = $userdata['user_login']; + $user_id = username_exists($matcherValue); + } else { + $matcherValue = $userdata['user_email']; + $user_id = email_exists($matcherValue); + } + + if ($user_id) { + if (is_multisite()) { + if (get_site_option('onelogin_network_saml_global_jit')) { + enroll_user_on_sites($user_id, $userdata['roles']); + } else if (!is_user_member_of_blog($user_id)) { + if (get_option('onelogin_saml_autocreate')) { + //Exist's but is not user to the current blog id + $blog_id = get_current_blog_id(); + enroll_user_on_blogs($blog_id, $user_id, $userdata['roles']); + } else { + $user_id = null; + echo __("User provided by the IdP "). ' "'. esc_attr($matcherValue). '" '. __("does not exist in this wordpress site and auto-provisioning is disabled."); + exit(); + } + } + } + + if (get_option('onelogin_saml_updateuser')) { + $userdata['ID'] = $user_id; + unset($userdata['$user_pass']); + + $roles = []; + if (isset($userdata['roles'])) { + // Prevent to change the role to the superuser (id=1) + if ($user_id == 1) { + unset($userdata['roles']); + } else { + $roles = $userdata['roles']; + unset($userdata['roles']); + } + } + + $user_id = wp_update_user($userdata); + if (isset($user_id) && !empty($roles)) { + update_user_role($user_id, $roles); + } + #ITWallet: updating spidCode value on the db for the existing user + update_user_meta($user_id, SPIDCODENAME, $userdata[SPIDCODENAME]); + } + } else if (get_option('onelogin_saml_autocreate')) { + $newuser = true; + if (!validate_username($username)) { + echo __("The username provided by the IdP"). ' "'. esc_attr($username). '" '. __("is not valid and can't create the user at wordpress"); + exit(); + } + + if (!isset($userdata['roles'])) { + $userdata['roles'] = array(); + $userdata['roles'][] = get_option('default_role'); + } + $userdata['role'] = array_shift($userdata['roles']); + $roles = $userdata['roles']; + unset($userdata['roles']); + $userdata['user_pass'] = wp_generate_password(); + $user_id = wp_insert_user($userdata); + if ($user_id && !is_a($user_id, 'WP_Error')) { + if (is_multisite()) { + if (get_site_option('onelogin_network_saml_global_jit')) { + enroll_user_on_sites($user_id, $userdata['roles']); + } else { + $blog_id = get_current_blog_id(); + enroll_user_on_blogs($blog_id, $user_id, $userdata['roles']); + } + } else if (!empty($roles)) { + add_roles_to_user($user_id, $roles); + } + + #ITWallet: adding spidCode value on the db for new user + update_user_meta($user_id, SPIDCODENAME, $userdata[SPIDCODENAME]); + } + } else { + echo __("User provided by the IdP "). ' "'. esc_attr($matcherValue). '" '. __("does not exist in wordpress and auto-provisioning is disabled."); + exit(); + } + + if (is_a($user_id, 'WP_Error')) { + $errors = $user_id->get_error_messages(); + foreach($errors as $error) { + echo esc_html($error).'
'; + } + exit(); + } else if ($user_id) { + wp_set_current_user($user_id); + + $rememberme = false; + $remembermeMapping = get_option('onelogin_saml_attr_mapping_rememberme'); + if (!empty($remembermeMapping) && isset($attrs[$remembermeMapping]) && !empty($attrs[$remembermeMapping][0])) { + $rememberme = in_array($attrs[$remembermeMapping][0], array(1, true, '1', 'yes', 'on')) ? true : false; + } + wp_set_auth_cookie($user_id, $rememberme); + + $secure = is_ssl(); + setcookie(SAML_LOGIN_COOKIE, 1, time() + MONTH_IN_SECONDS, SITECOOKIEPATH, COOKIE_DOMAIN, $secure, true); + setcookie(SAML_NAMEID_COOKIE, $auth->getNameId(), time() + MONTH_IN_SECONDS, SITECOOKIEPATH, COOKIE_DOMAIN, $secure, true); + setcookie(SAML_SESSIONINDEX_COOKIE, $auth->getSessionIndex(), time() + MONTH_IN_SECONDS, SITECOOKIEPATH, COOKIE_DOMAIN, $secure, true); + setcookie(SAML_NAMEID_FORMAT_COOKIE, $auth->getNameIdFormat(), time() + MONTH_IN_SECONDS, SITECOOKIEPATH, COOKIE_DOMAIN, $secure, true); + setcookie(SAML_NAMEID_NAME_QUALIFIER_COOKIE, $auth->getNameIdNameQualifier(), time() + MONTH_IN_SECONDS, SITECOOKIEPATH, COOKIE_DOMAIN, $secure, true); + setcookie(SAML_NAMEID_SP_NAME_QUALIFIER_COOKIE, $auth->getNameIdSPNameQualifier(), time() + MONTH_IN_SECONDS, SITECOOKIEPATH, COOKIE_DOMAIN, $secure, true); + } + + do_action( 'onelogin_saml_attrs', $attrs, wp_get_current_user(), get_current_user_id(), $newuser); + + // Trigger the wp_login hook used by wp_signon() + // @see https://developer.wordpress.org/reference/hooks/wp_login/ + $trigger_wp_login_hook = get_site_option( 'onelogin_saml_trigger_login_hook' ); + + if ( $trigger_wp_login_hook ) { + $user = get_user_by( 'id', $user_id ); + + if ( false !== $user ) { + do_action( 'wp_login', $user->user_login, $user ); + } + } + + if (isset($_REQUEST['RelayState'])) { + $relayState = esc_url_raw( $_REQUEST['RelayState'], ['https','http']); + + if (!empty($relayState) && ((substr($relayState, -strlen('/wp-login.php')) === '/wp-login.php') || (substr($relayState, -strlen('/alternative_acs.php')) === '/alternative_acs.php'))) { + wp_redirect(home_url()); + } else { + if (strpos($relayState, 'redirect_to') !== false) { + $query = wp_parse_url($relayState, PHP_URL_QUERY); + parse_str($query, $parameters); + redirect_to_relaystate_if_trusted(urldecode($parameters['redirect_to'])); + } else { + redirect_to_relaystate_if_trusted($relayState); + } + } + } else { + wp_redirect(home_url()); + } + exit(); +} + +function saml_sls() { + if (may_disable_saml()) { + return true; + } + + $auth = initialize_saml(); + if ($auth == false) { + wp_redirect(home_url()); + exit(); + } + + $retrieve_parameters_from_server = get_option('onelogin_saml_advanced_settings_retrieve_parameters_from_server', false); + if (isset($_GET) && isset($_GET['SAMLRequest'])) { + // Close session before send the LogoutResponse to the IdP + $auth->processSLO(false, null, $retrieve_parameters_from_server, 'wp_logout'); + } else { + $auth->processSLO(false, null, $retrieve_parameters_from_server); + } + $errors = $auth->getErrors(); + if (empty($errors)) { + wp_logout(); + $secure = is_ssl(); + setcookie(SAML_LOGIN_COOKIE, 0, time() - 3600, SITECOOKIEPATH, COOKIE_DOMAIN, $secure, true); + setcookie(SAML_NAMEID_COOKIE, null, time() - 3600, SITECOOKIEPATH, COOKIE_DOMAIN, $secure, true); + setcookie(SAML_SESSIONINDEX_COOKIE, null, time() - 3600, SITECOOKIEPATH, COOKIE_DOMAIN, $secure, true); + setcookie(SAML_NAMEID_FORMAT_COOKIE, null, time() - 3600, SITECOOKIEPATH, COOKIE_DOMAIN, $secure, true); + setcookie(SAML_NAMEID_NAME_QUALIFIER_COOKIE, null, time() - 3600, SITECOOKIEPATH, COOKIE_DOMAIN, $secure, true); + setcookie(SAML_NAMEID_SP_NAME_QUALIFIER_COOKIE, null, time() - 3600, SITECOOKIEPATH, COOKIE_DOMAIN, $secure, true); + + if (get_option('onelogin_saml_forcelogin') && get_option('onelogin_saml_customize_stay_in_wordpress_after_slo')) { + wp_redirect(home_url().'/wp-login.php?loggedout=true'); + } else { + if (isset($_REQUEST['RelayState'])) { + redirect_to_relaystate_if_trusted($_REQUEST['RelayState']); + } else { + wp_redirect(home_url()); + } + } + exit(); + } else { + echo __("SLS endpoint found an error."); + foreach($errors as $error) { + echo esc_html($error).'
'; + } + exit(); + } +} + +function saml_metadata() { + require_once plugin_dir_path(__FILE__).'_toolkit_loader.php'; + require plugin_dir_path(__FILE__).'settings.php'; + + $samlSettings = new Settings($settings, true); + $metadata = $samlSettings->getSPMetadata(); + + header('Content-Type: text/xml'); + echo ent2ncr($metadata); + exit(); +} + + +function saml_validate_config() { + saml_load_translations(); + require_once plugin_dir_path(__FILE__).'_toolkit_loader.php'; + require plugin_dir_path(__FILE__).'settings.php'; + require_once plugin_dir_path(__FILE__)."validate.php"; + exit(); +} + +function initialize_saml() { + require_once plugin_dir_path(__FILE__).'_toolkit_loader.php'; + require plugin_dir_path(__FILE__).'settings.php'; + + if (!is_saml_enabled()) { + return false; + } + + try { + $auth = new Auth($settings); + } catch (\Exception $e) { + echo '
'.__("The Onelogin SSO/SAML plugin is not correctly configured.", 'onelogin-saml-sso').'
'; + echo esc_html($e->getMessage()); + echo '
'.__("If you are the administrator", 'onelogin-saml-sso').', '.__("access using your wordpress credentials", 'onelogin-saml-sso').' '.__("and fix the problem", 'onelogin-saml-sso'); + exit(); + } + + return $auth; +} + +function is_saml_enabled() { + $saml_enabled = get_option('onelogin_saml_enabled', 'not defined'); + if ($saml_enabled == 'not defined') { + // If no data was saved about enable/disable saml, then + // check if entityId also is not defined and then consider the + // plugin disabled + if (get_option('onelogin_saml_idp_entityid', 'not defined') == 'not defined') { + $saml_enabled = false; + } else { + $saml_enabled = true; + } + } else { + $saml_enabled = $saml_enabled == 'on'? true : false; + } + return $saml_enabled; +} + +function enroll_user_on_sites($user_id, $roles) { + $opts = array('number' => 1000); + $sites = get_sites($opts); + foreach ($sites as $site) { + if (get_blog_option($site_id, "onelogin_saml_autocreate") && !is_user_member_of_blog($user_id, $site->id)) { + foreach($roles as $role) { + add_user_to_blog($site->id, $user_id, $role); + } + } + } +} + +function enroll_user_on_blogs($blog_id, $user_id, $roles) { + foreach($roles as $role) { + add_user_to_blog($blog_id, $user_id, $role); + } +} + +function update_user_role($user_id, $roles) +{ + $user = get_user_by('id', $user_id); + $role = array_shift($roles); + $user->set_role($role); // This removes previous assignations + + foreach($roles as $role) { + $user->add_role($role); + } +} + +function add_roles_to_user($user_id, $roles) +{ + $user = get_user_by('id', $user_id); + + foreach($roles as $role) { + $user->add_role($role); + } +} + +// Prevent that the user change important fields +class preventLocalChanges +{ + function __construct() + { + if (get_option('onelogin_saml_customize_action_prevent_change_mail', false)) { + add_action('admin_footer', array($this, 'disable_email')); + } + if (get_option('onelogin_saml_customize_action_prevent_change_password', false)) { + add_action('admin_footer', array($this, 'disable_password')); + } + } + + function disable_email() + { + global $pagenow; + if ($pagenow == 'profile.php' && !current_user_can( 'manage_options' )) { + + ?> + + + + Constants::NAMEID_UNSPECIFIED, + 'emailAddress' => Constants::NAMEID_EMAIL_ADDRESS, + 'transient' => Constants::NAMEID_TRANSIENT, + 'persistent' => Constants::NAMEID_PERSISTENT, + 'entity' => Constants::NAMEID_ENTITY, + 'encrypted' => Constants::NAMEID_ENCRYPTED, + 'kerberos' => Constants::NAMEID_KERBEROS, + 'x509subjecname' => Constants::NAMEID_X509_SUBJECT_NAME, + 'windowsdomainqualifiedname' => Constants::NAMEID_WINDOWS_DOMAIN_QUALIFIED_NAME, + 'uri' => 'urn:oasis:names:tc:SAML:2.0:attrname-format:uri' #ITWallet: add uri name format +); +$posible_requestedauthncontext_values = array( + 'unspecified' => Constants::AC_UNSPECIFIED, + 'password' => Constants::AC_PASSWORD, + 'passwordprotectedtransport' => "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport", + 'x509' => Constants::AC_X509, + 'smartcard' => Constants::AC_SMARTCARD, + 'kerberos' => Constants::AC_KERBEROS, +); + + +$opt['strict'] = get_option('onelogin_saml_advanced_settings_strict_mode', 'on'); +$opt['debug'] = get_option('onelogin_saml_advanced_settings_debug', 'on'); +$opt['sp_entity_id'] = get_option('onelogin_saml_advanced_settings_sp_entity_id', 'php-saml'); + +$opt['nameIdEncrypted'] = get_option('onelogin_saml_advanced_settings_nameid_encrypted', false); +$opt['authnRequestsSigned'] = get_option('onelogin_saml_advanced_settings_authn_request_signed', false); +$opt['logoutRequestSigned'] = get_option('onelogin_saml_advanced_settings_logout_request_signed', false); +$opt['logoutResponseSigned'] = get_option('onelogin_saml_advanced_settings_logout_response_signed', false); +$opt['wantMessagesSigned'] = get_option('onelogin_saml_advanced_settings_want_message_signed', false); +$opt['wantAssertionsSigned'] = get_option('onelogin_saml_advanced_settings_want_assertion_signed', false); +$opt['wantAssertionsEncrypted'] = get_option('onelogin_saml_advanced_settings_want_assertion_encrypted', false); + +$nameIDformat = get_option('onelogin_saml_advanced_nameidformat', 'unspecified'); +$opt['NameIDFormat'] = $posible_nameidformat_values[$nameIDformat]; + + +$requested_authncontext_values = get_option('onelogin_saml_advanced_requestedauthncontext', array()); +if ((is_array($requested_authncontext_values) && empty(array_filter($requested_authncontext_values))) || empty($requested_authncontext_values)) { + $opt['requestedAuthnContext'] = false; +} else { + $opt['requestedAuthnContext'] = array(); + foreach ($requested_authncontext_values as $value) { + if (isset($posible_requestedauthncontext_values[$value])) { + $opt['requestedAuthnContext'][] = $posible_requestedauthncontext_values[$value]; + } + } +} + +$acs_endpoint = get_option('onelogin_saml_alternative_acs', false) + ? plugins_url( 'alternative_acs.php', dirname( __FILE__ ) ) + : add_query_arg( [ 'saml_acs' => '' ], wp_login_url() ); + +$settings = array ( + + 'strict' => $opt['strict'] == 'on'? true : false, + 'debug' => $opt['debug'] == 'on'? true : false, + + 'sp' => array ( + 'entityId' => (!empty($opt['sp_entity_id'])? $opt['sp_entity_id'] : 'php-saml'), + 'assertionConsumerService' => array ( + 'url' => $acs_endpoint + ), + 'singleLogoutService' => array ( + 'url' => add_query_arg( [ 'saml_sls' => '' ], wp_login_url() ) + ), + 'NameIDFormat' => $opt['NameIDFormat'], + 'x509cert' => get_option('onelogin_saml_advanced_settings_sp_x509cert'), + 'privateKey' => get_option('onelogin_saml_advanced_settings_sp_privatekey'), + #ITWallet: Adding the attributeConsumingService section in the metadata + 'attributeConsumingService' => array ( + 'serviceName' => (!empty($opt['sp_entity_id'])? $opt['sp_entity_id'] : 'php-saml'), + 'requestedAttributes' => array ( + '0' => array ( + 'name' => 'spidCode', + 'isRequired' => true + ), + '1' => array ( + 'name' => 'name', + 'isRequired' => true + ), + '2' => array ( + 'name' => 'familyName', + 'isRequired' => true + ), + '3' => array ( + 'name' => 'fiscalNumber', + 'isRequired' => true + ), + '4' => array ( + 'name' => 'email', + 'isRequired' => true + ) + ) + ) + ), + + 'idp' => array ( + 'entityId' => get_option('onelogin_saml_idp_entityid'), + 'singleSignOnService' => array ( + 'url' => get_option('onelogin_saml_idp_sso'), + ), + 'singleLogoutService' => array ( + 'url' => get_option('onelogin_saml_idp_slo'), + ), + 'x509cert' => get_option('onelogin_saml_idp_x509cert'), + ), + + 'security' => array ( + 'signMetadata' => true, #ITWallet: enables metadata signature + 'nameIdEncrypted' => $opt['nameIdEncrypted'] == 'on'? true: false, + 'authnRequestsSigned' => $opt['authnRequestsSigned'] == 'on'? true: false, + 'logoutRequestSigned' => $opt['logoutRequestSigned'] == 'on'? true: false, + 'logoutResponseSigned' => $opt['logoutResponseSigned'] == 'on'? true: false, + 'wantMessagesSigned' => $opt['wantMessagesSigned'] == 'on'? true: false, + 'wantAssertionsSigned' => $opt['wantAssertionsSigned'] == 'on'? true: false, + 'wantAssertionsEncrypted' => $opt['wantAssertionsEncrypted'] == 'on'? true: false, + 'wantNameId' => false, + 'requestedAuthnContext' => $opt['requestedAuthnContext'], + 'relaxDestinationValidation' => true, + 'lowercaseUrlencoding' => get_option(' + onelogin_saml_advanced_idp_lowercase_url_encoding', false), + 'signatureAlgorithm' => get_option('onelogin_saml_advanced_signaturealgorithm', 'http://www.w3.org/2001/04/xmldsig-more#rsa-sha256'), + 'digestAlgorithm' => get_option('onelogin_saml_advanced_digestalgorithm', 'http://www.w3.org/2001/04/xmldsig-more#rsa-sha256'), + ) +); diff --git a/example/satosa/.DS_Store b/example/satosa/.DS_Store deleted file mode 100644 index fff9134906fc94361e8d160159a80894cae83341..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8196 zcmeHM&5P4O6o2W5n^MFI3cFqmc&%&tp;bJXt#xI+2-c6os*7OYi=Vn8vV7*Gr-1{4GT0|R(w)1vQj?sKhb z6$6Ta1IYm09}KKiT0%~_WLpO|ECoQB!fsaZ8uI{#F@&^)oN~#acu$@^XacH<6hq^1 z)Em?sr6uH)OAZH(!$A|CHIboc%sb)?W)7OgrD_!eih)H24D31rHW2&-QvM!b9`8U8 znog%s-ywaEfw#Yoe~;*sTFrKdjh6b$_nqw4*>@X%f@=K*%Iij=vtQ95ldywvx9ySd zi74LMp40OK)BLO@lBx8e6@5j|>i6nhGO7p7VCYwygKhflCLxYJyKdUId+kvpckD88 zgJ#cd4;Y}=YNN^BJ3Y5WMpZI&TRy|qxkAtAnMQ7HJg$@rd81G)l_q&(e4%LOjdJPS zWRlU3pE`5#M&qH=cgYhPFYZ=iSA)a+d)Pk3D={2t8sNm^xh6{YrSJE@Y*ZNC0@o*V zS{JnvePB|@0{5ssa2?`yu!lxRdwuZbC@OE}nrIZ=WZ}a#KIsA%jbc$NM`7VjAq{Pu z#1<|>*=OS0x~z@*{rGJ2`q4ZaeFPu%9d9A|Pcr{0=DiJldBi0;;!qd$eSY)m%y&dT z=RQs^`Q;~F3R(83?|oms6E{?(j8!zoTd#kd^!NggwVY4;uPvpx`OgoX ztD+cK0s~3zW0mIrSN4AYzl2DX3&nt9V80m9Qnh-mir!~Wp}PY~V26SA0ajY5-IPlP p!G@a9ewL1-4F531YeVQPA*WoT2Fuc41jL-z>ilO@p_&84z)vUCdx`)6 diff --git a/example/satosa/css/style.css b/example/satosa/css/style.css index cda99692..7a333d16 100644 --- a/example/satosa/css/style.css +++ b/example/satosa/css/style.css @@ -283,4 +283,56 @@ .buttonicon{ margin-right: 0.5em; - } \ No newline at end of file + } + + .qr-code-title{ + font-size: 30px; + } + + .it-wallet-logo{ + height: 2em; + width: 100px !important; + width: fit-content; + } + + .title-wallet{ + color:#0065cc; + } + + .flex-container{ + display: flex; + align-items: center; + } + + .border-md-bottom-title{ + margin-bottom: 1em; + padding-bottom: 1em; + border-bottom: 1px solid #dee2e6; + + } + + .main-title{ + text-align:center; + background-color: aqua; + } + + .text-helper{ + margin-top:2em; + margin-bottom:1em; + } + + + + /* SPINNER */ + + .fullscreen-overlay { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(232, 232, 232, 0.5); + display: flex; + justify-content: center; + align-items: center; +} diff --git a/example/satosa/disco.html b/example/satosa/disco.html index ee5c1870..bbff2df6 100644 --- a/example/satosa/disco.html +++ b/example/satosa/disco.html @@ -148,7 +148,7 @@

IT Wallet

- diff --git a/example/satosa/qr-code-page.html b/example/satosa/qr-code-page.html new file mode 100644 index 00000000..8a8ae8fd --- /dev/null +++ b/example/satosa/qr-code-page.html @@ -0,0 +1,66 @@ + + + + + + IT Wallet QRCode + + + + + + + +
+
+
+
+
+
+
+
+ +
+

IT Wallet

+
+
+
Richiesta di accesso con IT Wallet
+
+
+
+ Logo CIE +

Accedi più rapidamente. Inquadra il QR Code con l'App IT Wallet

+
+
+
+
+
+
+
+ Le informazioni e la disposizione degli elementi visivi di questa pagina non sono definiti a livello normativo e potrebbero essere soggetti a modifiche. +
+
+
+
+ + + + +
+
+
+
+ Caricamento... +
+
+ + + From 989d56ee835b701bbd5b881f94b5bf2bec08ce7f Mon Sep 17 00:00:00 2001 From: Pasquale De Rose Date: Thu, 3 Aug 2023 16:53:52 +0200 Subject: [PATCH 24/53] fix: refactored update --- pyeudiw/federation/trust_chain_validator.py | 49 ++++++++++----------- 1 file changed, 24 insertions(+), 25 deletions(-) diff --git a/pyeudiw/federation/trust_chain_validator.py b/pyeudiw/federation/trust_chain_validator.py index e558096d..a4828ac8 100644 --- a/pyeudiw/federation/trust_chain_validator.py +++ b/pyeudiw/federation/trust_chain_validator.py @@ -126,6 +126,23 @@ def is_valid(self): fed_jwks = st_payload["jwks"]["keys"] return True + + def _retrieve_ec(self, iss: str, httpc_params: dict = {}): + jwt = get_entity_configurations(iss, httpc_params) + if not jwt: + raise HttpError( + f"Cannot get the Entity Configuration from {iss}") + + # is something weird these will raise their Exceptions + return jwt[0] + + def _retrieve_es(self, download_url: str, iss: str, httpc_params: dict = {}): + jwt = get_entity_statements([download_url], httpc_params) + if not jwt: + logger.warning( + f"Cannot fast refresh Entity Statement {iss}" + ) + return jwt[0] def update(self, httpc_params: dict = {}): @@ -135,30 +152,15 @@ def update(self, httpc_params: dict = {}): if not is_es(payload): # It's an entity configuration - jwt = get_entity_configurations(iss, httpc_params) - if not jwt: - raise HttpError( - f"Cannot get the Entity Configuration from {iss}") - - # is something weird these will raise their Exceptions - self.updated_trust_chain.append(jwt[0]) + self.updated_trust_chain.append(self._retrieve_ec(iss, httpc_params)) continue # if it has the source_endpoint let's try a fast renewal download_url: str = payload.get("source_endpoint", "") if download_url: - jwt = get_entity_statements([download_url], self.httpc_params) - if not jwt: - logger.warning( - f"Cannot fast refresh Entity Statement {iss}" - ) + jwt = self._retrieve_es(download_url, iss, httpc_params) else: - ec = get_entity_configurations(iss, httpc_params) - if not jwt: - raise HttpError( - f"Cannot get the Entity Configuration from {iss} " - "since the fast refresh is not available" - ) + ec = self._retrieve_ec(iss, httpc_params) ec_data = unpad_jwt_payload(ec) try: # get superior fetch url @@ -170,12 +172,9 @@ def update(self, httpc_params: dict = {}): "Missing federation_fetch_endpoint in " f"federation_entity metadata for {ec_data['sub']}" ) - jwt = get_entity_statements([fetch_api_url], self.httpc_params) - if not jwt: - raise HttpError( - f"Cannot get the Entity Statement from {fetch_api_url}" - ) - - self.updated_trust_chain.append(jwt[0]) + + jwt = self._retrieve_es(fetch_api_url, iss, httpc_params) + + self.updated_trust_chain.append(jwt) return self.is_valid From ddcd727617d11ca74837e2653feb33a95245eb40 Mon Sep 17 00:00:00 2001 From: Pasquale De Rose Date: Thu, 3 Aug 2023 16:56:52 +0200 Subject: [PATCH 25/53] fix: fixed return value in _retrieve_es --- pyeudiw/federation/trust_chain_validator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyeudiw/federation/trust_chain_validator.py b/pyeudiw/federation/trust_chain_validator.py index a4828ac8..2d230164 100644 --- a/pyeudiw/federation/trust_chain_validator.py +++ b/pyeudiw/federation/trust_chain_validator.py @@ -142,7 +142,7 @@ def _retrieve_es(self, download_url: str, iss: str, httpc_params: dict = {}): logger.warning( f"Cannot fast refresh Entity Statement {iss}" ) - return jwt[0] + return jwt[0] if jwt else None def update(self, httpc_params: dict = {}): From 51fd3d77776206a95f308da729ce54e3bac82ed7 Mon Sep 17 00:00:00 2001 From: Pasquale De Rose Date: Thu, 3 Aug 2023 17:57:03 +0200 Subject: [PATCH 26/53] fix: refactored _update_st --- pyeudiw/federation/trust_chain_validator.py | 66 +++++++++++---------- 1 file changed, 34 insertions(+), 32 deletions(-) diff --git a/pyeudiw/federation/trust_chain_validator.py b/pyeudiw/federation/trust_chain_validator.py index 2d230164..b2d5d8e8 100644 --- a/pyeudiw/federation/trust_chain_validator.py +++ b/pyeudiw/federation/trust_chain_validator.py @@ -129,7 +129,7 @@ def is_valid(self): def _retrieve_ec(self, iss: str, httpc_params: dict = {}): jwt = get_entity_configurations(iss, httpc_params) - if not jwt: + if len(jwt) == 0: raise HttpError( f"Cannot get the Entity Configuration from {iss}") @@ -137,44 +137,46 @@ def _retrieve_ec(self, iss: str, httpc_params: dict = {}): return jwt[0] def _retrieve_es(self, download_url: str, iss: str, httpc_params: dict = {}): - jwt = get_entity_statements([download_url], httpc_params) + jwt = get_entity_statements(download_url, httpc_params) if not jwt: logger.warning( f"Cannot fast refresh Entity Statement {iss}" ) - return jwt[0] if jwt else None + return jwt + + def _update_st(self, st, httpc_params: dict = {}): + payload = unpad_jwt_payload(st) + iss = payload['iss'] + + if not is_es(payload): + # It's an entity configuration + return self._retrieve_ec(iss, httpc_params) + + # if it has the source_endpoint let's try a fast renewal + download_url: str = payload.get("source_endpoint", "") + if download_url: + jwt = self._retrieve_es(download_url, iss, httpc_params) + else: + ec = self._retrieve_ec(iss, httpc_params) + ec_data = unpad_jwt_payload(ec) + try: + # get superior fetch url + fetch_api_url = ec_data.payload["metadata"]["federation_entity"][ + "federation_fetch_endpoint" + ] + except KeyError: + logger.warning( + "Missing federation_fetch_endpoint in " + f"federation_entity metadata for {ec_data['sub']}" + ) + + jwt = self._retrieve_es(fetch_api_url, iss, httpc_params) + + return jwt def update(self, httpc_params: dict = {}): - for st in self.static_trust_chain: - payload = unpad_jwt_payload(st) - iss = payload['iss'] - - if not is_es(payload): - # It's an entity configuration - self.updated_trust_chain.append(self._retrieve_ec(iss, httpc_params)) - continue - - # if it has the source_endpoint let's try a fast renewal - download_url: str = payload.get("source_endpoint", "") - if download_url: - jwt = self._retrieve_es(download_url, iss, httpc_params) - else: - ec = self._retrieve_ec(iss, httpc_params) - ec_data = unpad_jwt_payload(ec) - try: - # get superior fetch url - fetch_api_url = ec_data.payload["metadata"]["federation_entity"][ - "federation_fetch_endpoint" - ] - except KeyError: - logger.warning( - "Missing federation_fetch_endpoint in " - f"federation_entity metadata for {ec_data['sub']}" - ) - - jwt = self._retrieve_es(fetch_api_url, iss, httpc_params) - + jwt = self._update_st(st, httpc_params) self.updated_trust_chain.append(jwt) return self.is_valid From ff26a69c55aaaa04d3fea871655e8b1e5e9faae6 Mon Sep 17 00:00:00 2001 From: Pasquale De Rose Date: Thu, 3 Aug 2023 19:17:13 +0200 Subject: [PATCH 27/53] test: added some test for update function --- .../test_static_trust_chain_validator.py | 81 ++++++++++++++++++- 1 file changed, 78 insertions(+), 3 deletions(-) diff --git a/pyeudiw/tests/federation/test_static_trust_chain_validator.py b/pyeudiw/tests/federation/test_static_trust_chain_validator.py index 9b7fc803..688b0f5b 100644 --- a/pyeudiw/tests/federation/test_static_trust_chain_validator.py +++ b/pyeudiw/tests/federation/test_static_trust_chain_validator.py @@ -1,7 +1,6 @@ import copy - import uuid - +from pytest import MonkeyPatch from pyeudiw.federation.trust_chain_validator import StaticTrustChainValidator @@ -11,6 +10,8 @@ from pyeudiw.tools.utils import iat_now, exp_from_now +from pyeudiw.federation.schema import is_es + # Create private keys leaf_jwk = new_rsa_key() intermediate_jwk = new_rsa_key() @@ -286,6 +287,7 @@ def test_is_valid(): assert StaticTrustChainValidator( trust_chain, [ta_jwk.serialize()]).is_valid + invalid_intermediate = copy.deepcopy(intermediate_es) invalid_leaf_jwk = copy.deepcopy(leaf_jwk.serialize()) invalid_leaf_jwk["kid"] = str(uuid.uuid4()) @@ -304,4 +306,77 @@ def test_is_valid(): def test_is_valid_equals_false(): assert StaticTrustChainValidator( - invalid_trust_chain, [ta_jwk.serialize()]).is_valid == False \ No newline at end of file + invalid_trust_chain, [ta_jwk.serialize()]).is_valid == False + +from unittest.mock import Mock + +def test_retrieve_ec(): + import pyeudiw.federation.trust_chain_validator as tcv_test + tcv_test.get_entity_configurations = Mock(return_value=[leaf_ec_signed]) + + assert tcv_test.StaticTrustChainValidator( + invalid_trust_chain, [ta_jwk.serialize()])._retrieve_ec("https://trust-anchor.example.eu") == leaf_ec_signed + +def test_retrieve_ec_fails(): + import pyeudiw.federation.trust_chain_validator as tcv_test + tcv_test.get_entity_configurations = Mock(return_value=[]) + + try: + StaticTrustChainValidator( + invalid_trust_chain, [ta_jwk.serialize()])._retrieve_ec("https://trust-anchor.example.eu") + except tcv_test.HttpError as e: + return + +def test_retrieve_es(): + import pyeudiw.federation.trust_chain_validator as tcv_test + tcv_test.get_entity_statements = Mock(return_value=ta_es) + + assert tcv_test.StaticTrustChainValidator( + invalid_trust_chain, [ta_jwk.serialize()])._retrieve_es("https://trust-anchor.example.eu", "https://trust-anchor.example.eu") == ta_es + +def test_retrieve_es_output_is_none(): + import pyeudiw.federation.trust_chain_validator as tcv_test + tcv_test.get_entity_statements = Mock(return_value=None) + + assert tcv_test.StaticTrustChainValidator( + invalid_trust_chain, [ta_jwk.serialize()])._retrieve_es("https://trust-anchor.example.eu", "https://trust-anchor.example.eu") == None + +def test_update_st_ec_case(): + import unittest.mock as mock + import pyeudiw.federation.trust_chain_validator as tcv_test + + def mock_method(*args, **kwargs): + if args[0] == "https://rp.example.it": + return [leaf_ec_signed] + + raise Exception("Wrong issuer") + + with mock.patch.object(tcv_test, "get_entity_configurations", mock_method): + assert tcv_test.StaticTrustChainValidator( + invalid_trust_chain, [ta_jwk.serialize()])._update_st(leaf_ec_signed) == leaf_ec_signed + +def test_update_st_es_case_source_endpoint(): + import unittest.mock as mock + import pyeudiw.federation.trust_chain_validator as tcv_test + + ta_es = { + "exp": EXP, + "iat": NOW, + "iss": "https://trust-anchor.example.eu", + "sub": "https://intermediate.eidas.example.org", + 'jwks': {"keys": []}, + "source_endpoint": "https://rp.example.it" + } + + ta_signer = JWS(ta_es, alg="RS256", typ="application/entity-statement+jwt") + ta_es_signed = ta_signer.sign_compact([ta_jwk]) + + def mock_method(*args, **kwargs): + if args[0] == "https://rp.example.it": + return leaf_ec_signed + + raise Exception("Wrong issuer") + + with mock.patch.object(tcv_test, "get_entity_statements", mock_method): + assert tcv_test.StaticTrustChainValidator( + invalid_trust_chain, [ta_jwk.serialize()])._update_st(ta_es_signed) == leaf_ec_signed \ No newline at end of file From 9475d9859f7f2d841115d03ab36b9a4254a9f1b3 Mon Sep 17 00:00:00 2001 From: Salvatore Laiso <32564922+salvatorelaiso@users.noreply.github.com> Date: Thu, 3 Aug 2023 22:43:48 +0200 Subject: [PATCH 28/53] feat: add entity configuration schema validation (#79) * fix: Optional type annotations requires default value `None` * feat: add entity configuration schema * chore: linting * feat: add entity configuration validation with optional context * fix: default algorithms * chore: linting * refactor: refactor schema --- pyeudiw/federation/__init__.py | 0 pyeudiw/federation/schemas/__init__.py | 0 .../schemas/entity_configuration.py | 59 ++++++++++++ .../federation/schemas/federation_entity.py | 9 ++ .../schemas/wallet_relying_party.py | 95 +++++++++++++++++++ pyeudiw/jwk/schema.py | 8 +- pyeudiw/openid4vp/schema.py | 25 ++++- pyeudiw/presentation_exchange/__init__.py | 0 .../presentation_exchange/schemas/__init__.py | 0 .../schemas/presentation_definition.py | 18 ++++ 10 files changed, 205 insertions(+), 9 deletions(-) create mode 100644 pyeudiw/federation/__init__.py create mode 100644 pyeudiw/federation/schemas/__init__.py create mode 100644 pyeudiw/federation/schemas/entity_configuration.py create mode 100644 pyeudiw/federation/schemas/federation_entity.py create mode 100644 pyeudiw/federation/schemas/wallet_relying_party.py create mode 100644 pyeudiw/presentation_exchange/__init__.py create mode 100644 pyeudiw/presentation_exchange/schemas/__init__.py create mode 100644 pyeudiw/presentation_exchange/schemas/presentation_definition.py diff --git a/pyeudiw/federation/__init__.py b/pyeudiw/federation/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/pyeudiw/federation/schemas/__init__.py b/pyeudiw/federation/schemas/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/pyeudiw/federation/schemas/entity_configuration.py b/pyeudiw/federation/schemas/entity_configuration.py new file mode 100644 index 00000000..09fe7bc7 --- /dev/null +++ b/pyeudiw/federation/schemas/entity_configuration.py @@ -0,0 +1,59 @@ +from typing import List, Literal + +from pydantic import BaseModel, HttpUrl, field_validator +from pydantic_core.core_schema import FieldValidationInfo + +from pyeudiw.jwk.schema import JwksSchema +from pyeudiw.federation.schemas.federation_entity import FederationEntity +from pyeudiw.federation.schemas.wallet_relying_party import WalletRelyingParty + + +_default_supported_algorithms = [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512", + "PS256", + "PS384", + "PS512", +] + + +def _check_alg(alg: str, info: FieldValidationInfo): + if not info.context: + supported_algorithms = _default_supported_algorithms + else: + supported_algorithms = info.context.get( + "supported_algorithms", _default_supported_algorithms) + + if alg not in supported_algorithms: + raise ValueError(f"Unsupported algorithm: {alg}.\n " + f"Supported algorithms: {supported_algorithms}.\n") + + +class EntityConfigurationHeader(BaseModel): + alg: str + kid: str + typ: Literal["entity-statement+jwt"] + + @field_validator("alg") + @classmethod + def check_alg(cls, alg, info: FieldValidationInfo): + return _check_alg(alg, info) + + +class EntityConfigurationMetadataSchema(BaseModel): + wallet_relying_party: WalletRelyingParty + federation_entity: FederationEntity + + +class EntityConfigurationPayload(BaseModel): + iat: int + exp: int + iss: HttpUrl + sub: HttpUrl + jwks: JwksSchema + metadata: EntityConfigurationMetadataSchema + authority_hints: List[HttpUrl] diff --git a/pyeudiw/federation/schemas/federation_entity.py b/pyeudiw/federation/schemas/federation_entity.py new file mode 100644 index 00000000..b37985e0 --- /dev/null +++ b/pyeudiw/federation/schemas/federation_entity.py @@ -0,0 +1,9 @@ +from pydantic import BaseModel, HttpUrl + + +class FederationEntity(BaseModel): + organization_name: str + homepage_uri: HttpUrl + policy_uri: HttpUrl + logo_uri: HttpUrl + contacts: list[str] diff --git a/pyeudiw/federation/schemas/wallet_relying_party.py b/pyeudiw/federation/schemas/wallet_relying_party.py new file mode 100644 index 00000000..2155afae --- /dev/null +++ b/pyeudiw/federation/schemas/wallet_relying_party.py @@ -0,0 +1,95 @@ +from typing import List, Dict, Any + +from pydantic import BaseModel, HttpUrl, field_validator +from pydantic_core.core_schema import FieldValidationInfo + +from pyeudiw.jwk.schema import JwksSchema + +_default_algorithms = { + "authorization_signed_response_alg": [ + "RS256", + "ES256" + ], + "authorization_encrypted_response_alg": [ + "RSA-OAEP", + "RSA-OAEP-256", + ], + "authorization_encrypted_response_enc": [ + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + "A128GCM", + "A192GCM", + "A256GCM", + ], + "id_token_signed_response_alg": [ + "RS256", + "ES256" + ], + "id_token_encrypted_response_alg": [ + "RSA-OAEP", + "RSA-OAEP-256", + ], + "id_token_encrypted_response_enc": [ + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + "A128GCM", + "A192GCM", + "A256GCM", + ] +} + + +class WalletRelyingParty(BaseModel): + application_type: str + client_id: HttpUrl + client_name: str + jwks: JwksSchema + contacts: List[str] + request_uris: List[HttpUrl] + redirect_uris: List[HttpUrl] + default_acr_values: List[HttpUrl] + vp_formats: Dict[str, Dict[str, List[str]]] + presentation_definitions: List[Any] + default_max_age: int + authorization_signed_response_alg: List[str] + authorization_encrypted_response_alg: List[str] + authorization_encrypted_response_enc: List[str] + subject_type: str + require_auth_time: bool + id_token_signed_response_alg: List[str] + id_token_encrypted_response_alg: List[str] + id_token_encrypted_response_enc: List[str] + + @classmethod + def _get_algorithms_supported(cls, name: str, info: FieldValidationInfo) -> list[str]: + if not info.context: + return _default_algorithms[name] + return info.context.get(name, _default_algorithms[name]) + + @classmethod + def _check_algorithms(cls, algorithms: list[str], name: str, info: FieldValidationInfo): + supported_algorithms = WalletRelyingParty._get_algorithms_supported( + name, info) + for alg in algorithms: + if alg not in supported_algorithms: + raise ValueError(f"Unsupported algorithm: {alg} for {name}.\n " + f"Supported algorithms: {supported_algorithms}.\n") + return algorithms + + @field_validator( + "authorization_signed_response_alg", + "authorization_encrypted_response_alg", + "authorization_encrypted_response_enc", + "id_token_signed_response_alg", + "id_token_encrypted_response_alg", + "id_token_encrypted_response_enc" + ) + @classmethod + def check_alg(cls, value, info: FieldValidationInfo): + return WalletRelyingParty._check_algorithms( + value, + info.field_name, + info + ) diff --git a/pyeudiw/jwk/schema.py b/pyeudiw/jwk/schema.py index a906b702..3e2acf4e 100644 --- a/pyeudiw/jwk/schema.py +++ b/pyeudiw/jwk/schema.py @@ -19,10 +19,10 @@ class JwkSchema(BaseModel): "PS384", "PS512", ] - ] - use: Optional[Literal["sig", "enc"]] - n: Optional[str] # Base64urlUInt-encoded - e: Optional[str] # Base64urlUInt-encoded + ] = None + use: Optional[Literal["sig", "enc"]] = None + n: Optional[str] = None # Base64urlUInt-encoded + e: Optional[str] = None # Base64urlUInt-encoded def check_value_for_rsa(value, name, values): if "EC" == values.get("kty") and value: diff --git a/pyeudiw/openid4vp/schema.py b/pyeudiw/openid4vp/schema.py index bc39825f..5c0e3a38 100644 --- a/pyeudiw/openid4vp/schema.py +++ b/pyeudiw/openid4vp/schema.py @@ -35,12 +35,27 @@ class ResponseSchema(BaseModel): vp_model_name = "JwtVpJson" vc_model_name = "JwtVcJson" -_default_supported_algorithms = [] + +_default_supported_algorithms = [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512", + "PS256", + "PS384", + "PS512", +] def check_alg(alg: str, info: FieldValidationInfo): - supported_algorithms = info.context and info.context.get( - "supported_algorithms") or _default_supported_algorithms + if not info.context: + supported_algorithms = _default_supported_algorithms + else: + supported_algorithms = info.context.get( + "supported_algorithms", _default_supported_algorithms) + if alg not in supported_algorithms: raise ValueError(f"Unsupported algorithm: {alg}.\n " f"Supported algorithms: {supported_algorithms}.\n") @@ -206,8 +221,8 @@ class WalletInstanceAttestation(BaseModel): alg=(str, ...), typ=(Literal["wallet-attestation+jwt"], ...), kid=(str, ...), - x5c=(list[str], ...), - trust_chain=(list[str], ...)) + x5c=(list[str], None), + trust_chain=(list[str], None)) payload: create_model(payload_model_name, iss=(HttpUrl, ...), diff --git a/pyeudiw/presentation_exchange/__init__.py b/pyeudiw/presentation_exchange/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/pyeudiw/presentation_exchange/schemas/__init__.py b/pyeudiw/presentation_exchange/schemas/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/pyeudiw/presentation_exchange/schemas/presentation_definition.py b/pyeudiw/presentation_exchange/schemas/presentation_definition.py new file mode 100644 index 00000000..33fedbc6 --- /dev/null +++ b/pyeudiw/presentation_exchange/schemas/presentation_definition.py @@ -0,0 +1,18 @@ +from typing import Optional, List, Literal, Dict, Any + +from pydantic import BaseModel + + +class InputDescriptor(BaseModel): + id: str + name: Optional[str] = None + purpose: Optional[str] = None + format: Optional[str | dict[str, Any]] = None + jwt: Optional[Dict[Literal["alg"], List[str]]] = None + mso_mdoc: Optional[Dict[Literal["alg"], List[str]]] = None + constraints: Optional[Dict[str, Any]] = None + + +class PresentationDefinition(BaseModel): + id: str + input_descriptors: List[InputDescriptor] From 293a7f29a4ed235c19103f09cc5e5d8e8e5d221f Mon Sep 17 00:00:00 2001 From: Pasquale De Rose Date: Fri, 4 Aug 2023 10:23:48 +0200 Subject: [PATCH 29/53] fix: moved imports --- .../test_static_trust_chain_validator.py | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/pyeudiw/tests/federation/test_static_trust_chain_validator.py b/pyeudiw/tests/federation/test_static_trust_chain_validator.py index 688b0f5b..c3647213 100644 --- a/pyeudiw/tests/federation/test_static_trust_chain_validator.py +++ b/pyeudiw/tests/federation/test_static_trust_chain_validator.py @@ -1,7 +1,9 @@ import copy import uuid -from pytest import MonkeyPatch +import unittest.mock as mock +from unittest.mock import Mock from pyeudiw.federation.trust_chain_validator import StaticTrustChainValidator +import pyeudiw.federation.trust_chain_validator as tcv_test # pip install cryptojwt @@ -308,17 +310,14 @@ def test_is_valid_equals_false(): assert StaticTrustChainValidator( invalid_trust_chain, [ta_jwk.serialize()]).is_valid == False -from unittest.mock import Mock def test_retrieve_ec(): - import pyeudiw.federation.trust_chain_validator as tcv_test tcv_test.get_entity_configurations = Mock(return_value=[leaf_ec_signed]) assert tcv_test.StaticTrustChainValidator( invalid_trust_chain, [ta_jwk.serialize()])._retrieve_ec("https://trust-anchor.example.eu") == leaf_ec_signed def test_retrieve_ec_fails(): - import pyeudiw.federation.trust_chain_validator as tcv_test tcv_test.get_entity_configurations = Mock(return_value=[]) try: @@ -328,23 +327,18 @@ def test_retrieve_ec_fails(): return def test_retrieve_es(): - import pyeudiw.federation.trust_chain_validator as tcv_test tcv_test.get_entity_statements = Mock(return_value=ta_es) assert tcv_test.StaticTrustChainValidator( invalid_trust_chain, [ta_jwk.serialize()])._retrieve_es("https://trust-anchor.example.eu", "https://trust-anchor.example.eu") == ta_es def test_retrieve_es_output_is_none(): - import pyeudiw.federation.trust_chain_validator as tcv_test tcv_test.get_entity_statements = Mock(return_value=None) assert tcv_test.StaticTrustChainValidator( invalid_trust_chain, [ta_jwk.serialize()])._retrieve_es("https://trust-anchor.example.eu", "https://trust-anchor.example.eu") == None -def test_update_st_ec_case(): - import unittest.mock as mock - import pyeudiw.federation.trust_chain_validator as tcv_test - +def test_update_st_ec_case(): def mock_method(*args, **kwargs): if args[0] == "https://rp.example.it": return [leaf_ec_signed] @@ -355,10 +349,7 @@ def mock_method(*args, **kwargs): assert tcv_test.StaticTrustChainValidator( invalid_trust_chain, [ta_jwk.serialize()])._update_st(leaf_ec_signed) == leaf_ec_signed -def test_update_st_es_case_source_endpoint(): - import unittest.mock as mock - import pyeudiw.federation.trust_chain_validator as tcv_test - +def test_update_st_es_case_source_endpoint(): ta_es = { "exp": EXP, "iat": NOW, From 1f98e14f2d51af3ff2db0eaba22304da6288ab33 Mon Sep 17 00:00:00 2001 From: Pasquale De Rose Date: Fri, 4 Aug 2023 11:42:20 +0200 Subject: [PATCH 30/53] fix: fixed variable retriving --- pyeudiw/federation/trust_chain_validator.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pyeudiw/federation/trust_chain_validator.py b/pyeudiw/federation/trust_chain_validator.py index b2d5d8e8..b2188daa 100644 --- a/pyeudiw/federation/trust_chain_validator.py +++ b/pyeudiw/federation/trust_chain_validator.py @@ -159,9 +159,11 @@ def _update_st(self, st, httpc_params: dict = {}): else: ec = self._retrieve_ec(iss, httpc_params) ec_data = unpad_jwt_payload(ec) + fetch_api_url = None + try: # get superior fetch url - fetch_api_url = ec_data.payload["metadata"]["federation_entity"][ + fetch_api_url = ec_data["metadata"]["federation_entity"][ "federation_fetch_endpoint" ] except KeyError: From 008ace38cbfeee0e98fabbfc04378137b69f8221 Mon Sep 17 00:00:00 2001 From: Pasquale De Rose Date: Fri, 4 Aug 2023 11:45:17 +0200 Subject: [PATCH 31/53] test: added test test_update_st_es_case_source_endpoint --- .../test_static_trust_chain_validator.py | 30 ++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/pyeudiw/tests/federation/test_static_trust_chain_validator.py b/pyeudiw/tests/federation/test_static_trust_chain_validator.py index c3647213..5b7a2bdb 100644 --- a/pyeudiw/tests/federation/test_static_trust_chain_validator.py +++ b/pyeudiw/tests/federation/test_static_trust_chain_validator.py @@ -163,6 +163,7 @@ "homepage_uri": "https://verifier.example.org/home", "policy_uri": "https://verifier.example.org/policy", "logo_uri": "https://verifier.example.org/static/logo.svg", + "federation_fetch_endpoint": "https://verifier.example.org/fetch", "contacts": [ "tech@verifier.example.org" ] @@ -370,4 +371,31 @@ def mock_method(*args, **kwargs): with mock.patch.object(tcv_test, "get_entity_statements", mock_method): assert tcv_test.StaticTrustChainValidator( - invalid_trust_chain, [ta_jwk.serialize()])._update_st(ta_es_signed) == leaf_ec_signed \ No newline at end of file + invalid_trust_chain, [ta_jwk.serialize()])._update_st(ta_es_signed) == leaf_ec_signed + +def test_update_st_es_case_source_endpoint(): + ta_es = { + "exp": EXP, + "iat": NOW, + "iss": "https://trust-anchor.example.eu", + "sub": "https://intermediate.eidas.example.org", + 'jwks': {"keys": []}, + } + + ta_signer = JWS(ta_es, alg="RS256", typ="application/entity-statement+jwt") + ta_es_signed = ta_signer.sign_compact([ta_jwk]) + + def mock_method_ec(*args, **kwargs): + if args[0] == "https://trust-anchor.example.eu": + return [leaf_ec_signed] + raise Exception("Wrong issuer") + + def mock_method_es(*args, **kwargs): + if args[0] == "https://verifier.example.org/fetch": + return leaf_ec_signed + raise Exception("Wrong issuer") + + with mock.patch.object(tcv_test, "get_entity_statements", mock_method_es): + with mock.patch.object(tcv_test, "get_entity_configurations", mock_method_ec): + assert tcv_test.StaticTrustChainValidator( + invalid_trust_chain, [ta_jwk.serialize()])._update_st(ta_es_signed) == leaf_ec_signed From 6614618c98872554fa7fff0f89930859253f4e99 Mon Sep 17 00:00:00 2001 From: Pasquale De Rose Date: Fri, 4 Aug 2023 12:13:06 +0200 Subject: [PATCH 32/53] feat: added is_ec --- pyeudiw/federation/schema.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pyeudiw/federation/schema.py b/pyeudiw/federation/schema.py index 630e9234..f65167af 100644 --- a/pyeudiw/federation/schema.py +++ b/pyeudiw/federation/schema.py @@ -19,3 +19,10 @@ def is_es(payload: dict) -> bool: return True except Exception: return False + +def is_ec(payload: dict) -> bool: + try: + ESSchema(**payload) + return False + except Exception: + return True \ No newline at end of file From 3425c59d2964e05a51add51d5edcf0b427f5bbe2 Mon Sep 17 00:00:00 2001 From: MurruAlessio <138689926+MurruAlessio@users.noreply.github.com> Date: Fri, 4 Aug 2023 12:47:49 +0200 Subject: [PATCH 33/53] Satosa disco login (#78) * removed DS_Store file * feat: added Qrcode page * remover DS_Store file * fix: https://github.com/italia/eudi-wallet-it-python/issues/57 moved static element in subfolder * feat: qrcode page encapsulated in iframe + modifications according to request https://github.com/italia/eudi-wallet-it-python/issues/53#issuecomment-1662146585 * fix: it wallet endpoint * feat: Added polling scripts for scenarios 200, 201, 500 and 404 * fix: changed IT Wallet icon * fix: changed path for css and js resources (need to add '--check-static ./static/' when uwsgi fo IAM Proxy is started) --------- Co-authored-by: Alessio Murru --- example/satosa/bootstrap-italia/.DS_Store | Bin 6148 -> 0 bytes .../satosa/bootstrap-italia/fonts/.DS_Store | Bin 6148 -> 0 bytes example/satosa/bootstrap-italia/svg/.DS_Store | Bin 6148 -> 0 bytes example/satosa/disco.html | 89 +- example/satosa/eidas/.DS_Store | Bin 6148 -> 0 bytes example/satosa/spid/.DS_Store | Bin 6148 -> 0 bytes example/satosa/spid/fonts/.DS_Store | Bin 6148 -> 0 bytes .../assets/upload-drag-drop-icon.svg | 0 .../bootstrap-italia-comuni.js | 0 .../bootstrap-italia/bootstrap-italia.esm.js | 0 .../bootstrap-italia.esm.js.map | 0 .../css/bootstrap-italia-comuni.min.css | 0 .../css/bootstrap-italia.min.css | 0 .../css/bootstrap-italia.min.css.map | 0 .../bootstrap-italia/fonts/Lora/OFL.txt | 0 .../Lora/lora-v20-latin-ext_latin-700.eot | Bin .../Lora/lora-v20-latin-ext_latin-700.svg | 0 .../Lora/lora-v20-latin-ext_latin-700.ttf | Bin .../Lora/lora-v20-latin-ext_latin-700.woff | Bin .../Lora/lora-v20-latin-ext_latin-700.woff2 | Bin .../lora-v20-latin-ext_latin-700italic.eot | Bin .../lora-v20-latin-ext_latin-700italic.svg | 0 .../lora-v20-latin-ext_latin-700italic.ttf | Bin .../lora-v20-latin-ext_latin-700italic.woff | Bin .../lora-v20-latin-ext_latin-700italic.woff2 | Bin .../Lora/lora-v20-latin-ext_latin-italic.eot | Bin .../Lora/lora-v20-latin-ext_latin-italic.svg | 0 .../Lora/lora-v20-latin-ext_latin-italic.ttf | Bin .../Lora/lora-v20-latin-ext_latin-italic.woff | Bin .../lora-v20-latin-ext_latin-italic.woff2 | Bin .../Lora/lora-v20-latin-ext_latin-regular.eot | Bin .../Lora/lora-v20-latin-ext_latin-regular.svg | 0 .../Lora/lora-v20-latin-ext_latin-regular.ttf | Bin .../lora-v20-latin-ext_latin-regular.woff | Bin .../lora-v20-latin-ext_latin-regular.woff2 | Bin .../fonts/Roboto_Mono/LICENSE.txt | 0 .../roboto-mono-v13-latin-ext_latin-700.eot | Bin .../roboto-mono-v13-latin-ext_latin-700.svg | 0 .../roboto-mono-v13-latin-ext_latin-700.ttf | Bin .../roboto-mono-v13-latin-ext_latin-700.woff | Bin .../roboto-mono-v13-latin-ext_latin-700.woff2 | Bin ...oto-mono-v13-latin-ext_latin-700italic.eot | Bin ...oto-mono-v13-latin-ext_latin-700italic.svg | 0 ...oto-mono-v13-latin-ext_latin-700italic.ttf | Bin ...to-mono-v13-latin-ext_latin-700italic.woff | Bin ...o-mono-v13-latin-ext_latin-700italic.woff2 | Bin ...roboto-mono-v13-latin-ext_latin-italic.eot | Bin ...roboto-mono-v13-latin-ext_latin-italic.svg | 0 ...roboto-mono-v13-latin-ext_latin-italic.ttf | Bin ...oboto-mono-v13-latin-ext_latin-italic.woff | Bin ...boto-mono-v13-latin-ext_latin-italic.woff2 | Bin ...oboto-mono-v13-latin-ext_latin-regular.eot | Bin ...oboto-mono-v13-latin-ext_latin-regular.svg | 0 ...oboto-mono-v13-latin-ext_latin-regular.ttf | Bin ...boto-mono-v13-latin-ext_latin-regular.woff | Bin ...oto-mono-v13-latin-ext_latin-regular.woff2 | Bin .../fonts/Titillium_Web/OFL.txt | 0 .../titillium-web-v10-latin-ext_latin-300.eot | Bin .../titillium-web-v10-latin-ext_latin-300.svg | 0 .../titillium-web-v10-latin-ext_latin-300.ttf | Bin ...titillium-web-v10-latin-ext_latin-300.woff | Bin ...itillium-web-v10-latin-ext_latin-300.woff2 | Bin ...lium-web-v10-latin-ext_latin-300italic.eot | Bin ...lium-web-v10-latin-ext_latin-300italic.svg | 0 ...lium-web-v10-latin-ext_latin-300italic.ttf | Bin ...ium-web-v10-latin-ext_latin-300italic.woff | Bin ...um-web-v10-latin-ext_latin-300italic.woff2 | Bin .../titillium-web-v10-latin-ext_latin-600.eot | Bin .../titillium-web-v10-latin-ext_latin-600.svg | 0 .../titillium-web-v10-latin-ext_latin-600.ttf | Bin ...titillium-web-v10-latin-ext_latin-600.woff | Bin ...itillium-web-v10-latin-ext_latin-600.woff2 | Bin ...lium-web-v10-latin-ext_latin-600italic.eot | Bin ...lium-web-v10-latin-ext_latin-600italic.svg | 0 ...lium-web-v10-latin-ext_latin-600italic.ttf | Bin ...ium-web-v10-latin-ext_latin-600italic.woff | Bin ...um-web-v10-latin-ext_latin-600italic.woff2 | Bin .../titillium-web-v10-latin-ext_latin-700.eot | Bin .../titillium-web-v10-latin-ext_latin-700.svg | 0 .../titillium-web-v10-latin-ext_latin-700.ttf | Bin ...titillium-web-v10-latin-ext_latin-700.woff | Bin ...itillium-web-v10-latin-ext_latin-700.woff2 | Bin ...lium-web-v10-latin-ext_latin-700italic.eot | Bin ...lium-web-v10-latin-ext_latin-700italic.svg | 0 ...lium-web-v10-latin-ext_latin-700italic.ttf | Bin ...ium-web-v10-latin-ext_latin-700italic.woff | Bin ...um-web-v10-latin-ext_latin-700italic.woff2 | Bin ...tillium-web-v10-latin-ext_latin-italic.eot | Bin ...tillium-web-v10-latin-ext_latin-italic.svg | 0 ...tillium-web-v10-latin-ext_latin-italic.ttf | Bin ...illium-web-v10-latin-ext_latin-italic.woff | Bin ...llium-web-v10-latin-ext_latin-italic.woff2 | Bin ...illium-web-v10-latin-ext_latin-regular.eot | Bin ...illium-web-v10-latin-ext_latin-regular.svg | 0 ...illium-web-v10-latin-ext_latin-regular.ttf | Bin ...llium-web-v10-latin-ext_latin-regular.woff | Bin ...lium-web-v10-latin-ext_latin-regular.woff2 | Bin .../js/bootstrap-italia.bundle.min.js | 0 .../js/bootstrap-italia.min.js | 0 .../plugins/accept-overlay.js | 0 .../plugins/accept-overlay.js.map | 0 .../bootstrap-italia/plugins/accordion.js | 0 .../bootstrap-italia/plugins/accordion.js.map | 0 .../bootstrap-italia/plugins/alert.js | 0 .../bootstrap-italia/plugins/alert.js.map | 0 .../bootstrap-italia/plugins/backToTop.js | 0 .../bootstrap-italia/plugins/backToTop.js.map | 0 .../bootstrap-italia/plugins/button.js | 0 .../bootstrap-italia/plugins/button.js.map | 0 .../bootstrap-italia/plugins/carousel-bi.js | 0 .../plugins/carousel-bi.js.map | 0 .../bootstrap-italia/plugins/carousel.js | 0 .../bootstrap-italia/plugins/carousel.js.map | 0 .../bootstrap-italia/plugins/collapse.js | 0 .../bootstrap-italia/plugins/collapse.js.map | 0 .../bootstrap-italia/plugins/cookiebar.js | 0 .../bootstrap-italia/plugins/cookiebar.js.map | 0 .../bootstrap-italia/plugins/dimmer.js | 0 .../bootstrap-italia/plugins/dimmer.js.map | 0 .../bootstrap-italia/plugins/dropdown.js | 0 .../bootstrap-italia/plugins/dropdown.js.map | 0 .../bootstrap-italia/plugins/fonts-loader.js | 0 .../plugins/fonts-loader.js.map | 0 .../bootstrap-italia/plugins/form-validate.js | 0 .../plugins/form-validate.js.map | 0 .../bootstrap-italia/plugins/forward.js | 0 .../bootstrap-italia/plugins/forward.js.map | 0 .../bootstrap-italia/plugins/header-sticky.js | 0 .../plugins/header-sticky.js.map | 0 .../bootstrap-italia/plugins/history-back.js | 0 .../plugins/history-back.js.map | 0 .../bootstrap-italia/plugins/init.js | 0 .../bootstrap-italia/plugins/init.js.map | 0 .../bootstrap-italia/plugins/input-label.js | 0 .../plugins/input-label.js.map | 0 .../bootstrap-italia/plugins/input-number.js | 0 .../plugins/input-number.js.map | 0 .../plugins/input-password.js | 0 .../plugins/input-password.js.map | 0 .../plugins/input-search-autocomplete.js | 0 .../plugins/input-search-autocomplete.js.map | 0 .../bootstrap-italia/plugins/input.js | 0 .../bootstrap-italia/plugins/input.js.map | 0 .../bootstrap-italia/plugins/list.js | 0 .../bootstrap-italia/plugins/list.js.map | 0 .../bootstrap-italia/plugins/masonry.js | 0 .../bootstrap-italia/plugins/masonry.js.map | 0 .../bootstrap-italia/plugins/modal.js | 0 .../bootstrap-italia/plugins/modal.js.map | 0 .../plugins/navbar-collapsible.js | 0 .../plugins/navbar-collapsible.js.map | 0 .../bootstrap-italia/plugins/navscroll.js | 0 .../bootstrap-italia/plugins/navscroll.js.map | 0 .../bootstrap-italia/plugins/notification.js | 0 .../plugins/notification.js.map | 0 .../bootstrap-italia/plugins/offcanvas.js | 0 .../bootstrap-italia/plugins/offcanvas.js.map | 0 .../bootstrap-italia/plugins/popover.js | 0 .../bootstrap-italia/plugins/popover.js.map | 0 .../plugins/progress-donut.js | 0 .../plugins/progress-donut.js.map | 0 .../bootstrap-italia/plugins/scrollspy.js | 0 .../bootstrap-italia/plugins/scrollspy.js.map | 0 .../plugins/select-autocomplete.js | 0 .../plugins/select-autocomplete.js.map | 0 .../bootstrap-italia/plugins/sticky.js | 0 .../bootstrap-italia/plugins/sticky.js.map | 0 .../bootstrap-italia/plugins/tab.js | 0 .../bootstrap-italia/plugins/tab.js.map | 0 .../bootstrap-italia/plugins/toast.js | 0 .../bootstrap-italia/plugins/toast.js.map | 0 .../bootstrap-italia/plugins/tooltip.js | 0 .../bootstrap-italia/plugins/tooltip.js.map | 0 .../bootstrap-italia/plugins/track-focus.js | 0 .../plugins/track-focus.js.map | 0 .../bootstrap-italia/plugins/transfer.js | 0 .../bootstrap-italia/plugins/transfer.js.map | 0 .../plugins/upload-dragdrop.js | 0 .../plugins/upload-dragdrop.js.map | 0 .../bootstrap-italia/plugins/util/cookies.js | 0 .../plugins/util/cookies.js.map | 0 .../bootstrap-italia/plugins/util/device.js | 0 .../plugins/util/device.js.map | 0 .../bootstrap-italia/plugins/util/dom.js | 0 .../bootstrap-italia/plugins/util/dom.js.map | 0 .../bootstrap-italia/plugins/util/observer.js | 0 .../plugins/util/observer.js.map | 0 .../plugins/util/on-document-scroll.js | 0 .../plugins/util/on-document-scroll.js.map | 0 .../plugins/util/pageScroll.js | 0 .../plugins/util/pageScroll.js.map | 0 .../bootstrap-italia/plugins/util/tween.js | 0 .../plugins/util/tween.js.map | 0 .../bootstrap-italia/plugins/videoplayer.js | 0 .../plugins/videoplayer.js.map | 0 .../bootstrap-italia/svg/sprites.svg | 0 .../{ => static}/bootstrap-italia/version.js | 0 .../bootstrap-italia/version.js.map | 0 example/satosa/{ => static}/cie/cie_black.svg | 0 example/satosa/{ => static}/cie/cie_blue.svg | 0 example/satosa/{ => static}/cie/cie_white.svg | 0 example/satosa/{ => static}/css/style.css | 67 +- .../eidas/css/eidas-sp-access-button.css | 0 .../eidas/css/eidas-sp-access-button.min.css | 0 .../eidas/img/ficep-it-eidas-bn.svg | 0 .../eidas/img/ficep-it-eidas-db.png | Bin .../eidas/img/ficep-it-eidas-db.svg | 0 .../eidas/img/ficep-it-eidas-lb.png | Bin .../eidas/img/ficep-it-eidas-lb.svg | 0 .../eidas/img/ficep-it-eidas-ybw.png | Bin .../eidas/img/ficep-it-eidas-ybw.svg | 0 .../eidas/img/ficep-it-eidas-ywb.png | Bin .../eidas/img/ficep-it-eidas-ywb.svg | 0 example/satosa/{ => static}/idem/img/IDEM.svg | 0 .../satosa/static/idem/img/IDEM_icona_blu.eps | Bin 0 -> 1495222 bytes .../satosa/static/idem/img/IDEM_icona_blu.png | Bin 0 -> 7028 bytes .../satosa/static/idem/img/IDEM_icona_blu.svg | 18 + .../static/idem/img/IDEM_logo_mono_blu.eps | Bin 0 -> 1626470 bytes .../static/idem/img/IDEM_logo_mono_blu.png | Bin 0 -> 14619 bytes .../static/idem/img/IDEM_logo_mono_blu.svg | 82 ++ example/satosa/static/js/jquery-3.7.0.min.js | 2 + .../{ => static}/spid/bootstrap-italia.css | 0 .../{ => static}/spid/bootstrap-italia.js | 0 example/satosa/{ => static}/spid/brython.js | 0 .../{ => static}/spid/favicon-32x32.png | Bin .../spid/fonts/Lora/Lora-Bold.ttf | Bin .../spid/fonts/Lora/Lora-Bold.woff | Bin .../spid/fonts/Lora/Lora-Bold.woff2 | Bin .../spid/fonts/Lora/Lora-Regular.ttf | Bin .../spid/fonts/Lora/Lora-Regular.woff | Bin .../spid/fonts/Lora/Lora-Regular.woff2 | Bin .../{ => static}/spid/fonts/Lora/OFL.txt | 0 .../spid/fonts/Titillium_Web/OFL.txt | 0 .../Titillium_Web/TitilliumWeb-Black.ttf | 0 .../Titillium_Web/TitilliumWeb-Black.woff | Bin .../Titillium_Web/TitilliumWeb-Black.woff2 | Bin .../fonts/Titillium_Web/TitilliumWeb-Bold.ttf | Bin .../Titillium_Web/TitilliumWeb-Bold.woff | Bin .../Titillium_Web/TitilliumWeb-Bold.woff2 | Bin .../Titillium_Web/TitilliumWeb-ExtraLight.ttf | 0 .../TitilliumWeb-ExtraLight.woff | Bin .../TitilliumWeb-ExtraLight.woff2 | Bin .../Titillium_Web/TitilliumWeb-Light.ttf | Bin .../Titillium_Web/TitilliumWeb-Light.woff | Bin .../Titillium_Web/TitilliumWeb-Light.woff2 | Bin .../Titillium_Web/TitilliumWeb-Regular.ttf | Bin .../Titillium_Web/TitilliumWeb-Regular.woff | Bin .../Titillium_Web/TitilliumWeb-Regular.woff2 | Bin .../Titillium_Web/TitilliumWeb-SemiBold.ttf | Bin .../Titillium_Web/TitilliumWeb-SemiBold.woff | Bin .../Titillium_Web/TitilliumWeb-SemiBold.woff2 | Bin example/satosa/{ => static}/spid/logo.jpg | Bin .../satosa/{ => static}/spid/logo_white.png | Bin .../{ => static}/spid/spid-agid-logo-lb.png | Bin .../{ => static}/spid/spid-ico-circle-bb.svg | 0 .../{ => static}/spid/spid-idp-arubaid.svg | 0 .../{ => static}/spid/spid-idp-infocertid.svg | 0 .../{ => static}/spid/spid-idp-intesaid.svg | 0 .../{ => static}/spid/spid-idp-lepidaid.svg | 0 .../{ => static}/spid/spid-idp-namirialid.svg | 0 .../{ => static}/spid/spid-idp-posteid.svg | 0 .../{ => static}/spid/spid-idp-sielteid.svg | 0 .../{ => static}/spid/spid-idp-spiditalia.svg | 0 .../spid/spid-idp-teamsystemid.svg | 0 .../{ => static}/spid/spid-idp-timid.svg | 0 example/satosa/{ => static}/spid/spid-idps.js | 20 +- .../spid/spid-sp-access-button.css | 0 .../spid/spid-sp-access-button.js | 0 .../satosa/{ => static}/spid/spid_button.js | 0 .../satosa/{ => static}/spid/spid_icon.svg | 0 .../satosa/{ => static}/spid/svg/sprite.svg | 0 .../satosa/static/wallet-it/wallet_icon.svg | 3 + example/satosa/templates/base.html | 10 +- example/satosa/templates/qr_code.html | 138 ++- example/satosa/templates/qrcode.svg | 873 ++++++++++++++++++ example/satosa/wallet-it/smartphone.svg | 2 - example/satosa/wallet-it/smartphone2.svg | 6 - example/satosa/wallet-it/wallet_12.svg | 11 - 278 files changed, 1256 insertions(+), 65 deletions(-) delete mode 100644 example/satosa/bootstrap-italia/.DS_Store delete mode 100644 example/satosa/bootstrap-italia/fonts/.DS_Store delete mode 100644 example/satosa/bootstrap-italia/svg/.DS_Store delete mode 100644 example/satosa/eidas/.DS_Store delete mode 100644 example/satosa/spid/.DS_Store delete mode 100644 example/satosa/spid/fonts/.DS_Store rename example/satosa/{ => static}/bootstrap-italia/assets/upload-drag-drop-icon.svg (100%) rename example/satosa/{ => static}/bootstrap-italia/bootstrap-italia-comuni.js (100%) rename example/satosa/{ => static}/bootstrap-italia/bootstrap-italia.esm.js (100%) rename example/satosa/{ => static}/bootstrap-italia/bootstrap-italia.esm.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/css/bootstrap-italia-comuni.min.css (100%) rename example/satosa/{ => static}/bootstrap-italia/css/bootstrap-italia.min.css (100%) rename example/satosa/{ => static}/bootstrap-italia/css/bootstrap-italia.min.css.map (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Lora/OFL.txt (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Lora/lora-v20-latin-ext_latin-700.eot (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Lora/lora-v20-latin-ext_latin-700.svg (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Lora/lora-v20-latin-ext_latin-700.ttf (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Lora/lora-v20-latin-ext_latin-700.woff (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Lora/lora-v20-latin-ext_latin-700.woff2 (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Lora/lora-v20-latin-ext_latin-700italic.eot (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Lora/lora-v20-latin-ext_latin-700italic.svg (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Lora/lora-v20-latin-ext_latin-700italic.ttf (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Lora/lora-v20-latin-ext_latin-700italic.woff (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Lora/lora-v20-latin-ext_latin-700italic.woff2 (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Lora/lora-v20-latin-ext_latin-italic.eot (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Lora/lora-v20-latin-ext_latin-italic.svg (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Lora/lora-v20-latin-ext_latin-italic.ttf (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Lora/lora-v20-latin-ext_latin-italic.woff (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Lora/lora-v20-latin-ext_latin-italic.woff2 (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Lora/lora-v20-latin-ext_latin-regular.eot (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Lora/lora-v20-latin-ext_latin-regular.svg (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Lora/lora-v20-latin-ext_latin-regular.ttf (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Lora/lora-v20-latin-ext_latin-regular.woff (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Lora/lora-v20-latin-ext_latin-regular.woff2 (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Roboto_Mono/LICENSE.txt (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Roboto_Mono/roboto-mono-v13-latin-ext_latin-700.eot (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Roboto_Mono/roboto-mono-v13-latin-ext_latin-700.svg (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Roboto_Mono/roboto-mono-v13-latin-ext_latin-700.ttf (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Roboto_Mono/roboto-mono-v13-latin-ext_latin-700.woff (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Roboto_Mono/roboto-mono-v13-latin-ext_latin-700.woff2 (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Roboto_Mono/roboto-mono-v13-latin-ext_latin-700italic.eot (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Roboto_Mono/roboto-mono-v13-latin-ext_latin-700italic.svg (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Roboto_Mono/roboto-mono-v13-latin-ext_latin-700italic.ttf (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Roboto_Mono/roboto-mono-v13-latin-ext_latin-700italic.woff (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Roboto_Mono/roboto-mono-v13-latin-ext_latin-700italic.woff2 (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Roboto_Mono/roboto-mono-v13-latin-ext_latin-italic.eot (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Roboto_Mono/roboto-mono-v13-latin-ext_latin-italic.svg (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Roboto_Mono/roboto-mono-v13-latin-ext_latin-italic.ttf (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Roboto_Mono/roboto-mono-v13-latin-ext_latin-italic.woff (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Roboto_Mono/roboto-mono-v13-latin-ext_latin-italic.woff2 (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Roboto_Mono/roboto-mono-v13-latin-ext_latin-regular.eot (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Roboto_Mono/roboto-mono-v13-latin-ext_latin-regular.svg (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Roboto_Mono/roboto-mono-v13-latin-ext_latin-regular.ttf (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Roboto_Mono/roboto-mono-v13-latin-ext_latin-regular.woff (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Roboto_Mono/roboto-mono-v13-latin-ext_latin-regular.woff2 (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Titillium_Web/OFL.txt (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Titillium_Web/titillium-web-v10-latin-ext_latin-300.eot (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Titillium_Web/titillium-web-v10-latin-ext_latin-300.svg (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Titillium_Web/titillium-web-v10-latin-ext_latin-300.ttf (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Titillium_Web/titillium-web-v10-latin-ext_latin-300.woff (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Titillium_Web/titillium-web-v10-latin-ext_latin-300.woff2 (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Titillium_Web/titillium-web-v10-latin-ext_latin-300italic.eot (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Titillium_Web/titillium-web-v10-latin-ext_latin-300italic.svg (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Titillium_Web/titillium-web-v10-latin-ext_latin-300italic.ttf (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Titillium_Web/titillium-web-v10-latin-ext_latin-300italic.woff (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Titillium_Web/titillium-web-v10-latin-ext_latin-300italic.woff2 (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Titillium_Web/titillium-web-v10-latin-ext_latin-600.eot (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Titillium_Web/titillium-web-v10-latin-ext_latin-600.svg (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Titillium_Web/titillium-web-v10-latin-ext_latin-600.ttf (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Titillium_Web/titillium-web-v10-latin-ext_latin-600.woff (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Titillium_Web/titillium-web-v10-latin-ext_latin-600.woff2 (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Titillium_Web/titillium-web-v10-latin-ext_latin-600italic.eot (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Titillium_Web/titillium-web-v10-latin-ext_latin-600italic.svg (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Titillium_Web/titillium-web-v10-latin-ext_latin-600italic.ttf (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Titillium_Web/titillium-web-v10-latin-ext_latin-600italic.woff (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Titillium_Web/titillium-web-v10-latin-ext_latin-600italic.woff2 (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Titillium_Web/titillium-web-v10-latin-ext_latin-700.eot (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Titillium_Web/titillium-web-v10-latin-ext_latin-700.svg (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Titillium_Web/titillium-web-v10-latin-ext_latin-700.ttf (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Titillium_Web/titillium-web-v10-latin-ext_latin-700.woff (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Titillium_Web/titillium-web-v10-latin-ext_latin-700.woff2 (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Titillium_Web/titillium-web-v10-latin-ext_latin-700italic.eot (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Titillium_Web/titillium-web-v10-latin-ext_latin-700italic.svg (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Titillium_Web/titillium-web-v10-latin-ext_latin-700italic.ttf (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Titillium_Web/titillium-web-v10-latin-ext_latin-700italic.woff (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Titillium_Web/titillium-web-v10-latin-ext_latin-700italic.woff2 (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Titillium_Web/titillium-web-v10-latin-ext_latin-italic.eot (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Titillium_Web/titillium-web-v10-latin-ext_latin-italic.svg (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Titillium_Web/titillium-web-v10-latin-ext_latin-italic.ttf (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Titillium_Web/titillium-web-v10-latin-ext_latin-italic.woff (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Titillium_Web/titillium-web-v10-latin-ext_latin-italic.woff2 (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Titillium_Web/titillium-web-v10-latin-ext_latin-regular.eot (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Titillium_Web/titillium-web-v10-latin-ext_latin-regular.svg (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Titillium_Web/titillium-web-v10-latin-ext_latin-regular.ttf (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Titillium_Web/titillium-web-v10-latin-ext_latin-regular.woff (100%) rename example/satosa/{ => static}/bootstrap-italia/fonts/Titillium_Web/titillium-web-v10-latin-ext_latin-regular.woff2 (100%) rename example/satosa/{ => static}/bootstrap-italia/js/bootstrap-italia.bundle.min.js (100%) rename example/satosa/{ => static}/bootstrap-italia/js/bootstrap-italia.min.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/accept-overlay.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/accept-overlay.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/accordion.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/accordion.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/alert.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/alert.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/backToTop.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/backToTop.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/button.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/button.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/carousel-bi.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/carousel-bi.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/carousel.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/carousel.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/collapse.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/collapse.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/cookiebar.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/cookiebar.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/dimmer.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/dimmer.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/dropdown.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/dropdown.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/fonts-loader.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/fonts-loader.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/form-validate.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/form-validate.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/forward.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/forward.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/header-sticky.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/header-sticky.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/history-back.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/history-back.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/init.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/init.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/input-label.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/input-label.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/input-number.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/input-number.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/input-password.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/input-password.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/input-search-autocomplete.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/input-search-autocomplete.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/input.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/input.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/list.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/list.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/masonry.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/masonry.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/modal.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/modal.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/navbar-collapsible.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/navbar-collapsible.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/navscroll.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/navscroll.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/notification.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/notification.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/offcanvas.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/offcanvas.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/popover.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/popover.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/progress-donut.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/progress-donut.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/scrollspy.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/scrollspy.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/select-autocomplete.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/select-autocomplete.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/sticky.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/sticky.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/tab.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/tab.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/toast.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/toast.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/tooltip.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/tooltip.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/track-focus.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/track-focus.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/transfer.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/transfer.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/upload-dragdrop.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/upload-dragdrop.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/util/cookies.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/util/cookies.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/util/device.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/util/device.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/util/dom.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/util/dom.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/util/observer.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/util/observer.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/util/on-document-scroll.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/util/on-document-scroll.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/util/pageScroll.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/util/pageScroll.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/util/tween.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/util/tween.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/videoplayer.js (100%) rename example/satosa/{ => static}/bootstrap-italia/plugins/videoplayer.js.map (100%) rename example/satosa/{ => static}/bootstrap-italia/svg/sprites.svg (100%) rename example/satosa/{ => static}/bootstrap-italia/version.js (100%) rename example/satosa/{ => static}/bootstrap-italia/version.js.map (100%) rename example/satosa/{ => static}/cie/cie_black.svg (100%) rename example/satosa/{ => static}/cie/cie_blue.svg (100%) rename example/satosa/{ => static}/cie/cie_white.svg (100%) rename example/satosa/{ => static}/css/style.css (94%) rename example/satosa/{ => static}/eidas/css/eidas-sp-access-button.css (100%) rename example/satosa/{ => static}/eidas/css/eidas-sp-access-button.min.css (100%) rename example/satosa/{ => static}/eidas/img/ficep-it-eidas-bn.svg (100%) rename example/satosa/{ => static}/eidas/img/ficep-it-eidas-db.png (100%) rename example/satosa/{ => static}/eidas/img/ficep-it-eidas-db.svg (100%) rename example/satosa/{ => static}/eidas/img/ficep-it-eidas-lb.png (100%) rename example/satosa/{ => static}/eidas/img/ficep-it-eidas-lb.svg (100%) rename example/satosa/{ => static}/eidas/img/ficep-it-eidas-ybw.png (100%) rename example/satosa/{ => static}/eidas/img/ficep-it-eidas-ybw.svg (100%) rename example/satosa/{ => static}/eidas/img/ficep-it-eidas-ywb.png (100%) rename example/satosa/{ => static}/eidas/img/ficep-it-eidas-ywb.svg (100%) rename example/satosa/{ => static}/idem/img/IDEM.svg (100%) create mode 100644 example/satosa/static/idem/img/IDEM_icona_blu.eps create mode 100644 example/satosa/static/idem/img/IDEM_icona_blu.png create mode 100644 example/satosa/static/idem/img/IDEM_icona_blu.svg create mode 100644 example/satosa/static/idem/img/IDEM_logo_mono_blu.eps create mode 100644 example/satosa/static/idem/img/IDEM_logo_mono_blu.png create mode 100644 example/satosa/static/idem/img/IDEM_logo_mono_blu.svg create mode 100644 example/satosa/static/js/jquery-3.7.0.min.js rename example/satosa/{ => static}/spid/bootstrap-italia.css (100%) rename example/satosa/{ => static}/spid/bootstrap-italia.js (100%) rename example/satosa/{ => static}/spid/brython.js (100%) rename example/satosa/{ => static}/spid/favicon-32x32.png (100%) rename example/satosa/{ => static}/spid/fonts/Lora/Lora-Bold.ttf (100%) rename example/satosa/{ => static}/spid/fonts/Lora/Lora-Bold.woff (100%) rename example/satosa/{ => static}/spid/fonts/Lora/Lora-Bold.woff2 (100%) rename example/satosa/{ => static}/spid/fonts/Lora/Lora-Regular.ttf (100%) rename example/satosa/{ => static}/spid/fonts/Lora/Lora-Regular.woff (100%) rename example/satosa/{ => static}/spid/fonts/Lora/Lora-Regular.woff2 (100%) rename example/satosa/{ => static}/spid/fonts/Lora/OFL.txt (100%) rename example/satosa/{ => static}/spid/fonts/Titillium_Web/OFL.txt (100%) rename example/satosa/{ => static}/spid/fonts/Titillium_Web/TitilliumWeb-Black.ttf (100%) rename example/satosa/{ => static}/spid/fonts/Titillium_Web/TitilliumWeb-Black.woff (100%) rename example/satosa/{ => static}/spid/fonts/Titillium_Web/TitilliumWeb-Black.woff2 (100%) rename example/satosa/{ => static}/spid/fonts/Titillium_Web/TitilliumWeb-Bold.ttf (100%) rename example/satosa/{ => static}/spid/fonts/Titillium_Web/TitilliumWeb-Bold.woff (100%) rename example/satosa/{ => static}/spid/fonts/Titillium_Web/TitilliumWeb-Bold.woff2 (100%) rename example/satosa/{ => static}/spid/fonts/Titillium_Web/TitilliumWeb-ExtraLight.ttf (100%) rename example/satosa/{ => static}/spid/fonts/Titillium_Web/TitilliumWeb-ExtraLight.woff (100%) rename example/satosa/{ => static}/spid/fonts/Titillium_Web/TitilliumWeb-ExtraLight.woff2 (100%) rename example/satosa/{ => static}/spid/fonts/Titillium_Web/TitilliumWeb-Light.ttf (100%) rename example/satosa/{ => static}/spid/fonts/Titillium_Web/TitilliumWeb-Light.woff (100%) rename example/satosa/{ => static}/spid/fonts/Titillium_Web/TitilliumWeb-Light.woff2 (100%) rename example/satosa/{ => static}/spid/fonts/Titillium_Web/TitilliumWeb-Regular.ttf (100%) rename example/satosa/{ => static}/spid/fonts/Titillium_Web/TitilliumWeb-Regular.woff (100%) rename example/satosa/{ => static}/spid/fonts/Titillium_Web/TitilliumWeb-Regular.woff2 (100%) rename example/satosa/{ => static}/spid/fonts/Titillium_Web/TitilliumWeb-SemiBold.ttf (100%) rename example/satosa/{ => static}/spid/fonts/Titillium_Web/TitilliumWeb-SemiBold.woff (100%) rename example/satosa/{ => static}/spid/fonts/Titillium_Web/TitilliumWeb-SemiBold.woff2 (100%) rename example/satosa/{ => static}/spid/logo.jpg (100%) rename example/satosa/{ => static}/spid/logo_white.png (100%) rename example/satosa/{ => static}/spid/spid-agid-logo-lb.png (100%) rename example/satosa/{ => static}/spid/spid-ico-circle-bb.svg (100%) rename example/satosa/{ => static}/spid/spid-idp-arubaid.svg (100%) rename example/satosa/{ => static}/spid/spid-idp-infocertid.svg (100%) rename example/satosa/{ => static}/spid/spid-idp-intesaid.svg (100%) rename example/satosa/{ => static}/spid/spid-idp-lepidaid.svg (100%) rename example/satosa/{ => static}/spid/spid-idp-namirialid.svg (100%) rename example/satosa/{ => static}/spid/spid-idp-posteid.svg (100%) rename example/satosa/{ => static}/spid/spid-idp-sielteid.svg (100%) rename example/satosa/{ => static}/spid/spid-idp-spiditalia.svg (100%) rename example/satosa/{ => static}/spid/spid-idp-teamsystemid.svg (100%) rename example/satosa/{ => static}/spid/spid-idp-timid.svg (100%) rename example/satosa/{ => static}/spid/spid-idps.js (79%) rename example/satosa/{ => static}/spid/spid-sp-access-button.css (100%) rename example/satosa/{ => static}/spid/spid-sp-access-button.js (100%) rename example/satosa/{ => static}/spid/spid_button.js (100%) rename example/satosa/{ => static}/spid/spid_icon.svg (100%) rename example/satosa/{ => static}/spid/svg/sprite.svg (100%) create mode 100644 example/satosa/static/wallet-it/wallet_icon.svg create mode 100644 example/satosa/templates/qrcode.svg delete mode 100644 example/satosa/wallet-it/smartphone.svg delete mode 100644 example/satosa/wallet-it/smartphone2.svg delete mode 100644 example/satosa/wallet-it/wallet_12.svg diff --git a/example/satosa/bootstrap-italia/.DS_Store b/example/satosa/bootstrap-italia/.DS_Store deleted file mode 100644 index 169156e061a4ecb82eefdb9eaeca019ea79cba90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHLJx>Bb5S;}?goYrAme&v~V=xh;jVCz^qb4TTSr`NqKMs!s(f0n16@S6Tzhq#_vM-=iNPcV)K z&9D~_M@}|7SOHexuPH$9ZV|3vjGt?8-rtpzYxS`+)s0$wb)Wc_;09uNbY{I7UfNNUce=Wf z@*4Ff_xuctf9s9-b8w%TZLJlhev`BHu$OYm8j~#>vv_Lf#Ip<|h+qN(xWn1n`WB}x zH^bz9IXFwXGxsq^u{g^bPdTCSW1Fu4 z?%8CeibC#L0akz&_*Q_{2M-&euQ5?5mk#XY5dg7(ZfSTe_i{v!9EiTgL?L?6gepZ; zr9vMugephBr}KP`i9%HlLNeohG_%kr6d~Es@5yu!zC!L<0an0PAg{hwY5zZ3eEzqK z_!}$03j8YtL?H-+Hcml=fnQbN3&g{!%m4rY diff --git a/example/satosa/bootstrap-italia/fonts/.DS_Store b/example/satosa/bootstrap-italia/fonts/.DS_Store deleted file mode 100644 index be4298d2bac02e71419511276f790f6bd5f8768e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKJx{|h5IvU;q2(h32*$9m01_R#hbjz6uuvpMAe4_v38@g>!_Pp7nUz1m|KT6N zJKHU>LIM*)=&m|H=X__syhL$LM5;F)bclQ+^5Be(Su|f5kF%GoVIy-u#d9QAo&I^2 zj!Kyl_^S%=vun~mWpqnt&huNi+$fHvSro-d79-|8J+8I)y01I#_@H)tbX|Bi7Ewvm zrbDb7!|&iHbb$7TGKWQLYr8tL$Z7LoeZr|?-ZcAU_AuI$PAgj zVLH=oUz?pRfG}wm7r+2Ok1E(XW%Gkbzv!NH%yU8vI>r`D)EH7<_oChL9~qFn>vO+K zR9NHd{;jSz@u}Fvf)R2&#?;}53ax`#<+iwK>TSh{E6niDv1Qa}jPQVn4I0{VN=BGs z&b~RVd;VW?2I3tvM*3^cC-N-aGNaUyf7j%Z=vx8?Z|QDITgJn&UGboMy+*p zIgKl3|2F44oAUuKWWg@ZfHU9>91R1k*&@AuLT{Y`XTTZQF(B`Uj4GHLwh8ss!A7qD z#4g<`wB=(_ax%l*uuaGwN=T{1lp5@c5mGw+nZ@OXZNij}V3&_zPY!lN3Ho%7pJ_Nk zp3qxoz!~_?fZY8k1F8R)hwuLy+r|p*x*TCtRD=*1c6qt<9*9R1t}56Yf%I hXenl_l;Sh03jLWF#N4n=NDsw71e6AEoPj@O;1l##O1A(2 diff --git a/example/satosa/disco.html b/example/satosa/disco.html index bbff2df6..4ac2f0c2 100644 --- a/example/satosa/disco.html +++ b/example/satosa/disco.html @@ -5,15 +5,15 @@ Accedi Con SPID - + - - + + - - - - + + + + - - +
@@ -170,7 +176,7 @@

SPID o CIE

@@ -180,8 +186,8 @@

SPID o CIE

@@ -207,7 +213,7 @@

Altre identità digitali

@@ -218,8 +224,8 @@

Altre identità digitali

@@ -237,6 +243,33 @@

Altre identità digitali

+ +
+
+ +
+ +
+
+ + - - - + + + diff --git a/example/satosa/eidas/.DS_Store b/example/satosa/eidas/.DS_Store deleted file mode 100644 index 5ff72db3f4710fb5a239b47b61e3bb2e8f311a82..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKJ5Iwu5S?*SSfWWf$}Ny+XmW!kGEh?F0w{?TkYYJfNbizUa10u18cxAcc(XHL zuVPUmgl44Ow>w|^N#6Ak5zi0n8PSA@N(@1k#ej%<&{UYS7+G@67OSS-4W#(HDtY!1 zt!PjC?WX_yXOEqwZmMdzZI;lK?@!ma(~GyuzIFYBb$8#-8WDzi4^-18t5-a~be4X- z*YlgMUW%)muHLaVt5RXTTY72EG}P^C4geM#EMy z9UYib3jiELodj#?B_t*oM#EMS76@x7P(#^T4AyYygZV|nR#C%=t@&W9{MEd0s*e02 zxf4f4pPd0`AZK8t+lk!&SNLQGoBTY)cg}z_@Xr|FakZ%CcqzMEk6usi+JJF~AtHXQ oEFf5CKLOatIdYneY7er8Uo>nLC5z}&IM9Ct5+Oc01HZt)CoDQXD*ylh diff --git a/example/satosa/spid/.DS_Store b/example/satosa/spid/.DS_Store deleted file mode 100644 index 508f9092945118beaad75cc6951b63fa3b977d34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 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
n;B 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%0DY_NSuITa*0k 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%0D`b4=a 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 E`ll|4c5<{l?aw_5C)bDjfCaPJ+$_54 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 ^tPY*qG=JrN^++uezou$7=XDJ%JHz-{U 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 OXaIGj7NS}ijrkutM@OUp literal 0 HcmV?d00001 diff --git a/example/satosa/static/idem/img/IDEM_icona_blu.svg b/example/satosa/static/idem/img/IDEM_icona_blu.svg new file mode 100644 index 00000000..80ebff50 --- /dev/null +++ b/example/satosa/static/idem/img/IDEM_icona_blu.svg @@ -0,0 +1,18 @@ + + + + + + diff --git a/example/satosa/static/idem/img/IDEM_logo_mono_blu.eps b/example/satosa/static/idem/img/IDEM_logo_mono_blu.eps new file mode 100644 index 0000000000000000000000000000000000000000..7c8a197393f1ccf5c5b9938c8bf58d40e6099f51 GIT binary patch literal 1626470 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]Yy9eI{RW%2ar~rmoj& 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

v}X{LpW= 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

x^-Fox*h#Kav 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

&8@v9^N7Mt!>VMx~Nwz7E-}|by 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�w1KDh1$wH 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

5#nZdNI|hcD|TET1NNxVv9GosY){|9E>y7 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

v@`EI)fcFSlzx;*J?7T&LgpW^je-| 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↱x;obRe1W`Jr-0$2L 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�FvoV$b8}Il6X?1g+&WKZ3rqovbgRS|k2<~)(BK}!@4c+%riG~cb zTbtTOt6!>$xY=A)q2mv372uibYak;^3LAz= zB{et?E&r-=Q&+*H1=TmKv?KV2nN>25s6cCPR{a*%_ns8}&d_{yycEtcR;B=6MHJ91 zG4dVrd&q>_(;yw?kSezHZg2*VAYYL=o?2I|Rb9MDrTHQ>@ z&-_NZtIZ?LQQeSQ6hqQ_ox;lA!@A&HPmGj^s4Dqx(hUk9RuQ@bk-9x^Ex(ex>K0Q< z6uTcjwS*p9&*m9uj8HV@jO`o?+W;IFnA-@AQGR((5f098#yxN zBH9Js-j3?y+`8y*H}r-G=_c5FcnIRiMjb2693j%zB0s6dAJ^1YQO(3=~rP7Ct=wm90O7_|FeSqCG%D<1Mrr?%?z+dY>H zi7fQSN!}`z%kxVkBM!7GiHyIVCk>WNsnsn(objTTJD;;JtvnB&c`8a4VLsWef9sSv zOR_~c)$CRJ4mK~YI#-8xr5nO*os2Kjww5ULP`aptlF3)Q<_EdYEFdge-OTXU{Abk5IuIsq8u>1a;JhkHcn@}pXYU5zS zAWtI$HuS|mi9=o;H~+B9zSw3;%vgYK^{jMUyqiE=%`J9V8QM#zu>QW&id;Q(%%(44 zuig6uUpInj@Y^Rl5)*Q^xPY68J8lLH+nUKmy>(hA`PE>}8s;VaUD&~Ly)&BlU`*~k z(6Bo&0D6s8uQs0>Cm{#V_M4#vZ?$(=4?!$mtu$oyEPR@-<;sIrh%z6nppTPrey57b zJQgY9DYUZ_t=wLMKr7*P+o<^?C#|VNT@30*$D1VTtwjL(x-|etZP^`hBzLA-ZY7&u z{w__`6m}S4<#WKv(i z)_Za^YxY-_6}-Z4!Ee#U=Jee!{Vmhu?REn~sS*FX6mBH$yFT;_=^C<+Q{uFHnk}+w z4LOp9IAv@5u(Efq-|LD##$``ly`#{lgnx%@pJPo_BB_q+PTt1w7r2(8syK%K%ZMxmj2o3DxJsc4q=)=(P7D z&Fohr1rCreiV+uXoKPN+Gg4Qdetcn;PS8sOikE%jHSaVsCn^;2;;$!N$oHDV@!?P` z+k0(!f~lSNm-W99N9HbEeyDD1&%1oVo^uziyF!n?@rt0wdno0M8#TPqMHCH^wk0DO~oqDl5#JnRa)@nKhC z|KOj7{v4xlcc-Z@cR9piK1jI?R(q|1Ci!fBDmcADup8dQ zf0~`HytgsC@T@+9?XAHd$mvS`Wy8xzlyQ#5BaKb_`^jTzf2-luuG6{txo*c*V{K;H zK^7g6evW)rw=erRslr6FWXP3S874rbD1oGWhq(g7p4 z<&Kn0Aq@3UPzASzX{7oj_UyV|Pp3kXryJ^8F)J|rOO1%<(z1Ibe4n-Ucz z#3NT=yG=F`{uoYwIRXMdx4e;Epg)atFLtkGu~?I_V)qesU}TC>dv;;+jvyHFu9d$P z_0Utg%fkSM{T7uo)GQRXnY@u?{DoT&nN7ZZCy>M;s%6@zjo9V0R5-8yF6?jCxq=Jr zm3an?jK!|8BK%T%eK&ebbeU#Ks)UM#)mBY0& zQ62-TrhxLh7@y^QZEuPX@uSAU<9c#`1!A}Oxo6j({`lN!BEAg@wdf7>ltCSgw%)r* z5R+DL+oqjrU^v|#QeEi%&nsVh3cZi4@BXsQIuoB1yPZonPTOpcx6^yIgpMlNDdJ@n z4TZYrud1G2EVrPCA)DmB72xgp{^B@HMEfiZ(F4qk&!W7aerK4xD^S-vz;&fzZIy&$kM;+;RvdMS?E({N+yRx^hv&i_n zVwtR6z)rOes;Q6Bq6=m~zO?lYH{^nzM{O_eMWU}|2NOiUf!Hv|J!iWDICHZ_oST^S z1mpiO?zLGawG{Yx!QTC~zAH~*X#zd5aXk2r_Gx$6typb;i^LNVwtCj@epiek>fV5w zem+wYjCF-ZZB?P~xifV$6}K~32}c=us$IY>*{f(Zx~*;%ml)mIt0864r6ZPMnMm-Y zeB=3g-z%QQOxSi(W!P-tT?X;3dH{84uS`?{5sRh0fRY?)CCZ;U<>!pUEYcIIVqqBC zefhLfzswuO(}!X{i|#@(gW0WGCufoPHGgLTe`MtTwj|i0eUyGcB5zm;qm>d)-?0s- zZRH;B=wt{RlrU+z#^>*|=@dri^;xQZd24lY9e(nc_{WYmM8N^PJoV0Hy1sfr5-Ka_ zb~+!eH@}a-a`b8*H#Hd5={KL0x{Mtwk$^DOY$L)Y33o4jji|O75@iJLf=`OI$5yAm zjx=08%eni@k}6wsoKfZdn{dnE9hAdn_WhT~+Mu(9B*(5b`&Buv88DLEC2X+Q%PV~z zR6AA=!ovpjpf8_(kNBLX)NbvOu36cby~jylSSDsqRVI5D_H_~W(iZYO&a1f8gFwx} zWiE1P(6v0o6)x+OV=xf9g=LT?NB1 z+s)Vf!niEvrQ#-;0_K{@JR- z_eJ2l%}Q%XkV5S)-IRysn+vA0-VATle16OJnBsSFEgGG1;fB|Q&kFovHN)oea>$}r z$Va3-rjWn7#orKlS{yBvl+ei6Bg14Ln_EyQtz@)xDJ_cMsZd<2`Nk0cGm{ktKmGIO zx0Tc>%j>XZYuty}7~{gut0orB8L0NGwq;=Bih^DAI#VX&}@N{81J^K7;!&RIs1V zTn^mFAd0Wn;3F&Ju8B9#}V*zTC_Z$E)40)s$;OU5{I34U_BQqp*5vy{`~gwLkiI zPLp#`S0u-^r-|(^f8YMdi~DPkp^Bai8VZB}i9oPkoCidaAI=2byk_=QXV4n$Ad7Hg z{y0vx7U2=LiP_-6Nn@VrN}c93I^3y7LBE$CkM{Q8d!rcTaB|&t3S^!+9UKOYs5AD* z50KJ*1dxg~OIGtzYpDSHL*zWXg>>ud+c{egl7XUM8N-EhMGB)rCqXFmbBxV)+Kx8@ z_`lbwY`Wb2{G#C1Ks5tC0vV@?^~jH&KVPZF*T)DbbhS7ouYG82$yA6=dEn}jrcrx_X!w@0x%y&Fc~%U?F(Y5*LiwgNlw_y`ekF)ANxh4{3& zwuv~mGfu9nk=3Fk%fj@RSx93Q^=UPd|U1K#9HdlN8 zI|~$_L(LMxyc<>>-vxC`w#=S%ws~&eKg?BYRQBeDBZg%|GeKQAjD%cG79i9e=dRX; z9Eewl&0N>T&O>}-yF9e=(b$|W>qVeI)g$PfUU6&y%UI9h&DojD{({mw9k%}@?-QKX zX@?7XpP4@Q3w#vUPZMR6w!WY$24?K&a3QuM#D??WIo_N*jYjhv&To<0ul+Gl%{>RY zwVcp7dFuRedHeoruOj(c>s~U+? zNj!thELK*K|3ITHMpq z$tdLHa&v4Tv99!wY<|dnJM3oT7-(5PjkjoLf8vNW8^Dm4Q+=L}l7-HXvQYKJMv=X) zTkM5l;f!^yU6LG(6aP{XRj9@}+ zO*nOiIu$6jT2>Rt3nqEpBlu)$hfdBK?Y>JGDq_41wt1}l!^@gYM8|u#PTL<1E-*`p zuTLW!Bywu^Tf!}BxvJE&ELS0l5#GcPvg#LxIC=UEz=YWy6b@l^tT|Y@jUOwIL)Sqb z&p!p;sb8AtIDi;A{Nhg)EB&o%8=UG4N@p10XDhd)HcLt~Y<4`yL!NYkHi6ED#L=#zJqD!~F7quYRGwz}Wk$A?jFy^0H6xC_e%eMX%Rb>i^RLGHD_T#<2J zKaXczpz4F>`O;*hT%voMJq|^USvP9%%d~I^0ACAprq4}+!(jT7p(3+Q{7J;KxJ z79Y=GS!iZj-`uX`ix)O|!MMOW6zw+wt%&||z;I`uTLlJ43*F<#+F3v9&i|$xy5Ki! z?TUT1W>$>qeI4brVKW?097K)7#k#s8MPrY#$KwkeWFKXb-lFe6-TRG(dODfenwLPQ z?Cahslt${P-J3ra`Snyz-nWf@O*X^HvS5nEgJ{!Jbqpt~=U}lZ%Ec*#HXW!+1bzGI zBFA)Vv>w1Z=x@0i-9hfJk?irmiLT~f1#`#t62Q|$C9mxVbg-rHMSY>SB}BfIa_rJ^ zQ36>MZEwlY9lpx*c^h4)_oPPMA^X36xE)&q>GJ(` zaSN~JfMti;q*giro3StbLFcI4VaoZ=Bv$Bn^cbCm>Ne*sR@{y3BM*>4K^nKtKZSB> zMi9R09nC*$RNj&Z@>eqtLdtxk*)H8pGclj(-pTlP>g?rOpTee<0fuLnsoW9vh@^Q9&9b&MT!evtJG^wV7!*%;giK$%w zB6Z-lQMc1^0iQ8+B*+_VY;;bn+bI3!1rFC%vo#UL*TLAn2Ga(?y54>qsfG4C1^h5| zz*MN%y(cZ6y}j%UxzAtwr;>N9jTTW_+-XG$=_U{@KBEzoxF~4D`{#L~^^uW@ob`;2 zSIGSuD@QLql{0d-nF2D$zOw5E@!WoRW$AkJW>5rtR7$?+pj%xlWL5{MjYUQDJm)G3 zfz-&@yw%A4J4xg|!Zqq9#9hF zBsz=$@9FjHdB()?lW260o$GBqVU+VXF%D=;Vi^k1=^_Z)S1$4z>)^r2U5G#SKEPni z)2uHP=-{3&XX%|;{{3>&qyxh2sZBw70S+zxGS+&{ZYA+0=M4ZKAvx6-Lc$*=;`Vjn zrR0XLeB2x%%j72XdynqnG-)5O(~J_)jmZkK{jf~Giz{Gf z8>z%JBh0R*YFsLp%JG0dv-L=`$fP-RV5Z?AlF=I& z8N=tAJ3Ez9xIioG&LFUv-MSSN$ZdLTCa{d|ZX2?$?PH>Shp1ZS_IykX1d<4Io}53d zjaenfKG--X>jpWL2V8?r8zDR~^!$K4u86GZ)~LT%XiEL51eI0LmmjXpF+Kis^#@Gn zk8M}{9S7MiZ3NT&9){hHHKFh*CN`SCF@ef%{bxsQiFauh>VGWrjWZP4+DCPP^D`tI zK9?;1_URc>$h>7`ie#$nVDmsVGRXgJMzx?{nh3e^@z!8|*qmXaK)Euf&qvKdth^-Q z6FHMz_R!9qaplZBN)VU_&J{72&<%ey*Dq_=qL0&!gpQbJ4d&Y0FJJpre)8u%xoQr40h3vu5tlms)YnmZ zI}~~YQvoj6+*l}TX=7#H`K*8SC&Y2G8nv3o{%trZUZ*%H#!ojZj4w#}y!C6d!>=?H zwZeJsAOsHuZ4q^=p&8T(InRmtyqLUfoK_ZZ6^yZ7j2HhL$36?D&sn()!A6LdV!c64z@PqEs9eU6 zI)GsBdcQ>X(Zya#>Q?u3%b(>TMdt~$C+xzNVLj`TMJ(zva|vQ7fN`vzcq< z1z>COxLElK^80!g-SP<-yS>S&j_-0`TBuJB?M}AYqH2BjZw+E76TAQ2Cbv5)bfi+n zjW6HzG~ypa{3?P8zRFK)rdoQE!uYn6`T4aVg7EOwEatgqJU8|bAo^_t#WA?@Y+saN zrf}CJ3V`!?ft+EUsCj6i9Pf>F0+MB$%DoQtmHCnbEE~t~R^yT9;>yS5@6sQ@ontt8 z?5y+5BJ54Ih}ElbrG@Y@4LLXc?>Ba>OMhvOS#Jj98P|P#dz?<>{=}EuYafhf%SVLF za&Ydg9X6&mE!t8$-M_{P0t2r~{mnJM73W?Wzc31mwFNCz!D~u_ew6}zA3(f(z?uWA z43?Sh{P1xxxP@W*!#~sHx9xh7^F{!0krwMrJTI2qHB~~o<(+%nyPslwGALA=lJfx# z2=J@HtXXA@7zm&w9u|d`|73as@2TL1IPXC2h1om)y-(1%<}n_xjOV4^JY`Z z|5eN#4Bm$Z4?v@RSv?*J+)7MzP%*cws%hzi>;6^)Z2++Zj!xL96(`9BBeaISE&u+U zfq{RUd3`u)yjEZK_e_g}fftN~^sesjr>fl>|AsQ8KOl^edk6taHw8WbM&}iuL zMB2Q9zi6QxUwrm4H+TygqWeEtc6Yn1TB*g=c@X9N!up2ia@B+z62fBn!x$iA0NFjG z&wyU3GJR^8gGhz@T>938?l@g}?k;w+I+G#V*KP~#TxmY{p&DbVwqFCYXf9_P$9M8J zzEAy)1os|Yes+-E{m&HMD`)|8SUG?HW!U$cl{GqoySY2h^~CXNYd@#^qbltXR+~7Q)9!FD7IedV`Q}pX;X>J91BgQe=#T*&S>E|rRSlOvA zgNOi@nWuN9Q8FrD3ljElkB?H7-2)&mM;`<)7_?cTU`XftH^lxZx-o7aMeTh)%3bZN zjJWVw^9KVl6u|4+zJVx1((1S;e%;S>(5yX|{3!RFroXztz&(v0IC?2B*MdCrkXwgZ z*Os3wx$;Y12PI*|$XfYlcR+R5Z2)TGzB(%k1T@EL!!!$%51=plGi?5^$Fxh_^}b-d z=Cf)ni5=MjTx;A|<$n*G9)!|!ZHs%08X7DZhd5QcbSvFn_~w=gBed^r=}aU@>F1Ky z(#-t=OkLJA9=FQ!efZWHCc3qfdEx?znh7P>Ji0RSxzZV@_$qnXmVMOkzdsr(l{

D2q4FFrJ|I$Z;iL|Muq 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 z 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 literal 0 HcmV?d00001 diff --git a/example/satosa/static/idem/img/IDEM_logo_mono_blu.png b/example/satosa/static/idem/img/IDEM_logo_mono_blu.png new file mode 100644 index 0000000000000000000000000000000000000000..261626fae01735842c3ae0d9b1182d6753bb19f6 GIT binary patch literal 14619 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 WGb}Lu5vX + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/example/satosa/static/js/jquery-3.7.0.min.js b/example/satosa/static/js/jquery-3.7.0.min.js new file mode 100644 index 00000000..e7e29d5b --- /dev/null +++ b/example/satosa/static/js/jquery-3.7.0.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.7.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(ie,e){"use strict";var oe=[],r=Object.getPrototypeOf,ae=oe.slice,g=oe.flat?function(e){return oe.flat.call(e)}:function(e){return oe.concat.apply([],e)},s=oe.push,se=oe.indexOf,n={},i=n.toString,ue=n.hasOwnProperty,o=ue.toString,a=o.call(Object),le={},v=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},y=function(e){return null!=e&&e===e.window},C=ie.document,u={type:!0,src:!0,nonce:!0,noModule:!0};function m(e,t,n){var r,i,o=(n=n||C).createElement("script");if(o.text=e,t)for(r in u)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[i.call(e)]||"object":typeof e}var t="3.7.0",l=/HTML$/i,ce=function(e,t){return new ce.fn.init(e,t)};function c(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!v(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+ge+")"+ge+"*"),x=new RegExp(ge+"|>"),j=new RegExp(g),A=new RegExp("^"+t+"$"),D={ID:new RegExp("^#("+t+")"),CLASS:new RegExp("^\\.("+t+")"),TAG:new RegExp("^("+t+"|[*])"),ATTR:new RegExp("^"+p),PSEUDO:new RegExp("^"+g),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ge+"*(even|odd|(([+-]|)(\\d*)n|)"+ge+"*(?:([+-]|)"+ge+"*(\\d+)|))"+ge+"*\\)|)","i"),bool:new RegExp("^(?:"+f+")$","i"),needsContext:new RegExp("^"+ge+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ge+"*((?:-\\d)?\\d*)"+ge+"*\\)|)(?=[^-]|$)","i")},N=/^(?:input|select|textarea|button)$/i,q=/^h\d$/i,L=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,H=/[+~]/,O=new RegExp("\\\\[\\da-fA-F]{1,6}"+ge+"?|\\\\([^\\r\\n\\f])","g"),P=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},R=function(){V()},M=J(function(e){return!0===e.disabled&&fe(e,"fieldset")},{dir:"parentNode",next:"legend"});try{k.apply(oe=ae.call(ye.childNodes),ye.childNodes),oe[ye.childNodes.length].nodeType}catch(e){k={apply:function(e,t){me.apply(e,ae.call(t))},call:function(e){me.apply(e,ae.call(arguments,1))}}}function I(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(V(e),e=e||T,C)){if(11!==p&&(u=L.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return k.call(n,a),n}else if(f&&(a=f.getElementById(i))&&I.contains(e,a)&&a.id===i)return k.call(n,a),n}else{if(u[2])return k.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&e.getElementsByClassName)return k.apply(n,e.getElementsByClassName(i)),n}if(!(h[t+" "]||d&&d.test(t))){if(c=t,f=e,1===p&&(x.test(t)||m.test(t))){(f=H.test(t)&&z(e.parentNode)||e)==e&&le.scope||((s=e.getAttribute("id"))?s=ce.escapeSelector(s):e.setAttribute("id",s=S)),o=(l=Y(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+Q(l[o]);c=l.join(",")}try{return k.apply(n,f.querySelectorAll(c)),n}catch(e){h(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return re(t.replace(ve,"$1"),e,n,r)}function W(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function F(e){return e[S]=!0,e}function $(e){var t=T.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function B(t){return function(e){return fe(e,"input")&&e.type===t}}function _(t){return function(e){return(fe(e,"input")||fe(e,"button"))&&e.type===t}}function X(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&M(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function U(a){return F(function(o){return o=+o,F(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function z(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function V(e){var t,n=e?e.ownerDocument||e:ye;return n!=T&&9===n.nodeType&&n.documentElement&&(r=(T=n).documentElement,C=!ce.isXMLDoc(T),i=r.matches||r.webkitMatchesSelector||r.msMatchesSelector,ye!=T&&(t=T.defaultView)&&t.top!==t&&t.addEventListener("unload",R),le.getById=$(function(e){return r.appendChild(e).id=ce.expando,!T.getElementsByName||!T.getElementsByName(ce.expando).length}),le.disconnectedMatch=$(function(e){return i.call(e,"*")}),le.scope=$(function(){return T.querySelectorAll(":scope")}),le.cssHas=$(function(){try{return T.querySelector(":has(*,:jqfake)"),!1}catch(e){return!0}}),le.getById?(b.filter.ID=function(e){var t=e.replace(O,P);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(O,P);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):t.querySelectorAll(e)},b.find.CLASS=function(e,t){if("undefined"!=typeof t.getElementsByClassName&&C)return t.getElementsByClassName(e)},d=[],$(function(e){var t;r.appendChild(e).innerHTML="",e.querySelectorAll("[selected]").length||d.push("\\["+ge+"*(?:value|"+f+")"),e.querySelectorAll("[id~="+S+"-]").length||d.push("~="),e.querySelectorAll("a#"+S+"+*").length||d.push(".#.+[+~]"),e.querySelectorAll(":checked").length||d.push(":checked"),(t=T.createElement("input")).setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),r.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&d.push(":enabled",":disabled"),(t=T.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||d.push("\\["+ge+"*name"+ge+"*="+ge+"*(?:''|\"\")")}),le.cssHas||d.push(":has"),d=d.length&&new RegExp(d.join("|")),l=function(e,t){if(e===t)return a=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!le.sortDetached&&t.compareDocumentPosition(e)===n?e===T||e.ownerDocument==ye&&I.contains(ye,e)?-1:t===T||t.ownerDocument==ye&&I.contains(ye,t)?1:o?se.call(o,e)-se.call(o,t):0:4&n?-1:1)}),T}for(e in I.matches=function(e,t){return I(e,null,null,t)},I.matchesSelector=function(e,t){if(V(e),C&&!h[t+" "]&&(!d||!d.test(t)))try{var n=i.call(e,t);if(n||le.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){h(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(O,P),e[3]=(e[3]||e[4]||e[5]||"").replace(O,P),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||I.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&I.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return D.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&j.test(n)&&(t=Y(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(O,P).toLowerCase();return"*"===e?function(){return!0}:function(e){return fe(e,t)}},CLASS:function(e){var t=s[e+" "];return t||(t=new RegExp("(^|"+ge+")"+e+"("+ge+"|$)"))&&s(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=I.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function T(e,n,r){return v(n)?ce.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?ce.grep(e,function(e){return e===n!==r}):"string"!=typeof n?ce.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(ce.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||k,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:S.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof ce?t[0]:t,ce.merge(this,ce.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:C,!0)),w.test(r[1])&&ce.isPlainObject(t))for(r in t)v(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=C.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):v(e)?void 0!==n.ready?n.ready(e):e(ce):ce.makeArray(e,this)}).prototype=ce.fn,k=ce(C);var E=/^(?:parents|prev(?:Until|All))/,j={children:!0,contents:!0,next:!0,prev:!0};function A(e,t){while((e=e[t])&&1!==e.nodeType);return e}ce.fn.extend({has:function(e){var t=ce(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,Ce=/^$|^module$|\/(?:java|ecma)script/i;xe=C.createDocumentFragment().appendChild(C.createElement("div")),(be=C.createElement("input")).setAttribute("type","radio"),be.setAttribute("checked","checked"),be.setAttribute("name","t"),xe.appendChild(be),le.checkClone=xe.cloneNode(!0).cloneNode(!0).lastChild.checked,xe.innerHTML="",le.noCloneChecked=!!xe.cloneNode(!0).lastChild.defaultValue,xe.innerHTML="",le.option=!!xe.lastChild;var ke={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function Se(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&fe(e,t)?ce.merge([e],n):n}function Ee(e,t){for(var n=0,r=e.length;n",""]);var je=/<|&#?\w+;/;function Ae(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function Me(e,t){return fe(e,"table")&&fe(11!==t.nodeType?t:t.firstChild,"tr")&&ce(e).children("tbody")[0]||e}function Ie(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function We(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Fe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(_.hasData(e)&&(s=_.get(e).events))for(i in _.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),C.head.appendChild(r[0])},abort:function(){i&&i()}}});var Jt,Kt=[],Zt=/(=)\?(?=&|$)|\?\?/;ce.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Kt.pop()||ce.expando+"_"+jt.guid++;return this[e]=!0,e}}),ce.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Zt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Zt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=v(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Zt,"$1"+r):!1!==e.jsonp&&(e.url+=(At.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||ce.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=ie[r],ie[r]=function(){o=arguments},n.always(function(){void 0===i?ce(ie).removeProp(r):ie[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Kt.push(r)),o&&v(i)&&i(o[0]),o=i=void 0}),"script"}),le.createHTMLDocument=((Jt=C.implementation.createHTMLDocument("").body).innerHTML="
",2===Jt.childNodes.length),ce.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(le.createHTMLDocument?((r=(t=C.implementation.createHTMLDocument("")).createElement("base")).href=C.location.href,t.head.appendChild(r)):t=C),o=!n&&[],(i=w.exec(e))?[t.createElement(i[1])]:(i=Ae([e],t,o),o&&o.length&&ce(o).remove(),ce.merge([],i.childNodes)));var r,i,o},ce.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(ce.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},ce.expr.pseudos.animated=function(t){return ce.grep(ce.timers,function(e){return t===e.elem}).length},ce.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=ce.css(e,"position"),c=ce(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=ce.css(e,"top"),u=ce.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),v(t)&&(t=t.call(e,n,ce.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},ce.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){ce.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===ce.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===ce.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=ce(e).offset()).top+=ce.css(e,"borderTopWidth",!0),i.left+=ce.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-ce.css(r,"marginTop",!0),left:t.left-i.left-ce.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===ce.css(e,"position"))e=e.offsetParent;return e||J})}}),ce.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;ce.fn[t]=function(e){return R(this,function(e,t,n){var r;if(y(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),ce.each(["top","left"],function(e,n){ce.cssHooks[n]=Ye(le.pixelPosition,function(e,t){if(t)return t=Ge(e,n),_e.test(t)?ce(e).position()[n]+"px":t})}),ce.each({Height:"height",Width:"width"},function(a,s){ce.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){ce.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return R(this,function(e,t,n){var r;return y(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?ce.css(e,t,i):ce.style(e,t,n,i)},s,n?e:void 0,n)}})}),ce.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){ce.fn[t]=function(e){return this.on(t,e)}}),ce.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),ce.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){ce.fn[n]=function(e,t){return 0 Math.random() - 0.5) // ** Values ** diff --git a/example/satosa/spid/spid-sp-access-button.css b/example/satosa/static/spid/spid-sp-access-button.css similarity index 100% rename from example/satosa/spid/spid-sp-access-button.css rename to example/satosa/static/spid/spid-sp-access-button.css diff --git a/example/satosa/spid/spid-sp-access-button.js b/example/satosa/static/spid/spid-sp-access-button.js similarity index 100% rename from example/satosa/spid/spid-sp-access-button.js rename to example/satosa/static/spid/spid-sp-access-button.js diff --git a/example/satosa/spid/spid_button.js b/example/satosa/static/spid/spid_button.js similarity index 100% rename from example/satosa/spid/spid_button.js rename to example/satosa/static/spid/spid_button.js diff --git a/example/satosa/spid/spid_icon.svg b/example/satosa/static/spid/spid_icon.svg similarity index 100% rename from example/satosa/spid/spid_icon.svg rename to example/satosa/static/spid/spid_icon.svg diff --git a/example/satosa/spid/svg/sprite.svg b/example/satosa/static/spid/svg/sprite.svg similarity index 100% rename from example/satosa/spid/svg/sprite.svg rename to example/satosa/static/spid/svg/sprite.svg diff --git a/example/satosa/static/wallet-it/wallet_icon.svg b/example/satosa/static/wallet-it/wallet_icon.svg new file mode 100644 index 00000000..957fe49c --- /dev/null +++ b/example/satosa/static/wallet-it/wallet_icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/example/satosa/templates/base.html b/example/satosa/templates/base.html index e26062eb..27177dbb 100644 --- a/example/satosa/templates/base.html +++ b/example/satosa/templates/base.html @@ -5,10 +5,18 @@ {% block title %}{{ title }}{% endblock title %} + + + + + + + -

{{ test_name }} Results

+

{{ title }}

{% block body %}{% endblock %} + diff --git a/example/satosa/templates/qr_code.html b/example/satosa/templates/qr_code.html index 6be0d151..be220f08 100644 --- a/example/satosa/templates/qr_code.html +++ b/example/satosa/templates/qr_code.html @@ -2,9 +2,143 @@ {% block body %} +
+
+
+

Inquadra il QR code

+
+
+
+
Inquadra il QR code con la fotocamera del tuo smartphone, oppure utilizza la funzionalità "inquadra" disponibile nell'app IO.
+
+
+
+ +
+

Il codice è valido per secondi

+ +
+
+
+
+ +
+
+
+
+
-

Inquadra il qr code con il tuo smartphone

+ {% endblock body %} diff --git a/example/satosa/templates/qrcode.svg b/example/satosa/templates/qrcode.svg new file mode 100644 index 00000000..4d9be062 --- /dev/null +++ b/example/satosa/templates/qrcode.svg @@ -0,0 +1,873 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/example/satosa/wallet-it/smartphone.svg b/example/satosa/wallet-it/smartphone.svg deleted file mode 100644 index 9e96f90c..00000000 --- a/example/satosa/wallet-it/smartphone.svg +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/example/satosa/wallet-it/smartphone2.svg b/example/satosa/wallet-it/smartphone2.svg deleted file mode 100644 index 4d39910d..00000000 --- a/example/satosa/wallet-it/smartphone2.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/example/satosa/wallet-it/wallet_12.svg b/example/satosa/wallet-it/wallet_12.svg deleted file mode 100644 index e003bd87..00000000 --- a/example/satosa/wallet-it/wallet_12.svg +++ /dev/null @@ -1,11 +0,0 @@ - \ No newline at end of file From 8ce2aaed1759dbce9146541bfdad7493317e8f18 Mon Sep 17 00:00:00 2001 From: Pasquale De Rose Date: Fri, 4 Aug 2023 16:03:55 +0200 Subject: [PATCH 34/53] fix: fixed test test_update_st_es_case_source_endpoint --- .../test_static_trust_chain_validator.py | 33 +++++++++++-------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/pyeudiw/tests/federation/test_static_trust_chain_validator.py b/pyeudiw/tests/federation/test_static_trust_chain_validator.py index 5b7a2bdb..fde36eaa 100644 --- a/pyeudiw/tests/federation/test_static_trust_chain_validator.py +++ b/pyeudiw/tests/federation/test_static_trust_chain_validator.py @@ -5,15 +5,11 @@ from pyeudiw.federation.trust_chain_validator import StaticTrustChainValidator import pyeudiw.federation.trust_chain_validator as tcv_test - # pip install cryptojwt -from cryptojwt.jwk.rsa import new_rsa_key from cryptojwt.jws.jws import JWS - +from cryptojwt.jwk.rsa import new_rsa_key from pyeudiw.tools.utils import iat_now, exp_from_now -from pyeudiw.federation.schema import is_es - # Create private keys leaf_jwk = new_rsa_key() intermediate_jwk = new_rsa_key() @@ -163,7 +159,6 @@ "homepage_uri": "https://verifier.example.org/home", "policy_uri": "https://verifier.example.org/policy", "logo_uri": "https://verifier.example.org/static/logo.svg", - "federation_fetch_endpoint": "https://verifier.example.org/fetch", "contacts": [ "tech@verifier.example.org" ] @@ -181,12 +176,17 @@ 'iss': 'https://intermediate.eidas.example.org', 'sub': 'https://intermediate.eidas.example.org', 'jwks': {"keys": []}, - 'metadata': {'federation_entity': {'contacts': ['soggetto@intermediate.eidas.example.it'], - 'federation_fetch_endpoint': 'https://intermediate.eidas.example.org/fetch/', - 'federation_resolve_endpoint': 'https://intermediate.eidas.example.org/resolve/', - 'federation_list_endpoint': 'https://intermediate.eidas.example.org/list/', - 'homepage_uri': 'https://soggetto.intermediate.eidas.example.it', - 'name': 'Example Intermediate intermediate.eidas.example'}}, + 'metadata': { + 'federation_entity': { + 'contacts': ['soggetto@intermediate.eidas.example.it'], + 'federation_fetch_endpoint': 'https://intermediate.eidas.example.org/fetch/', + 'federation_resolve_endpoint': 'https://intermediate.eidas.example.org/resolve/', + 'federation_list_endpoint': 'https://intermediate.eidas.example.org/list/', + 'homepage_uri': 'https://soggetto.intermediate.eidas.example.it', + "federation_fetch_endpoint": "https://verifier.example.org/fetch", + 'name': 'Example Intermediate intermediate.eidas.example' + } + }, 'trust_marks': [{'id': 'https://registry.gov.org/intermediate/private/full/', 'trust_mark': 'eyJh …'}], 'authority_hints': ['https://registry.eidas.trust-anchor.example.eu']} @@ -373,7 +373,11 @@ def mock_method(*args, **kwargs): assert tcv_test.StaticTrustChainValidator( invalid_trust_chain, [ta_jwk.serialize()])._update_st(ta_es_signed) == leaf_ec_signed -def test_update_st_es_case_source_endpoint(): +def test_update_st_es_case_source_endpoint(): + intermediate_signer = JWS(intermediate_ec, alg="RS256", + typ="application/entity-statement+jwt") + intermediate_ec_signed = intermediate_signer.sign_compact([intermediate_jwk]) + ta_es = { "exp": EXP, "iat": NOW, @@ -387,12 +391,13 @@ def test_update_st_es_case_source_endpoint(): def mock_method_ec(*args, **kwargs): if args[0] == "https://trust-anchor.example.eu": - return [leaf_ec_signed] + return [intermediate_ec_signed] raise Exception("Wrong issuer") def mock_method_es(*args, **kwargs): if args[0] == "https://verifier.example.org/fetch": return leaf_ec_signed + breakpoint() raise Exception("Wrong issuer") with mock.patch.object(tcv_test, "get_entity_statements", mock_method_es): From 1f52b76db6c9997f9acd773332f550a5088b670e Mon Sep 17 00:00:00 2001 From: Pasquale De Rose Date: Fri, 4 Aug 2023 16:12:18 +0200 Subject: [PATCH 35/53] fix: removed endpoint --- pyeudiw/tests/federation/test_static_trust_chain_validator.py | 1 - 1 file changed, 1 deletion(-) diff --git a/pyeudiw/tests/federation/test_static_trust_chain_validator.py b/pyeudiw/tests/federation/test_static_trust_chain_validator.py index fde36eaa..8396a4c7 100644 --- a/pyeudiw/tests/federation/test_static_trust_chain_validator.py +++ b/pyeudiw/tests/federation/test_static_trust_chain_validator.py @@ -397,7 +397,6 @@ def mock_method_ec(*args, **kwargs): def mock_method_es(*args, **kwargs): if args[0] == "https://verifier.example.org/fetch": return leaf_ec_signed - breakpoint() raise Exception("Wrong issuer") with mock.patch.object(tcv_test, "get_entity_statements", mock_method_es): From a3253ccde00f352e99fe5e88acbeac78698d0406 Mon Sep 17 00:00:00 2001 From: Pasquale De Rose Date: Fri, 4 Aug 2023 16:23:01 +0200 Subject: [PATCH 36/53] test: added tests for dchema file --- pyeudiw/tests/federation/test_schema.py | 49 +++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 pyeudiw/tests/federation/test_schema.py diff --git a/pyeudiw/tests/federation/test_schema.py b/pyeudiw/tests/federation/test_schema.py new file mode 100644 index 00000000..b3a40a5d --- /dev/null +++ b/pyeudiw/tests/federation/test_schema.py @@ -0,0 +1,49 @@ +import pytest + +from pyeudiw.tools.utils import iat_now, exp_from_now +from pyeudiw.federation.schema import is_es, is_ec + +NOW = iat_now() +EXP = exp_from_now(5) + +ta_es = { + "exp": EXP, + "iat": NOW, + "iss": "https://trust-anchor.example.eu", + "sub": "https://intermediate.eidas.example.org", + 'jwks': {"keys": []}, + "source_endpoint": "https://rp.example.it" +} + +ta_ec = { + "exp": EXP, + "iat": NOW, + 'iss': 'https://registry.eidas.trust-anchor.example.eu/', + 'sub': 'https://registry.eidas.trust-anchor.example.eu/', + 'jwks': {"keys": []}, + 'metadata': {'federation_entity': {'organization_name': 'example TA', + 'contacts': ['tech@eidas.trust-anchor.example.eu'], + 'homepage_uri': 'https://registry.eidas.trust-anchor.example.eu/', + 'logo_uri': 'https://registry.eidas.trust-anchor.example.eu/static/svg/logo.svg', + 'federation_fetch_endpoint': 'https://registry.eidas.trust-anchor.example.eu/fetch/', + 'federation_resolve_endpoint': 'https://registry.eidas.trust-anchor.example.eu/resolve/', + 'federation_list_endpoint': 'https://registry.eidas.trust-anchor.example.eu/list/', + 'federation_trust_mark_status_endpoint': 'https://registry.eidas.trust-anchor.example.eu/trust_mark_status/'}}, + 'trust_marks_issuers': {'https://registry.eidas.trust-anchor.example.eu/openid_relying_party/public/': ['https://registry.spid.eidas.trust-anchor.example.eu/', + 'https://public.intermediary.spid.org/'], + 'https://registry.eidas.trust-anchor.example.eu/openid_relying_party/private/': ['https://registry.spid.eidas.trust-anchor.example.eu/', + 'https://private.other.intermediary.org/']}, + 'constraints': {'max_path_length': 1}} + + +def test_is_es(): + assert is_es(ta_es) == True + +def test_is_es_false(): + assert is_es(ta_ec) == False + +def test_is_ec(): + assert is_ec(ta_ec) == True + +def test_is_ec_false(): + assert is_ec(ta_es) == False \ No newline at end of file From edda541032cd49ccdaf6b6f2ff44d42e9bba222b Mon Sep 17 00:00:00 2001 From: Pasquale De Rose Date: Fri, 4 Aug 2023 16:36:38 +0200 Subject: [PATCH 37/53] test: initial tests for policy.py --- pyeudiw/tests/federation/test_policy.py | 96 +++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 pyeudiw/tests/federation/test_policy.py diff --git a/pyeudiw/tests/federation/test_policy.py b/pyeudiw/tests/federation/test_policy.py new file mode 100644 index 00000000..ac523c2e --- /dev/null +++ b/pyeudiw/tests/federation/test_policy.py @@ -0,0 +1,96 @@ +import pytest + +from pyeudiw.federation.policy import ( + do_sub_one_super_add, POLICY_FUNCTIONS, OP2FUNC, PolicyError, do_value +) + +def test_do_sub_one_super_add_subset_of(): + SUPERIOR = { + "subset_of": set(["test_a", "test_b"]) + } + + CHILD = { + "subset_of": set(["test_a", "test_d"]) + } + + policy = do_sub_one_super_add(SUPERIOR, CHILD, "subset_of") + assert policy == ['test_a'] + +def test_do_sub_one_super_add_subset_of_fail(): + SUPERIOR = { + "subset_of": set(["test_a", "test_b"]) + } + + CHILD = { + "subset_of": set(["test_q", "test_d"]) + } + + try: + do_sub_one_super_add(SUPERIOR, CHILD, "subset_of") + except PolicyError as e: + return + +def test_do_sub_one_super_add_combine_superset_of(): + SUPERIOR = { + "superset_of": set(["test_a", "test_b"]) + } + + CHILD = { + "superset_of": set(["test_a", "test_d"]) + } + + policy = do_sub_one_super_add(SUPERIOR, CHILD, "superset_of") + assert policy == ['test_a'] + +def test_do_sub_one_super_add_subset_of_fail(): + SUPERIOR = { + "superset_of": set(["test_a", "test_b"]) + } + + CHILD = { + "superset_of": set(["test_q", "test_d"]) + } + + try: + do_sub_one_super_add(SUPERIOR, CHILD, "superset_of") + except PolicyError as e: + return + +def test_do_value_superset_of(): + SUPERIOR = { + "superset_of": set(["test_a", "test_b"]) + } + + CHILD = { + "superset_of": set(["test_a", "test_b"]) + } + + policy = do_value(SUPERIOR, CHILD, "superset_of") + assert policy == set(["test_a", "test_b"]) + +def test_do_value_superset_of_fail(): + SUPERIOR = { + "superset_of": set(["test_a", "test_b"]) + } + + CHILD = { + "superset_of": set(["test_q", "test_d"]) + } + + try: + do_value(SUPERIOR, CHILD, "superset_of") + except PolicyError as e: + return + + +def test_do_value_superset_of(): + SUPERIOR = { + "superset_of": set(["test_a", "test_b"]) + } + + CHILD = { + "superset_of": set(["test_a", "test_b"]) + } + + policy = do_value(SUPERIOR, CHILD, "superset_of") + assert policy == set(["test_a", "test_b"]) \ No newline at end of file From e9df40231971b09447313215a1219c0e66a51b2a Mon Sep 17 00:00:00 2001 From: Salvatore Laiso <32564922+salvatorelaiso@users.noreply.github.com> Date: Fri, 4 Aug 2023 18:26:00 +0200 Subject: [PATCH 38/53] refactor: schema validations (#84) * fix: Optional type annotations requires default value `None` * feat: add entity configuration schema * chore: linting * feat: add entity configuration validation with optional context * fix: default algorithms * chore: linting * refactor: refactor schema * refactor: refactor wallet instance and vp token schemas `x5c` and `trust_chain` in WalletInstanceAttestationHeader are now Optional. * feat: add sd-jwt schema * fix: check `vp_token` is in a JWT format Response's `vp_token` field is a JWS containing a single (or an array) of Verifiable Presentation(s) in the form of JWS. * feat: check `vp` is in a SD-JWT format VPToken's `vp` field is the digital credential in SD-JWT format. * chore: isort * refactor: refactor response schema under schemas * fix: cnf validation * fix: syntax * fix: attestation request `typ` * fix: update import * fix: input descriptor format schema * chore: linting * tests: test schema --- .../schemas/entity_configuration.py | 32 +- .../schemas/wallet_relying_party.py | 2 +- pyeudiw/jwk/__init__.py | 7 +- pyeudiw/jwt/__init__.py | 6 +- pyeudiw/jwt/utils.py | 8 + pyeudiw/oauth2/dpop/__init__.py | 8 +- pyeudiw/oauth2/dpop/schema.py | 6 +- pyeudiw/openid4vp/__init__.py | 2 +- pyeudiw/openid4vp/schema.py | 261 -------------- pyeudiw/openid4vp/schemas/__init__.py | 0 pyeudiw/openid4vp/schemas/cnf_schema.py | 7 + pyeudiw/openid4vp/schemas/response_schema.py | 31 ++ pyeudiw/openid4vp/schemas/vp_token.py | 36 ++ .../schemas/wallet_instance_attestation.py | 55 +++ .../wallet_instance_attestation_request.py | 31 ++ .../schemas/presentation_definition.py | 21 +- pyeudiw/satosa/backend.py | 23 +- pyeudiw/sd_jwt/__init__.py | 6 +- pyeudiw/sd_jwt/schema.py | 32 +- pyeudiw/storage/db_engine.py | 5 +- pyeudiw/storage/mongo_cache.py | 3 +- pyeudiw/storage/mongo_storage.py | 3 +- pyeudiw/tests/__init__.py | 0 pyeudiw/tests/federation/__init__.py | 0 pyeudiw/tests/federation/schemas/__init__.py | 0 .../schemas/test_entity_configuration.py | 266 ++++++++++++++ pyeudiw/tests/oauth2/test_dpop.py | 5 +- pyeudiw/tests/oauth2/test_sd_jwt.py | 8 +- pyeudiw/tests/openid4vp/__init__.py | 0 pyeudiw/tests/openid4vp/schemas/__init__.py | 0 .../tests/openid4vp/schemas/test_schema.py | 326 ++++++++++++++++++ .../tests/openid4vp/schemas/test_vp_token.py | 52 +++ .../test_wallet_instance_attestation.py | 136 ++++++++ ...est_wallet_instance_attestation_request.py | 64 ++++ .../tests/presentation_exchange/__init__.py | 0 .../presentation_exchange/schemas/__init__.py | 0 .../schemas/test_presentation_definition.py | 151 ++++++++ pyeudiw/tests/satosa/test_backend.py | 26 +- pyeudiw/tests/storage/test_db_engine.py | 1 + pyeudiw/tests/storage/test_mongo_cache.py | 1 + pyeudiw/tests/storage/test_mongo_storage.py | 1 + pyeudiw/tests/test_jwt.py | 3 +- pyeudiw/tests/tools/test_utils.py | 5 +- pyeudiw/tools/schema_utils.py | 26 ++ pyeudiw/tools/utils.py | 4 +- 45 files changed, 1291 insertions(+), 369 deletions(-) delete mode 100644 pyeudiw/openid4vp/schema.py create mode 100644 pyeudiw/openid4vp/schemas/__init__.py create mode 100644 pyeudiw/openid4vp/schemas/cnf_schema.py create mode 100644 pyeudiw/openid4vp/schemas/response_schema.py create mode 100644 pyeudiw/openid4vp/schemas/vp_token.py create mode 100644 pyeudiw/openid4vp/schemas/wallet_instance_attestation.py create mode 100644 pyeudiw/openid4vp/schemas/wallet_instance_attestation_request.py create mode 100644 pyeudiw/tests/__init__.py create mode 100644 pyeudiw/tests/federation/__init__.py create mode 100644 pyeudiw/tests/federation/schemas/__init__.py create mode 100644 pyeudiw/tests/federation/schemas/test_entity_configuration.py create mode 100644 pyeudiw/tests/openid4vp/__init__.py create mode 100644 pyeudiw/tests/openid4vp/schemas/__init__.py create mode 100644 pyeudiw/tests/openid4vp/schemas/test_schema.py create mode 100644 pyeudiw/tests/openid4vp/schemas/test_vp_token.py create mode 100644 pyeudiw/tests/openid4vp/schemas/test_wallet_instance_attestation.py create mode 100644 pyeudiw/tests/openid4vp/schemas/test_wallet_instance_attestation_request.py create mode 100644 pyeudiw/tests/presentation_exchange/__init__.py create mode 100644 pyeudiw/tests/presentation_exchange/schemas/__init__.py create mode 100644 pyeudiw/tests/presentation_exchange/schemas/test_presentation_definition.py create mode 100644 pyeudiw/tools/schema_utils.py diff --git a/pyeudiw/federation/schemas/entity_configuration.py b/pyeudiw/federation/schemas/entity_configuration.py index 09fe7bc7..4dcdf1cd 100644 --- a/pyeudiw/federation/schemas/entity_configuration.py +++ b/pyeudiw/federation/schemas/entity_configuration.py @@ -3,34 +3,10 @@ from pydantic import BaseModel, HttpUrl, field_validator from pydantic_core.core_schema import FieldValidationInfo -from pyeudiw.jwk.schema import JwksSchema from pyeudiw.federation.schemas.federation_entity import FederationEntity from pyeudiw.federation.schemas.wallet_relying_party import WalletRelyingParty - - -_default_supported_algorithms = [ - "RS256", - "RS384", - "RS512", - "ES256", - "ES384", - "ES512", - "PS256", - "PS384", - "PS512", -] - - -def _check_alg(alg: str, info: FieldValidationInfo): - if not info.context: - supported_algorithms = _default_supported_algorithms - else: - supported_algorithms = info.context.get( - "supported_algorithms", _default_supported_algorithms) - - if alg not in supported_algorithms: - raise ValueError(f"Unsupported algorithm: {alg}.\n " - f"Supported algorithms: {supported_algorithms}.\n") +from pyeudiw.jwk.schema import JwksSchema +from pyeudiw.tools.schema_utils import check_algorithm class EntityConfigurationHeader(BaseModel): @@ -40,8 +16,8 @@ class EntityConfigurationHeader(BaseModel): @field_validator("alg") @classmethod - def check_alg(cls, alg, info: FieldValidationInfo): - return _check_alg(alg, info) + def _check_alg(cls, alg, info: FieldValidationInfo): + return check_algorithm(alg, info) class EntityConfigurationMetadataSchema(BaseModel): diff --git a/pyeudiw/federation/schemas/wallet_relying_party.py b/pyeudiw/federation/schemas/wallet_relying_party.py index 2155afae..3b89c03a 100644 --- a/pyeudiw/federation/schemas/wallet_relying_party.py +++ b/pyeudiw/federation/schemas/wallet_relying_party.py @@ -1,4 +1,4 @@ -from typing import List, Dict, Any +from typing import Any, Dict, List from pydantic import BaseModel, HttpUrl, field_validator from pydantic_core.core_schema import FieldValidationInfo diff --git a/pyeudiw/jwk/__init__.py b/pyeudiw/jwk/__init__.py index 27674365..4271ac95 100644 --- a/pyeudiw/jwk/__init__.py +++ b/pyeudiw/jwk/__init__.py @@ -1,11 +1,10 @@ import json - from typing import Union -from cryptojwt.jwk.jwk import key_from_jwk_dict + +from cryptography.hazmat.primitives import serialization from cryptojwt.jwk.ec import new_ec_key +from cryptojwt.jwk.jwk import key_from_jwk_dict from cryptojwt.jwk.rsa import new_rsa_key -from cryptography.hazmat.primitives import serialization - KEY_TYPES_FUNC = dict( EC=new_ec_key, diff --git a/pyeudiw/jwt/__init__.py b/pyeudiw/jwt/__init__.py index e6485eeb..a58478b3 100644 --- a/pyeudiw/jwt/__init__.py +++ b/pyeudiw/jwt/__init__.py @@ -1,18 +1,18 @@ import binascii import json +from typing import Union import cryptojwt from cryptojwt.exception import VerificationError +from cryptojwt.jwe.jwe import factory from cryptojwt.jwe.jwe_ec import JWE_EC from cryptojwt.jwe.jwe_rsa import JWE_RSA from cryptojwt.jwk.jwk import key_from_jwk_dict -from cryptojwt.jwe.jwe import factory from cryptojwt.jws.jws import JWS as JWSec -from typing import Union from pyeudiw.jwk import JWK -from pyeudiw.jwt.utils import unpad_jwt_header from pyeudiw.jwk.exceptions import KidError +from pyeudiw.jwt.utils import unpad_jwt_header DEFAULT_HASH_FUNC = "SHA-256" diff --git a/pyeudiw/jwt/utils.py b/pyeudiw/jwt/utils.py index 245c5cd2..311a260a 100644 --- a/pyeudiw/jwt/utils.py +++ b/pyeudiw/jwt/utils.py @@ -1,5 +1,8 @@ import base64 import json +import re + +JWT_REGEXP = r"^(([-A-Za-z0-9\=_])*\.([-A-Za-z0-9\=_])*\.([-A-Za-z0-9\=_])*)$" def unpad_jwt_element(jwt: str, position: int) -> dict: @@ -29,3 +32,8 @@ def get_jwk_from_jwt(jwt: str, provider_jwks: dict) -> dict: if jwk["kid"] == kid: return jwk return {} + + +def is_jwt_format(jwt: str) -> bool: + res = re.match(JWT_REGEXP, jwt) + return bool(res) diff --git a/pyeudiw/oauth2/dpop/__init__.py b/pyeudiw/oauth2/dpop/__init__.py index b7c8b3fe..60b2b866 100644 --- a/pyeudiw/oauth2/dpop/__init__.py +++ b/pyeudiw/oauth2/dpop/__init__.py @@ -2,12 +2,12 @@ import logging import uuid -from pyeudiw.jwt import JWSHelper -from pyeudiw.jwt.utils import unpad_jwt_payload, unpad_jwt_header from pyeudiw.jwk.exceptions import KidError +from pyeudiw.jwt import JWSHelper +from pyeudiw.jwt.utils import unpad_jwt_header, unpad_jwt_payload +from pyeudiw.oauth2.dpop.schema import (DPoPTokenHeaderSchema, + DPoPTokenPayloadSchema) from pyeudiw.tools.utils import iat_now -from pyeudiw.oauth2.dpop.schema import ( - DPoPTokenHeaderSchema, DPoPTokenPayloadSchema) logger = logging.getLogger("pyeudiw.oauth2.dpop") diff --git a/pyeudiw/oauth2/dpop/schema.py b/pyeudiw/oauth2/dpop/schema.py index f0cfc185..2674fbfb 100644 --- a/pyeudiw/oauth2/dpop/schema.py +++ b/pyeudiw/oauth2/dpop/schema.py @@ -1,7 +1,7 @@ -from pydantic import BaseModel, HttpUrl - from typing import Literal +from pydantic import BaseModel, HttpUrl + class DPoPTokenHeaderSchema(BaseModel): # header @@ -17,7 +17,7 @@ class DPoPTokenHeaderSchema(BaseModel): "PS384", "PS512", ] - # TODO - dynamic schema loader if EC or RSA + # TODO - dynamic schemas loader if EC or RSA # jwk: JwkSchema diff --git a/pyeudiw/openid4vp/__init__.py b/pyeudiw/openid4vp/__init__.py index f9244884..a0a7e671 100644 --- a/pyeudiw/openid4vp/__init__.py +++ b/pyeudiw/openid4vp/__init__.py @@ -1,8 +1,8 @@ from typing import Tuple from pyeudiw.jwk import JWK -from pyeudiw.sd_jwt import verify_sd_jwt from pyeudiw.jwt.utils import unpad_jwt_payload +from pyeudiw.sd_jwt import verify_sd_jwt def check_vp_token(vp_token: str, config: dict, sd_specification: dict, sd_jwt: dict) -> Tuple[str | None, dict]: diff --git a/pyeudiw/openid4vp/schema.py b/pyeudiw/openid4vp/schema.py deleted file mode 100644 index 5c0e3a38..00000000 --- a/pyeudiw/openid4vp/schema.py +++ /dev/null @@ -1,261 +0,0 @@ -from typing import Optional - -from pydantic import BaseModel, create_model, HttpUrl -from pydantic_core.core_schema import FieldValidationInfo -from typing_extensions import Annotated, Literal -from pydantic.functional_validators import AfterValidator, field_validator - -from pyeudiw.jwk.schema import JwkSchema -from pyeudiw.sd_jwt.schema import check_sd_jwt, check_sd_jwt_list - - -class DescriptorSchema(BaseModel): - id: str - path: str - format: str - - -class PresentationSubmissionSchema(BaseModel): - definition_id: str - id: str - descriptor_map: list[DescriptorSchema] - - -class ResponseSchema(BaseModel): - state: Optional[str] - vp_token: Annotated[str, AfterValidator( - check_sd_jwt)] | Annotated[list[str], AfterValidator(check_sd_jwt_list)] - presentation_submission: PresentationSubmissionSchema - - -header_model_name = "Header" -payload_model_name = "Payload" -cnf_model_name = "Cnf" -formats_supported_schema = "VpFormatsSupported" -vp_model_name = "JwtVpJson" -vc_model_name = "JwtVcJson" - - -_default_supported_algorithms = [ - "RS256", - "RS384", - "RS512", - "ES256", - "ES384", - "ES512", - "PS256", - "PS384", - "PS512", -] - - -def check_alg(alg: str, info: FieldValidationInfo): - if not info.context: - supported_algorithms = _default_supported_algorithms - else: - supported_algorithms = info.context.get( - "supported_algorithms", _default_supported_algorithms) - - if alg not in supported_algorithms: - raise ValueError(f"Unsupported algorithm: {alg}.\n " - f"Supported algorithms: {supported_algorithms}.\n") - - -class VPToken(BaseModel): - """ - Schema to validate a VP Token. The token, in the form of a JWS header and payload, - has the properties listed below. - Header: - - alg: The algorithm used to sign the JWT. - - typ: "JWT". - - kid: The key identifier. - Payload: - - vp: The digital credential in its original state. - `~~~...~` - - jti: JWS Unique identifier. - - iat: Unix timestamp of the issuance datetime. - - exp: Unix timestamp beyond which the presentation of the digital credential will no longer be considered - valid. - - aud: Audience of the VP, corresponding to the redirect_uri within the Authorization request issued by the - Relying Party. - - nonce: Nonce provided by the Verifier within the Authorization Request. - """ - header: create_model(header_model_name, - typ=(Literal["JWT"], ...), - alg=(str, ...), - kid=(str, ...), - ) - - payload: create_model(payload_model_name, - vp=(str, ...), - jti=(str, ...), - iat=(int, ...), - exp=(int, ...), - aud=(HttpUrl, ...), - nonce=(str, ...), - ) - - @field_validator("header") - @classmethod - def check_alg(cls, header, info: FieldValidationInfo): - check_alg(header.alg, info) - return header - - -class WalletInstanceRequest(BaseModel): - """ - Schema to validate a Wallet Instance Request. The request, in the form of a JWT header and payload, - has the properties listed below. - Header: - - alg: Algorithm to verify the token signature - - typ: Media type, in this case we use the value var+jwt (Verifiable Assertion Request JWT) - - kid: Key id of the Wallet Instance - Payload: - - iss: - The thumbprint - of the JWK of the Wallet Instance - for which the attestation is - being requested. - - aud: - The public url of the Wallet Instance - attestation issuer. - - jti: - Unique identifier of the request. - This parameter will be used to - avoid replay attacks. - - type: String: "WalletInstanceRequest". - - nonce: - The nonce obtained from the - Wallet Provider. - - cnf: - This parameter will contain the - configuration of the Wallet - Instance in JSON format. Among - the mandatory attributes there - will be the jwk parameter - containing the public key of the - Wallet Instance. It will also - contain all the information - useful for the Wallet Provider - to verify that the app is genuine. - # TODO: check why iat and exp are not in the table but found in the example - # https://github.com/italia/eudi-wallet-it-docs/blob/versione-corrente/docs/en/wallet-instance-attestation.rst#format-of-the-wallet-instance-attestation-request - """ - header: create_model(header_model_name, - alg=(str, ...), - typ=(Literal["var+jwt"], ...), - kid=(str, ...)) - - payload: create_model(payload_model_name, - iss=(str, ...), - aud=(HttpUrl, ...), - jti=(str, ...), - type=( - Literal["WalletInstanceAttestationRequest"], ...), - nonce=(str, ...), - cnf=(create_model(cnf_model_name, - jwk=(JwkSchema, ...), - ), ...), - ) - - @field_validator("header") - @classmethod - def check_alg(cls, header, info: FieldValidationInfo): - check_alg(header.alg, info) - return header - - -class WalletInstanceAttestation(BaseModel): - """ - Schema to validate a Wallet Instance Attestation. The attestation, in the form of a JWT header and payload, - has the properties listed below. - Header: - - alg - - typ - - kid - - x5c - - trust_chain - Payload: - - iss: The public url of the Wallet Instance attestation issuer. - - sub: Thumbprint value of the JWK of the Wallet Instance for which the attestation is being issued. - - iat: Unix timestamp of the issuance datetime. - - exp: Unix timestamp beyond which the presentation of the digital credential will no longer be considered - valid. - - type: String: "WalletInstanceAttestation". - - policy_uri: URL to the privacy policy of the wallet. - - tos_uri: URL to the terms of use of the Wallet Provider. - - logo_uri: URL of the Wallet Provider logo in SVG format. - - attested_security_context: - Attested security context: - Represents a level of "trust" of - the service containing a Level Of - Agreement defined in the metadata - of the Wallet Provider. - - cnf: - This parameter contains the jwk - parameter - with the public key of the Wallet - necessary for the holder binding. - - authorization_endpoint: - URL of the OP's OAuth 2.0 - Authorization Endpoint. - - response_types_supported: - JSON array containing a list of - the OAuth 2.0 response_type values - that this OP supports. - - vp_formats_supported: - JSON object containing - jwt_vp_json and jwt_vc_json - supported algorithms array. - - request_object_signing_alg_values_supported: - JSON array containing a list of the - JWS signing algorithms (alg values) - supported by the OP for Request Objects. - - presentation_definition_uri_supported: - Boolean value specifying whether the - Wallet Instance supports the transfer of - presentation_definition by - reference, with true indicating support. - """ - header: create_model(header_model_name, - alg=(str, ...), - typ=(Literal["wallet-attestation+jwt"], ...), - kid=(str, ...), - x5c=(list[str], None), - trust_chain=(list[str], None)) - - payload: create_model(payload_model_name, - iss=(HttpUrl, ...), - sub=(str, ...), - iat=(int, ...), - exp=(int, ...), - type=(Literal["WalletInstanceAttestation"], ...), - policy_uri=(HttpUrl, ...), - tos_uri=(HttpUrl, ...), - logo_uri=(HttpUrl, ...), - attested_security_context=(HttpUrl, ...), - cnf=(create_model(cnf_model_name, - jwk=(JwkSchema, ...), - ), ...), - authorization_endpoint=(str, ...), - response_types_supported=(list[str], ...), - vp_formats_supported=(create_model(formats_supported_schema, - jwt_vp_json=(create_model(vp_model_name, - alg_values_supported=( - list[str], ...), - ), ...), - jwt_vc_json=(create_model(vp_model_name, - alg_values_supported=( - list[str], ...), - ), ...), - ), ...), - request_object_signing_alg_values_supported=( - list[str], ...), - presentation_definition_uri_supported=(bool, ...), - ) - - @field_validator("header") - @classmethod - def check_alg(cls, header, info: FieldValidationInfo): - check_alg(header.alg, info) - return header diff --git a/pyeudiw/openid4vp/schemas/__init__.py b/pyeudiw/openid4vp/schemas/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/pyeudiw/openid4vp/schemas/cnf_schema.py b/pyeudiw/openid4vp/schemas/cnf_schema.py new file mode 100644 index 00000000..2ed0f8f4 --- /dev/null +++ b/pyeudiw/openid4vp/schemas/cnf_schema.py @@ -0,0 +1,7 @@ +from pydantic import BaseModel + +from pyeudiw.jwk.schema import JwkSchema + + +class CNFSchema(BaseModel): + jwk: JwkSchema diff --git a/pyeudiw/openid4vp/schemas/response_schema.py b/pyeudiw/openid4vp/schemas/response_schema.py new file mode 100644 index 00000000..60d29e4f --- /dev/null +++ b/pyeudiw/openid4vp/schemas/response_schema.py @@ -0,0 +1,31 @@ +from typing import Optional + +from pydantic import BaseModel, field_validator + +from pyeudiw.jwt.utils import is_jwt_format + + +class DescriptorSchema(BaseModel): + id: str + path: str + format: str + + +class PresentationSubmissionSchema(BaseModel): + definition_id: str + id: str + descriptor_map: list[DescriptorSchema] + + +class ResponseSchema(BaseModel): + state: Optional[str] + vp_token: str + presentation_submission: PresentationSubmissionSchema + + @field_validator("vp_token") + @classmethod + def _check_vp_token(cls, vp_token): + if is_jwt_format(vp_token): + return vp_token + else: + raise ValueError("vp_token is not in a JWT format.") diff --git a/pyeudiw/openid4vp/schemas/vp_token.py b/pyeudiw/openid4vp/schemas/vp_token.py new file mode 100644 index 00000000..704cddf6 --- /dev/null +++ b/pyeudiw/openid4vp/schemas/vp_token.py @@ -0,0 +1,36 @@ +from typing import Literal + +from pydantic import BaseModel, HttpUrl, field_validator +from pydantic_core.core_schema import FieldValidationInfo + +from pyeudiw.sd_jwt.schema import is_sd_jwt_format +from pyeudiw.tools.schema_utils import check_algorithm + + +class VPTokenHeader(BaseModel): + alg: str + kid: str + typ: Literal["JWT"] + + @field_validator("alg") + @classmethod + def _check_alg(cls, alg, info: FieldValidationInfo): + return check_algorithm(alg, info) + + +class VPTokenPayload(BaseModel): + iss: HttpUrl + jti: str + aud: HttpUrl + iat: int + exp: int + nonce: str + vp: str + + @field_validator("vp") + @classmethod + def _check_vp(cls, vp): + if is_sd_jwt_format(vp): + return vp + else: + raise ValueError("vp is not in a SDJWT format.") diff --git a/pyeudiw/openid4vp/schemas/wallet_instance_attestation.py b/pyeudiw/openid4vp/schemas/wallet_instance_attestation.py new file mode 100644 index 00000000..e2e3bf46 --- /dev/null +++ b/pyeudiw/openid4vp/schemas/wallet_instance_attestation.py @@ -0,0 +1,55 @@ +from typing import Dict, List, Literal, Optional + +from pydantic import BaseModel, HttpUrl, field_validator +from pydantic_core.core_schema import FieldValidationInfo + +from pyeudiw.openid4vp.schemas.cnf_schema import CNFSchema +from pyeudiw.tools.schema_utils import check_algorithm + +_default_supported_algorithms = [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512", + "PS256", + "PS384", + "PS512", +] + + +class VPFormatSchema(BaseModel): + jwt_vp_json: Dict[Literal["alg_values_supported"], List[str]] + jwt_vc_json: Dict[Literal["alg_values_supported"], List[str]] + + +class WalletInstanceAttestationHeader(BaseModel): + alg: str + typ: Literal["wallet-attestation+jwt"] + kid: str + x5c: Optional[List[str]] = None + trust_chain: Optional[List[str]] = None + + @field_validator("alg") + @classmethod + def _check_alg(cls, alg, info: FieldValidationInfo): + return check_algorithm(alg, info) + + +class WalletInstanceAttestationPayload(BaseModel): + iss: HttpUrl + sub: str + iat: int + exp: int + type: Literal["WalletInstanceAttestation"] + policy_uri: HttpUrl + tos_uri: HttpUrl + logo_uri: HttpUrl + attested_security_context: HttpUrl + cnf: CNFSchema + authorization_endpoint: str + response_types_supported: List[str] + vp_formats_supported: VPFormatSchema + request_object_signing_alg_values_supported: List[str] + presentation_definition_uri_supported: bool diff --git a/pyeudiw/openid4vp/schemas/wallet_instance_attestation_request.py b/pyeudiw/openid4vp/schemas/wallet_instance_attestation_request.py new file mode 100644 index 00000000..052b8bf0 --- /dev/null +++ b/pyeudiw/openid4vp/schemas/wallet_instance_attestation_request.py @@ -0,0 +1,31 @@ +from typing import Literal + +from pydantic import BaseModel, HttpUrl, field_validator +from pydantic_core.core_schema import FieldValidationInfo + +from pyeudiw.openid4vp.schemas.cnf_schema import CNFSchema +from pyeudiw.tools.schema_utils import check_algorithm + + +class WalletInstanceAttestationRequestHeader(BaseModel): + alg: str + typ: Literal["var+jwt"] + kid: str + + @field_validator("alg") + @classmethod + def _check_alg(cls, alg, info: FieldValidationInfo): + return check_algorithm(alg, info) + + +class WalletInstanceAttestationRequestPayload(BaseModel): + iss: str + aud: HttpUrl + jti: str + type: Literal["WalletInstanceAttestationRequest"] + nonce: str + cnf: CNFSchema + # TODO: check if `iat` and `exp` are required. They are not listed in the table but are in the example. + # https://github.com/italia/eudi-wallet-it-docs/blob/versione-corrente/docs/en/wallet-instance-attestation.rst#format-of-the-wallet-instance-attestation-request + iat: int + exp: int diff --git a/pyeudiw/presentation_exchange/schemas/presentation_definition.py b/pyeudiw/presentation_exchange/schemas/presentation_definition.py index 33fedbc6..aa064554 100644 --- a/pyeudiw/presentation_exchange/schemas/presentation_definition.py +++ b/pyeudiw/presentation_exchange/schemas/presentation_definition.py @@ -1,16 +1,27 @@ -from typing import Optional, List, Literal, Dict, Any +from typing import Any, Dict, List, Optional from pydantic import BaseModel +class InputDescriptorJwt(BaseModel): + alg: List[str] + + +class MsoMdoc(BaseModel): + alg: List[str] + + +class FormatSchema(BaseModel): + jwt: Optional[InputDescriptorJwt] = None + mso_mdoc: Optional[MsoMdoc] = None + constraints: Optional[Dict[str, Any]] = None + + class InputDescriptor(BaseModel): id: str name: Optional[str] = None purpose: Optional[str] = None - format: Optional[str | dict[str, Any]] = None - jwt: Optional[Dict[Literal["alg"], List[str]]] = None - mso_mdoc: Optional[Dict[Literal["alg"], List[str]]] = None - constraints: Optional[Dict[str, Any]] = None + format: Optional[str | FormatSchema] = None class PresentationDefinition(BaseModel): diff --git a/pyeudiw/satosa/backend.py b/pyeudiw/satosa/backend.py index 068a368d..ddd83b7b 100644 --- a/pyeudiw/satosa/backend.py +++ b/pyeudiw/satosa/backend.py @@ -1,33 +1,28 @@ import json import logging import uuid - from datetime import datetime, timedelta from typing import Union -from urllib.parse import urlencode, quote_plus +from urllib.parse import quote_plus, urlencode -from satosa.context import Context import satosa.logging_util as lu from satosa.backends.base import BackendModule -from pyeudiw.satosa.exceptions import ( - BadRequestError, - NoBoundEndpointError -) +from satosa.context import Context from satosa.internal import InternalData from satosa.response import Redirect, Response -from pyeudiw.oauth2.dpop import DPoPVerifier from pyeudiw.jwk import JWK -from pyeudiw.jwt import JWSHelper, JWEHelper +from pyeudiw.jwt import JWEHelper, JWSHelper from pyeudiw.jwt.utils import unpad_jwt_header, unpad_jwt_payload +from pyeudiw.oauth2.dpop import DPoPVerifier +from pyeudiw.openid4vp import check_vp_token +from pyeudiw.openid4vp.schemas.response_schema import ResponseSchema as ResponseValidator +from pyeudiw.satosa.exceptions import BadRequestError, NoBoundEndpointError from pyeudiw.satosa.html_template import Jinja2TemplateHandler from pyeudiw.satosa.response import JsonResponse -from pyeudiw.tools.qr_code import QRCode from pyeudiw.tools.mobile import is_smartphone +from pyeudiw.tools.qr_code import QRCode from pyeudiw.tools.utils import iat_now -from pyeudiw.openid4vp.schema import ResponseSchema as ResponseValidator -from pyeudiw.openid4vp import check_vp_token - logger = logging.getLogger("openid4vp_backend") @@ -283,7 +278,7 @@ def redirect_endpoint(self, context, *args): # state is OPTIONAL in openid4vp ... self._log(context, level='warning', message=_msg) - # check with pydantic on the JWT schema + # check with pydantic on the JWT schemas try: ResponseValidator(**decrypted_data) except Exception as e: diff --git a/pyeudiw/sd_jwt/__init__.py b/pyeudiw/sd_jwt/__init__.py index 76170023..7aeeb7d8 100644 --- a/pyeudiw/sd_jwt/__init__.py +++ b/pyeudiw/sd_jwt/__init__.py @@ -1,14 +1,14 @@ from io import StringIO -from sd_jwt.issuer import SDJWTIssuer -from sd_jwt.verifier import SDJWTVerifier +from sd_jwt.issuer import SDJWTIssuer from sd_jwt.utils.demo_utils import get_jwk from sd_jwt.utils.formatting import textwrap_json from sd_jwt.utils.yaml_specification import _yaml_load_specification +from sd_jwt.verifier import SDJWTVerifier -from pyeudiw.tools.utils import iat_now, gen_exp_time from pyeudiw.jwk import JWK from pyeudiw.jwt.utils import unpad_jwt_payload +from pyeudiw.tools.utils import gen_exp_time, iat_now def _adapt_keys(settings: dict, issuer_key: JWK, holder_key: JWK, kty: str = "EC", key_size: int = 256): diff --git a/pyeudiw/sd_jwt/schema.py b/pyeudiw/sd_jwt/schema.py index 109b0119..4d86d8f1 100644 --- a/pyeudiw/sd_jwt/schema.py +++ b/pyeudiw/sd_jwt/schema.py @@ -1,23 +1,33 @@ import re +from typing import Dict, Literal -from pydantic import ValidationError +from pydantic import BaseModel, HttpUrl -SD_JWT_REGEXP = r"^(([-A-Za-z0-9\=_])*\.([-A-Za-z0-9\=_])*\.([-A-Za-z0-9\=_])*)$" +from pyeudiw.jwk.schema import JwkSchema +SD_JWT_REGEXP = r"^(([-A-Za-z0-9\=_])*\.([-A-Za-z0-9\=_])*\.([-A-Za-z0-9\=_])*)(~([-A-Za-z0-9\=_\.])*)*$" -def check_sd_jwt(sd_jwt: str) -> str: - res = re.match(SD_JWT_REGEXP, sd_jwt) - if not res: - raise ValidationError(f"Vp_token is not a sd-jwt {sd_jwt}") - return sd_jwt +def is_sd_jwt_format(sd_jwt: str) -> bool: + res = re.match(SD_JWT_REGEXP, sd_jwt) + return bool(res) -def check_sd_jwt_list(sd_jwt_list: list[str]) -> list[str]: +def is_sd_jwt_list_format(sd_jwt_list: list[str]) -> bool: if len(sd_jwt_list) == 0: - raise ValidationError("vp_token is empty") + return False for sd_jwt in sd_jwt_list: - check_sd_jwt(sd_jwt) + if not is_sd_jwt_format(sd_jwt): + return False + + return True + - return sd_jwt_list +class SDJWTSchema(BaseModel): + iss: HttpUrl + iat: int + exp: int + sub: str + _sd_alg: str + cnf: Dict[Literal["jwk"], JwkSchema] diff --git a/pyeudiw/storage/db_engine.py b/pyeudiw/storage/db_engine.py index 60811beb..7c189a26 100644 --- a/pyeudiw/storage/db_engine.py +++ b/pyeudiw/storage/db_engine.py @@ -1,7 +1,8 @@ -import uuid -import logging import importlib +import logging +import uuid from typing import Callable + from pyeudiw.storage.base_cache import BaseCache, RetrieveStatus from pyeudiw.storage.base_storage import BaseStorage diff --git a/pyeudiw/storage/mongo_cache.py b/pyeudiw/storage/mongo_cache.py index 96f7c746..0d159e09 100644 --- a/pyeudiw/storage/mongo_cache.py +++ b/pyeudiw/storage/mongo_cache.py @@ -1,7 +1,8 @@ -import pymongo from datetime import datetime from typing import Callable +import pymongo + from pyeudiw.storage.base_cache import BaseCache, RetrieveStatus diff --git a/pyeudiw/storage/mongo_storage.py b/pyeudiw/storage/mongo_storage.py index 9dd5b0c0..97087dba 100644 --- a/pyeudiw/storage/mongo_storage.py +++ b/pyeudiw/storage/mongo_storage.py @@ -1,6 +1,7 @@ -import pymongo from datetime import datetime +import pymongo + from .base_storage import BaseStorage diff --git a/pyeudiw/tests/__init__.py b/pyeudiw/tests/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/pyeudiw/tests/federation/__init__.py b/pyeudiw/tests/federation/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/pyeudiw/tests/federation/schemas/__init__.py b/pyeudiw/tests/federation/schemas/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/pyeudiw/tests/federation/schemas/test_entity_configuration.py b/pyeudiw/tests/federation/schemas/test_entity_configuration.py new file mode 100644 index 00000000..5592d26d --- /dev/null +++ b/pyeudiw/tests/federation/schemas/test_entity_configuration.py @@ -0,0 +1,266 @@ +import pytest +from pydantic import ValidationError + +from pyeudiw.federation.schemas.entity_configuration import EntityConfigurationHeader, EntityConfigurationPayload + +ENTITY_CONFIGURATION = { + "header": { + "alg": "RS256", + "kid": "2HnoFS3YnC9tjiCaivhWLVUJ3AxwGGz_98uRFaqMEEs", + "typ": "entity-statement+jwt" + }, + "payload": { + "exp": 1649590602, + "iat": 1649417862, + "iss": "https://rp.example.it", + "sub": "https://rp.example.it", + "jwks": { + "keys": [ + { + "kty": "RSA", + "n": "5s4qi …", + "e": "AQAB", + "kid": "2HnoFS3YnC9tjiCaivhWLVUJ3AxwGGz_98uRFaqMEEs" + } + ] + }, + "metadata": { + "wallet_relying_party": { + "application_type": "web", + "client_id": "https://rp.example.it", + "client_name": "Name of an example organization", + "jwks": { + "keys": [ + { + "kty": "RSA", + "use": "sig", + "n": "1Ta-sE …", + "e": "AQAB", + "kid": "YhNFS3YnC9tjiCaivhWLVUJ3AxwGGz_98uRFaqMEEs", + "x5c": ["..."] + } + ] + }, + + "contacts": [ + "ops@verifier.example.org" + ], + + "request_uris": [ + "https://verifier.example.org/request_uri" + ], + "redirect_uris": [ + "https://verifier.example.org/callback" + ], + + "default_acr_values": [ + "https://www.spid.gov.it/SpidL2", + "https://www.spid.gov.it/SpidL3" + ], + + "vp_formats": { + "jwt_vp_json": { + "alg": [ + "EdDSA", + "ES256K" + ] + } + }, + "presentation_definitions": [ + { + "id": "pid-sd-jwt:unique_id+given_name+family_name", + "input_descriptors": [ + { + "id": "sd-jwt", + "format": { + "jwt": { + "alg": [ + "EdDSA", + "ES256" + ] + }, + "constraints": { + "limit_disclosure": "required", + "fields": [ + { + "path": [ + "$.sd-jwt.type" + ], + "filter": { + "type": "string", + "const": "PersonIdentificationData" + } + }, + { + "path": [ + "$.sd-jwt.cnf" + ], + "filter": { + "type": "object", + } + }, + { + "path": [ + "$.sd-jwt.family_name" + ], + "intent_to_retain": "true" + }, + { + "path": [ + "$.sd-jwt.given_name" + ], + "intent_to_retain": "true" + }, + { + "path": [ + "$.sd-jwt.unique_id" + ], + "intent_to_retain": "true" + } + ] + } + } + } + ] + }, + { + "id": "mDL-sample-req", + "input_descriptors": [ + { + "id": "mDL", + "format": { + "mso_mdoc": { + "alg": [ + "EdDSA", + "ES256" + ] + }, + "constraints": { + "limit_disclosure": "required", + "fields": [ + { + "path": [ + "$.mdoc.doctype" + ], + "filter": { + "type": "string", + "const": "org.iso.18013.5.1.mDL" + } + }, + { + "path": [ + "$.mdoc.namespace" + ], + "filter": { + "type": "string", + "const": "org.iso.18013.5.1" + } + }, + { + "path": [ + "$.mdoc.family_name" + ], + "intent_to_retain": "false" + }, + { + "path": [ + "$.mdoc.portrait" + ], + "intent_to_retain": "false" + }, + { + "path": [ + "$.mdoc.driving_privileges" + ], + "intent_to_retain": "false" + } + ] + } + } + } + ] + } + ], + + "default_max_age": 1111, + + "authorization_signed_response_alg": [ + "RS256", + "ES256" + ], + "authorization_encrypted_response_alg": [ + "RSA-OAEP", + "RSA-OAEP-256" + ], + "authorization_encrypted_response_enc": [ + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + "A128GCM", + "A192GCM", + "A256GCM" + ], + + "subject_type": "pairwise", + "require_auth_time": True, + "id_token_signed_response_alg": [ + "RS256", + "ES256" + ], + "id_token_encrypted_response_alg": [ + "RSA-OAEP", + "RSA-OAEP-256" + ], + "id_token_encrypted_response_enc": [ + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + "A128GCM", + "A192GCM", + "A256GCM" + ], + }, + "federation_entity": { + "organization_name": "OpenID Wallet Verifier example", + "homepage_uri": "https://verifier.example.org/home", + "policy_uri": "https://verifier.example.org/policy", + "logo_uri": "https://verifier.example.org/static/logo.svg", + "contacts": [ + "tech@verifier.example.org" + ] + } + }, + "authority_hints": [ + "https://registry.eudi-wallet.example.it" + ] + } +} + + +def test_entity_configuration_header(): + EntityConfigurationHeader(**ENTITY_CONFIGURATION["header"]) + + with pytest.raises(ValidationError): + EntityConfigurationHeader.model_validate( + ENTITY_CONFIGURATION["header"], context={"supported_algorithms": ["ES256"]}) + + ENTITY_CONFIGURATION["header"]["typ"] = "NOT-entity-statement+jwt" + with pytest.raises(ValidationError): + EntityConfigurationHeader(**ENTITY_CONFIGURATION["header"]) + + +def test_entity_configuration_payload(): + EntityConfigurationPayload(**ENTITY_CONFIGURATION["payload"]) + + ENTITY_CONFIGURATION["payload"]["jwks"]["keys"] = [] + EntityConfigurationPayload(**ENTITY_CONFIGURATION["payload"]) + del ENTITY_CONFIGURATION["payload"]["jwks"]["keys"] + with pytest.raises(ValidationError): + EntityConfigurationPayload(**ENTITY_CONFIGURATION["payload"]) + + ENTITY_CONFIGURATION["payload"]["jwks"]["keys"] = [{ + "kty": "RSA", + "n": "5s4qi …", + "e": "AQAB", + "kid": "2HnoFS3YnC9tjiCaivhWLVUJ3AxwGGz_98uRFaqMEEs" + }] diff --git a/pyeudiw/tests/oauth2/test_dpop.py b/pyeudiw/tests/oauth2/test_dpop.py index 79b463e2..b5cd78a3 100644 --- a/pyeudiw/tests/oauth2/test_dpop.py +++ b/pyeudiw/tests/oauth2/test_dpop.py @@ -2,13 +2,12 @@ import pytest -from pyeudiw.oauth2.dpop import DPoPIssuer, DPoPVerifier from pyeudiw.jwk import JWK from pyeudiw.jwt import JWSHelper -from pyeudiw.jwt.utils import unpad_jwt_payload, unpad_jwt_header +from pyeudiw.jwt.utils import unpad_jwt_header, unpad_jwt_payload +from pyeudiw.oauth2.dpop import DPoPIssuer, DPoPVerifier from pyeudiw.tools.utils import iat_now - PRIVATE_JWK = JWK() PUBLIC_JWK = PRIVATE_JWK.public_key diff --git a/pyeudiw/tests/oauth2/test_sd_jwt.py b/pyeudiw/tests/oauth2/test_sd_jwt.py index 0a12754b..fde210a7 100644 --- a/pyeudiw/tests/oauth2/test_sd_jwt.py +++ b/pyeudiw/tests/oauth2/test_sd_jwt.py @@ -1,11 +1,11 @@ import uuid -from pyeudiw.jwk import JWK -from pyeudiw.sd_jwt import ( - issue_sd_jwt, verify_sd_jwt, _adapt_keys, load_specification_from_yaml_string) - from sd_jwt.holder import SDJWTHolder +from pyeudiw.jwk import JWK +from pyeudiw.sd_jwt import (_adapt_keys, issue_sd_jwt, + load_specification_from_yaml_string, verify_sd_jwt) + settings = { "issuer": "http://test.com", "default_exp": 60, diff --git a/pyeudiw/tests/openid4vp/__init__.py b/pyeudiw/tests/openid4vp/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/pyeudiw/tests/openid4vp/schemas/__init__.py b/pyeudiw/tests/openid4vp/schemas/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/pyeudiw/tests/openid4vp/schemas/test_schema.py b/pyeudiw/tests/openid4vp/schemas/test_schema.py new file mode 100644 index 00000000..9a3007a3 --- /dev/null +++ b/pyeudiw/tests/openid4vp/schemas/test_schema.py @@ -0,0 +1,326 @@ +### DO NOT TRACK ON GIT ### +import pytest +from pydantic import ValidationError + +from pyeudiw.federation.schemas.entity_configuration import ( + EntityConfigurationHeader, EntityConfigurationPayload) +from pyeudiw.openid4vp.schemas.wallet_instance_attestation_request import ( + WalletInstanceAttestationRequestHeader, + WalletInstanceAttestationRequestPayload) + + +def test_wir(): + wir_dict = { + "header": { + "alg": "RS256", + "kid": "NjVBRjY5MDlCMUIwNzU4RTA2QzZFMDQ4QzQ2MDAyQjVDNjk1RTM2Qg", + "typ": "var+jwt" + }, + "payload": { + "iss": "vbeXJksM45xphtANnCiG6mCyuU4jfGNzopGuKvogg9c", + "aud": "https://wallet-provider.example.org", + "jti": "6ec69324-60a8-4e5b-a697-a766d85790ea", + "type": "WalletInstanceAttestationRequest", + "nonce": ".....", + "cnf": { + "jwk": { + "alg": "RS256", + "kty": "RSA", + "use": "sig", + "x5c": [ + "MIIC+DCCAeCgAwIBAgIJBIGjYW6hFpn2MA0GCSqGSIb3DQEBBQUAMCMxITAfBgNVBAMTGGN1c3RvbWVyLWRlbW9zLmF1dGgwLmNvbTAeFw0xNjExMjIyMjIyMDVaFw0zMDA4MDEyMjIyMDVaMCMxITAfBgNVBAMTGGN1c3RvbWVyLWRlbW9zLmF1dGgwLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMnjZc5bm/eGIHq09N9HKHahM7Y31P0ul+A2wwP4lSpIwFrWHzxw88/7Dwk9QMc+orGXX95R6av4GF+Es/nG3uK45ooMVMa/hYCh0Mtx3gnSuoTavQEkLzCvSwTqVwzZ+5noukWVqJuMKNwjL77GNcPLY7Xy2/skMCT5bR8UoWaufooQvYq6SyPcRAU4BtdquZRiBT4U5f+4pwNTxSvey7ki50yc1tG49Per/0zA4O6Tlpv8x7Red6m1bCNHt7+Z5nSl3RX/QYyAEUX1a28VcYmR41Osy+o2OUCXYdUAphDaHo4/8rbKTJhlu8jEcc1KoMXAKjgaVZtG/v5ltx6AXY0CAwEAAaMvMC0wDAYDVR0TBAUwAwEB/zAdBgNVHQ4EFgQUQxFG602h1cG+pnyvJoy9pGJJoCswDQYJKoZIhvcNAQEFBQADggEBAGvtCbzGNBUJPLICth3mLsX0Z4z8T8iu4tyoiuAshP/Ry/ZBnFnXmhD8vwgMZ2lTgUWwlrvlgN+fAtYKnwFO2G3BOCFw96Nm8So9sjTda9CCZ3dhoH57F/hVMBB0K6xhklAc0b5ZxUpCIN92v/w+xZoz1XQBHe8ZbRHaP1HpRM4M7DJk2G5cgUCyu3UBvYS41sHvzrxQ3z7vIePRA4WF4bEkfX12gvny0RsPkrbVMXX1Rj9t6V7QXrbPYBAO+43JvDGYawxYVvLhz+BJ45x50GFQmHszfY3BR9TPK8xmMmQwtIvLu1PMttNCs7niCYkSiUv2sc2mlq1i3IashGkkgmo=" + ], + "n": "yeNlzlub94YgerT030codqEztjfU_S6X4DbDA_iVKkjAWtYfPHDzz_sPCT1Axz6isZdf3lHpq_gYX4Sz-cbe4rjmigxUxr-FgKHQy3HeCdK6hNq9ASQvMK9LBOpXDNn7mei6RZWom4wo3CMvvsY1w8tjtfLb-yQwJPltHxShZq5-ihC9irpLI9xEBTgG12q5lGIFPhTl_7inA1PFK97LuSLnTJzW0bj096v_TMDg7pOWm_zHtF53qbVsI0e3v5nmdKXdFf9BjIARRfVrbxVxiZHjU6zL6jY5QJdh1QCmENoejj_ytspMmGW7yMRxzUqgxcAqOBpVm0b-_mW3HoBdjQ", + "e": "AQAB", + "kid": "NjVBRjY5MDlCMUIwNzU4RTA2QzZFMDQ4QzQ2MDAyQjVDNjk1RTM2Qg", + "x5t": "NjVBRjY5MDlCMUIwNzU4RTA2QzZFMDQ4QzQ2MDAyQjVDNjk1RTM2Qg" + } + }, + "iat": 1686645115, + "exp": 1686652315 + }} + + wir_header = WalletInstanceAttestationRequestHeader(**wir_dict["header"]) + wir_payload = WalletInstanceAttestationRequestPayload( + **wir_dict["payload"]) + + wir_header = WalletInstanceAttestationRequestHeader.model_validate( + wir_dict["header"], context={"supported_algorithms": ["RS256"]}) + with pytest.raises(ValidationError): + wir_header = WalletInstanceAttestationRequestHeader.model_validate( + wir_dict["header"], context={"supported_algorithms": []}) + with pytest.raises(ValidationError): + wir_header = WalletInstanceAttestationRequestHeader.model_validate( + wir_dict["header"], context={"supported_algorithms": None}) + with pytest.raises(ValidationError): + wir_header = WalletInstanceAttestationRequestHeader.model_validate( + wir_dict["header"], context={"supported_algorithms": ["RS384"]}) + + wir_dict["payload"]["type"] = "NOT_WalletInstanceAttestationRequest" + with pytest.raises(ValidationError): + wir_payload = WalletInstanceAttestationRequestPayload.model_validate( + wir_dict["payload"], context={"supported_algorithms": ["RS256"]}) + wir_dict["payload"]["type"] = "WalletInstanceAttestationRequest" + + wir_dict["payload"]["cnf"] = { + "wrong_name_jwk": wir_dict["payload"]["cnf"]["jwk"]} + with pytest.raises(ValidationError): + wir_payload = WalletInstanceAttestationRequestPayload.model_validate( + wir_dict["payload"], context={"supported_algorithms": ["RS256"]}) + wir_dict["payload"]["cnf"] = { + "jwk": wir_dict["payload"]["cnf"]["wrong_name_jwk"]} + + +def test_entity_config_header(): + header = { + "alg": "RS256", + "kid": "2HnoFS3YnC9tjiCaivhWLVUJ3AxwGGz_98uRFaqMEEs", + "typ": "entity-statement+jwt" + } + EntityConfigurationHeader(**header) + + header['typ'] = "entity-config+jwt" + with pytest.raises(ValidationError): + EntityConfigurationHeader(**header) + header['typ'] = "entity-statement+jwt" + + with pytest.raises(ValidationError): + EntityConfigurationHeader.model_validate( + header, context={"supported_algorithms": []}) + + with pytest.raises(ValidationError): + EntityConfigurationHeader.model_validate( + header, context={"supported_algorithms": ["asd"]}) + + EntityConfigurationHeader.model_validate( + header, context={"supported_algorithms": ["RS256"]}) + + +def test_entity_config_payload(): + payload = { + "exp": 1649590602, + "iat": 1649417862, + "iss": "https://rp.example.it", + "sub": "https://rp.example.it", + "jwks": { + "keys": [ + { + "kty": "RSA", + "n": "5s4qi …", + "e": "AQAB", + "kid": "2HnoFS3YnC9tjiCaivhWLVUJ3AxwGGz_98uRFaqMEEs" + } + ] + }, + "metadata": { + "wallet_relying_party": { + "application_type": "web", + "client_id": "https://rp.example.it", + "client_name": "Name of an example organization", + "jwks": { + "keys": [ + { + "kty": "RSA", + "use": "sig", + "n": "1Ta-sE …", + "e": "AQAB", + "kid": "YhNFS3YnC9tjiCaivhWLVUJ3AxwGGz_98uRFaqMEEs", + "x5c": [ + "..." + ] + } + ] + }, + "contacts": [ + "ops@verifier.example.org" + ], + "request_uris": [ + "https://verifier.example.org/request_uri" + ], + "redirect_uris": [ + "https://verifier.example.org/callback" + ], + "default_acr_values": [ + "https://www.spid.gov.it/SpidL2", + "https://www.spid.gov.it/SpidL3" + ], + "vp_formats": { + "jwt_vp_json": { + "alg": [ + "EdDSA", + "ES256K" + ] + } + }, + "presentation_definitions": [ + { + "id": "pid-sd-jwt:unique_id+given_name+family_name", + "input_descriptors": [ + { + "id": "sd-jwt", + "format": { + "jwt": { + "alg": [ + "EdDSA", + "ES256" + ] + }, + "constraints": { + "limit_disclosure": "required", + "fields": [ + { + "path": [ + "$.sd-jwt.type" + ], + "filter": { + "type": "string", + "const": "PersonIdentificationData" + } + }, + { + "path": [ + "$.sd-jwt.cnf" + ], + "filter": { + "type": "object" + } + }, + { + "path": [ + "$.sd-jwt.family_name" + ], + "intent_to_retain": "true" + }, + { + "path": [ + "$.sd-jwt.given_name" + ], + "intent_to_retain": "true" + }, + { + "path": [ + "$.sd-jwt.unique_id" + ], + "intent_to_retain": "true" + } + ] + } + } + } + ] + }, + { + "id": "mDL-sample-req", + "input_descriptors": [ + { + "id": "mDL", + "format": { + "mso_mdoc": { + "alg": [ + "EdDSA", + "ES256" + ] + }, + "constraints": { + "limit_disclosure": "required", + "fields": [ + { + "path": [ + "$.mdoc.doctype" + ], + "filter": { + "type": "string", + "const": "org.iso.18013.5.1.mDL" + } + }, + { + "path": [ + "$.mdoc.namespace" + ], + "filter": { + "type": "string", + "const": "org.iso.18013.5.1" + } + }, + { + "path": [ + "$.mdoc.family_name" + ], + "intent_to_retain": "false" + }, + { + "path": [ + "$.mdoc.portrait" + ], + "intent_to_retain": "false" + }, + { + "path": [ + "$.mdoc.driving_privileges" + ], + "intent_to_retain": "false" + } + ] + } + } + } + ] + } + ], + "default_max_age": 1111, + "authorization_signed_response_alg": [ + "RS256", + "ES256" + ], + "authorization_encrypted_response_alg": [ + "RSA-OAEP", + "RSA-OAEP-256" + ], + "authorization_encrypted_response_enc": [ + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + "A128GCM", + "A192GCM", + "A256GCM" + ], + "subject_type": "pairwise", + "require_auth_time": True, + "id_token_signed_response_alg": [ + "RS256", + "ES256" + ], + "id_token_encrypted_response_alg": [ + "RSA-OAEP", + "RSA-OAEP-256" + ], + "id_token_encrypted_response_enc": [ + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + "A128GCM", + "A192GCM", + "A256GCM" + ] + }, + "federation_entity": { + "organization_name": "OpenID Wallet Verifier example", + "homepage_uri": "https://verifier.example.org/home", + "policy_uri": "https://verifier.example.org/policy", + "logo_uri": "https://verifier.example.org/static/logo.svg", + "contacts": [ + "tech@verifier.example.org" + ] + } + }, + "authority_hints": [ + "https://registry.eudi-wallet.example.it" + ] + } + EntityConfigurationPayload(**payload) + with pytest.raises(ValidationError): + EntityConfigurationPayload.model_validate( + payload, context={"authorization_encrypted_response_alg": ["ASD"]}) + with pytest.raises(ValidationError): + EntityConfigurationPayload.model_validate( + payload, context={"authorization_encrypted_response_alg": []}) diff --git a/pyeudiw/tests/openid4vp/schemas/test_vp_token.py b/pyeudiw/tests/openid4vp/schemas/test_vp_token.py new file mode 100644 index 00000000..b1007b52 --- /dev/null +++ b/pyeudiw/tests/openid4vp/schemas/test_vp_token.py @@ -0,0 +1,52 @@ +import pytest +from pydantic import ValidationError + +from pyeudiw.openid4vp.schemas.vp_token import VPTokenHeader, VPTokenPayload + +VP_TOKEN = { + "header": { + "alg": "ES256", + "typ": "JWT", + "kid": "e0bbf2f1-8c3a-4eab-a8ac-2e8f34db8a47" + }, + "payload": { + "iss": "https://wallet-provider.example.org/instance/vbeXJksM45xphtANnCiG6mCyuU4jfGNzopGuKvogg9c", + "jti": "3978344f-8596-4c3a-a978-8fcaba3903c5", + "aud": "https://verifier.example.org/callback", + "iat": 1541493724, + "exp": 1573029723, + "nonce": "2c128e4d-fc91-4cd3-86b8-18bdea0988cb", + "vp": "eyJhbGciOiAiRVMyNTYifQ.eyJfc2QiOiBbIkc0UlAyQnhBNW50VUtYNGVhclR0cEo3TUJ1RWwyRzBueFRPU0h4X05POVUiLCAiZTJIa20tLUM3c1ZYTnV2UG5tVFptRnFKNDIxUDR0eWRBTUhfTDRvaWNjVSIsICJ2VWNWSFp5Q0thdXN2X003TGdXa1NqRzRXSUJQaWV1S09HOUE3TjJ2ZUpjIl0sICJpc3MiOiAiaHR0cHM6Ly9leGFtcGxlLmNvbS9pc3N1ZXIiLCAiaWF0IjogMTY5MDk1NTUzNSwgImV4cCI6IDE2OTA5NTY0MzUsICJzdWIiOiAiNmM1YzBhNDktYjU4OS00MzFkLWJhZTctMjE5MTIyYTllYzJjIiwgIl9zZF9hbGciOiAic2hhLTI1NiIsICJjbmYiOiB7Imp3ayI6IHsia3R5IjogIkVDIiwgImNydiI6ICJQLTI1NiIsICJ4IjogIlRDQUVSMTladnUzT0hGNGo0VzR2ZlNWb0hJUDFJTGlsRGxzN3ZDZUdlbWMiLCAieSI6ICJaeGppV1diWk1RR0hWV0tWUTRoYlNJaXJzVmZ1ZWNDRTZ0NGpUOUYySFpRIn19fQ.YvGqqjp3NjFlOIz6furIKHDYzZibhZPj36vtwgH7fTbgSshCvvvzfTOcwtNA0K3M9wZw7v0BQWdlkLx3SkUJfg~WyI2NFE3OXJKdWkyOVJxWWdHdGpTQ0dBIiwgImFkZHJlc3MiLCB7InN0cmVldF9hZGRyZXNzIjogIlNjaHVsc3RyLiAxMiIsICJsb2NhbGl0eSI6ICJTY2h1bHBmb3J0YSIsICJyZWdpb24iOiAiU2FjaHNlbi1BbmhhbHQiLCAiY291bnRyeSI6ICJERSJ9XQ~WyJjR1ctZl9NVmlJUnp6M0Q1QVNxOUt3IiwgImVtYWlsIiwgIm1heEBob21lLmNvbSJd~eyJhbGciOiAiRVMyNTYiLCAidHlwIjogImtiK2p3dCJ9.eyJub25jZSI6ICIyZjlkZWE4YTBkYmY1ZGRiN2NlOWQyZmRlOWZiOGJkNiIsICJhdWQiOiAiaHR0cHM6Ly9leGFtcGxlLmNvbS92ZXJpZmllciIsICJpYXQiOiAxNjkwOTYyNzM1fQ.ScCgejwnR7fdF2trKDSJooNKWiz6-dLQGlQzRK-NVMSayKWXxj6Ebxwleb2MS_SbSHYHN2GygLw5NNyXV_3TlA" + # "vp": "~~~...~" + } +} + + +def test_vp_token_header(): + VPTokenHeader(**VP_TOKEN['header']) + # alg is ES256 + # it should fail if alg is not in supported_algorithms + with pytest.raises(ValidationError): + VPTokenHeader.model_validate( + VP_TOKEN['header'], context={"supported_algorithms": None}) + with pytest.raises(ValidationError): + VPTokenHeader.model_validate( + VP_TOKEN['header'], context={"supported_algorithms": []}) + with pytest.raises(ValidationError): + VPTokenHeader.model_validate( + VP_TOKEN['header'], context={"supported_algorithms": ["asd"]}) + + VPTokenHeader.model_validate( + VP_TOKEN['header'], context={"supported_algorithms": ["ES256"]}) + + +def test_vp_token_payload(): + VPTokenPayload(**VP_TOKEN['payload']) + # it should fail on SD-JWT format or missing vp + VP_TOKEN["payload"]["vp"] = VP_TOKEN["payload"]["vp"].replace("~", ".") + with pytest.raises(ValidationError): + VPTokenPayload(**VP_TOKEN['payload']) + VP_TOKEN["payload"]["vp"] = VP_TOKEN["payload"]["vp"].replace(".", "~") + del VP_TOKEN["payload"]["vp"] + with pytest.raises(ValidationError): + VPTokenPayload(**VP_TOKEN['payload']) diff --git a/pyeudiw/tests/openid4vp/schemas/test_wallet_instance_attestation.py b/pyeudiw/tests/openid4vp/schemas/test_wallet_instance_attestation.py new file mode 100644 index 00000000..a75727fd --- /dev/null +++ b/pyeudiw/tests/openid4vp/schemas/test_wallet_instance_attestation.py @@ -0,0 +1,136 @@ +import pytest +from pydantic import ValidationError + +from pyeudiw.openid4vp.schemas.wallet_instance_attestation import WalletInstanceAttestationHeader, \ + WalletInstanceAttestationPayload + +WALLET_INSTANCE_ATTESTATION = { + "header": { + "alg": "RS256", + "kid": "NjVBRjY5MDlCMUIwNzU4RTA2QzZFMDQ4QzQ2MDAyQjVDNjk1RTM2Qg", + "trust_chain": [ + "eyJhbGciOiJFUz...6S0A", + "eyJhbGciOiJFUz...jJLA", + "eyJhbGciOiJFUz...H9gw", + ], + "typ": "wallet-attestation+jwt", + "x5c": ["MIIBjDCC ... XFehgKQA=="] + }, + "payload": { + "iss": "https://wallet-provider.example.org", + "sub": "vbeXJksM45xphtANnCiG6mCyuU4jfGNzopGuKvogg9c", + "type": "WalletInstanceAttestation", + "policy_uri": "https://wallet-provider.example.org/privacy_policy", + "tos_uri": "https://wallet-provider.example.org/info_policy", + "logo_uri": "https://wallet-provider.example.org/logo.svg", + "attested_security_context": "https://wallet-provider.example.org/LoA/basic", + "cnf": { + "jwk": { + "alg": "RS256", + "kty": "RSA", + "use": "sig", + "x5c": [ + "MIIC+DCCAeCgAwIBAgIJBIGjYW6hFpn2MA0GCSqGSIb3DQEBBQUAMCMxITAfBgNVBAMTGGN1c3RvbWVyLWRlbW9zLmF1dGgwLmNvbTAeFw0xNjExMjIyMjIyMDVaFw0zMDA4MDEyMjIyMDVaMCMxITAfBgNVBAMTGGN1c3RvbWVyLWRlbW9zLmF1dGgwLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMnjZc5bm/eGIHq09N9HKHahM7Y31P0ul+A2wwP4lSpIwFrWHzxw88/7Dwk9QMc+orGXX95R6av4GF+Es/nG3uK45ooMVMa/hYCh0Mtx3gnSuoTavQEkLzCvSwTqVwzZ+5noukWVqJuMKNwjL77GNcPLY7Xy2/skMCT5bR8UoWaufooQvYq6SyPcRAU4BtdquZRiBT4U5f+4pwNTxSvey7ki50yc1tG49Per/0zA4O6Tlpv8x7Red6m1bCNHt7+Z5nSl3RX/QYyAEUX1a28VcYmR41Osy+o2OUCXYdUAphDaHo4/8rbKTJhlu8jEcc1KoMXAKjgaVZtG/v5ltx6AXY0CAwEAAaMvMC0wDAYDVR0TBAUwAwEB/zAdBgNVHQ4EFgQUQxFG602h1cG+pnyvJoy9pGJJoCswDQYJKoZIhvcNAQEFBQADggEBAGvtCbzGNBUJPLICth3mLsX0Z4z8T8iu4tyoiuAshP/Ry/ZBnFnXmhD8vwgMZ2lTgUWwlrvlgN+fAtYKnwFO2G3BOCFw96Nm8So9sjTda9CCZ3dhoH57F/hVMBB0K6xhklAc0b5ZxUpCIN92v/w+xZoz1XQBHe8ZbRHaP1HpRM4M7DJk2G5cgUCyu3UBvYS41sHvzrxQ3z7vIePRA4WF4bEkfX12gvny0RsPkrbVMXX1Rj9t6V7QXrbPYBAO+43JvDGYawxYVvLhz+BJ45x50GFQmHszfY3BR9TPK8xmMmQwtIvLu1PMttNCs7niCYkSiUv2sc2mlq1i3IashGkkgmo=" + ], + "n": "yeNlzlub94YgerT030codqEztjfU_S6X4DbDA_iVKkjAWtYfPHDzz_sPCT1Axz6isZdf3lHpq_gYX4Sz-cbe4rjmigxUxr-FgKHQy3HeCdK6hNq9ASQvMK9LBOpXDNn7mei6RZWom4wo3CMvvsY1w8tjtfLb-yQwJPltHxShZq5-ihC9irpLI9xEBTgG12q5lGIFPhTl_7inA1PFK97LuSLnTJzW0bj096v_TMDg7pOWm_zHtF53qbVsI0e3v5nmdKXdFf9BjIARRfVrbxVxiZHjU6zL6jY5QJdh1QCmENoejj_ytspMmGW7yMRxzUqgxcAqOBpVm0b-_mW3HoBdjQ", + "e": "AQAB", + "kid": "NjVBRjY5MDlCMUIwNzU4RTA2QzZFMDQ4QzQ2MDAyQjVDNjk1RTM2Qg", + "x5t": "NjVBRjY5MDlCMUIwNzU4RTA2QzZFMDQ4QzQ2MDAyQjVDNjk1RTM2Qg" + } + }, + "authorization_endpoint": "eudiw:", + "response_types_supported": [ + "vp_token" + ], + "vp_formats_supported": { + "jwt_vp_json": { + "alg_values_supported": ["RS256"] + }, + "jwt_vc_json": { + "alg_values_supported": ["RS256"] + } + }, + "request_object_signing_alg_values_supported": [ + "RS256" + ], + "presentation_definition_uri_supported": False, + "iat": 1687281195, + "exp": 1687288395 + } +} + + +def test_header(): + WalletInstanceAttestationHeader(**WALLET_INSTANCE_ATTESTATION['header']) + # alg is RS256 + # it should fail if alg is not in supported_algorithms + with pytest.raises(ValidationError): + WalletInstanceAttestationHeader.model_validate( + WALLET_INSTANCE_ATTESTATION['header'], context={"supported_algorithms": None}) + with pytest.raises(ValidationError): + WalletInstanceAttestationHeader.model_validate( + WALLET_INSTANCE_ATTESTATION['header'], context={"supported_algorithms": []}) + with pytest.raises(ValidationError): + WalletInstanceAttestationHeader.model_validate( + WALLET_INSTANCE_ATTESTATION['header'], context={"supported_algorithms": ["asd"]}) + + WalletInstanceAttestationHeader.model_validate( + WALLET_INSTANCE_ATTESTATION['header'], context={"supported_algorithms": ["RS256"]}) + + # x5c and trust_chain are not required + WALLET_INSTANCE_ATTESTATION['header']['x5c'] = None + WALLET_INSTANCE_ATTESTATION['header']['trust_chain'] = None + WalletInstanceAttestationHeader(**WALLET_INSTANCE_ATTESTATION['header']) + del WALLET_INSTANCE_ATTESTATION['header']['x5c'] + del WALLET_INSTANCE_ATTESTATION['header']['trust_chain'] + WalletInstanceAttestationHeader(**WALLET_INSTANCE_ATTESTATION['header']) + + # kid is required + WALLET_INSTANCE_ATTESTATION['header']['kid'] = None + with pytest.raises(ValidationError): + WalletInstanceAttestationHeader( + **WALLET_INSTANCE_ATTESTATION['header']) + del WALLET_INSTANCE_ATTESTATION['header']['kid'] + with pytest.raises(ValidationError): + WalletInstanceAttestationHeader( + **WALLET_INSTANCE_ATTESTATION['header']) + + # typ must be "wallet-attestation-jwt" + WALLET_INSTANCE_ATTESTATION['header']['typ'] = "asd" + with pytest.raises(ValidationError): + WalletInstanceAttestationHeader( + **WALLET_INSTANCE_ATTESTATION['header']) + + +def test_payload(): + WalletInstanceAttestationPayload(**WALLET_INSTANCE_ATTESTATION['payload']) + WalletInstanceAttestationPayload.model_validate( + WALLET_INSTANCE_ATTESTATION['payload']) + + # iss is not HttpUrl + WALLET_INSTANCE_ATTESTATION['payload']['iss'] = WALLET_INSTANCE_ATTESTATION['payload']['iss'][4:] + with pytest.raises(ValidationError): + WalletInstanceAttestationPayload.model_validate( + WALLET_INSTANCE_ATTESTATION['payload']) + WALLET_INSTANCE_ATTESTATION['payload']['iss'] = "http" + \ + WALLET_INSTANCE_ATTESTATION['payload']['iss'] + WalletInstanceAttestationPayload.model_validate( + WALLET_INSTANCE_ATTESTATION['payload']) + + # empty cnf + cnf = WALLET_INSTANCE_ATTESTATION['payload']['cnf'] + WALLET_INSTANCE_ATTESTATION['payload']['cnf'] = {} + with pytest.raises(ValidationError): + WalletInstanceAttestationPayload.model_validate( + WALLET_INSTANCE_ATTESTATION['payload']) + del WALLET_INSTANCE_ATTESTATION['payload']['cnf'] + with pytest.raises(ValidationError): + WalletInstanceAttestationPayload.model_validate( + WALLET_INSTANCE_ATTESTATION['payload']) + WALLET_INSTANCE_ATTESTATION['payload']['cnf'] = cnf + + # cnf jwk is not a JWK + WALLET_INSTANCE_ATTESTATION['payload']['cnf']['jwk'] = {} + with pytest.raises(ValidationError): + WalletInstanceAttestationPayload.model_validate( + WALLET_INSTANCE_ATTESTATION['payload']) diff --git a/pyeudiw/tests/openid4vp/schemas/test_wallet_instance_attestation_request.py b/pyeudiw/tests/openid4vp/schemas/test_wallet_instance_attestation_request.py new file mode 100644 index 00000000..2663d017 --- /dev/null +++ b/pyeudiw/tests/openid4vp/schemas/test_wallet_instance_attestation_request.py @@ -0,0 +1,64 @@ +import pytest +from pydantic import ValidationError + +from pyeudiw.openid4vp.schemas.wallet_instance_attestation_request import WalletInstanceAttestationRequestHeader, \ + WalletInstanceAttestationRequestPayload + +WALLET_INSTANCE_ATTESTATION_REQUEST = { + "header": { + "alg": "RS256", + "kid": "NjVBRjY5MDlCMUIwNzU4RTA2QzZFMDQ4QzQ2MDAyQjVDNjk1RTM2Qg", + "typ": "var+jwt" + }, + "payload": { + "iss": "vbeXJksM45xphtANnCiG6mCyuU4jfGNzopGuKvogg9c", + "aud": "https://wallet-provider.example.org", + "jti": "6ec69324-60a8-4e5b-a697-a766d85790ea", + "type": "WalletInstanceAttestationRequest", + "nonce": ".....", + "cnf": { + "jwk": { + "alg": "RS256", + "kty": "RSA", + "use": "sig", + "x5c": [ + "MIIC+DCCAeCgAwIBAgIJBIGjYW6hFpn2MA0GCSqGSIb3DQEBBQUAMCMxITAfBgNVBAMTGGN1c3RvbWVyLWRlbW9zLmF1dGgwLmNvbTAeFw0xNjExMjIyMjIyMDVaFw0zMDA4MDEyMjIyMDVaMCMxITAfBgNVBAMTGGN1c3RvbWVyLWRlbW9zLmF1dGgwLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMnjZc5bm/eGIHq09N9HKHahM7Y31P0ul+A2wwP4lSpIwFrWHzxw88/7Dwk9QMc+orGXX95R6av4GF+Es/nG3uK45ooMVMa/hYCh0Mtx3gnSuoTavQEkLzCvSwTqVwzZ+5noukWVqJuMKNwjL77GNcPLY7Xy2/skMCT5bR8UoWaufooQvYq6SyPcRAU4BtdquZRiBT4U5f+4pwNTxSvey7ki50yc1tG49Per/0zA4O6Tlpv8x7Red6m1bCNHt7+Z5nSl3RX/QYyAEUX1a28VcYmR41Osy+o2OUCXYdUAphDaHo4/8rbKTJhlu8jEcc1KoMXAKjgaVZtG/v5ltx6AXY0CAwEAAaMvMC0wDAYDVR0TBAUwAwEB/zAdBgNVHQ4EFgQUQxFG602h1cG+pnyvJoy9pGJJoCswDQYJKoZIhvcNAQEFBQADggEBAGvtCbzGNBUJPLICth3mLsX0Z4z8T8iu4tyoiuAshP/Ry/ZBnFnXmhD8vwgMZ2lTgUWwlrvlgN+fAtYKnwFO2G3BOCFw96Nm8So9sjTda9CCZ3dhoH57F/hVMBB0K6xhklAc0b5ZxUpCIN92v/w+xZoz1XQBHe8ZbRHaP1HpRM4M7DJk2G5cgUCyu3UBvYS41sHvzrxQ3z7vIePRA4WF4bEkfX12gvny0RsPkrbVMXX1Rj9t6V7QXrbPYBAO+43JvDGYawxYVvLhz+BJ45x50GFQmHszfY3BR9TPK8xmMmQwtIvLu1PMttNCs7niCYkSiUv2sc2mlq1i3IashGkkgmo=" + ], + "n": "yeNlzlub94YgerT030codqEztjfU_S6X4DbDA_iVKkjAWtYfPHDzz_sPCT1Axz6isZdf3lHpq_gYX4Sz-cbe4rjmigxUxr-FgKHQy3HeCdK6hNq9ASQvMK9LBOpXDNn7mei6RZWom4wo3CMvvsY1w8tjtfLb-yQwJPltHxShZq5-ihC9irpLI9xEBTgG12q5lGIFPhTl_7inA1PFK97LuSLnTJzW0bj096v_TMDg7pOWm_zHtF53qbVsI0e3v5nmdKXdFf9BjIARRfVrbxVxiZHjU6zL6jY5QJdh1QCmENoejj_ytspMmGW7yMRxzUqgxcAqOBpVm0b-_mW3HoBdjQ", + "e": "AQAB", + "kid": "NjVBRjY5MDlCMUIwNzU4RTA2QzZFMDQ4QzQ2MDAyQjVDNjk1RTM2Qg", + "x5t": "NjVBRjY5MDlCMUIwNzU4RTA2QzZFMDQ4QzQ2MDAyQjVDNjk1RTM2Qg" + } + }, + "iat": 1686645115, + "exp": 1686652315 + }} + + +def test_header(): + WalletInstanceAttestationRequestHeader( + **WALLET_INSTANCE_ATTESTATION_REQUEST['header']) + with pytest.raises(ValidationError): + WalletInstanceAttestationRequestHeader.model_validate( + WALLET_INSTANCE_ATTESTATION_REQUEST['header'], context={"supported_algorithms": ["RS128", "ES128"]}) + WalletInstanceAttestationRequestHeader.model_validate( + WALLET_INSTANCE_ATTESTATION_REQUEST['header'], context={"supported_algorithms": ["RS256", "ES256"]}) + WALLET_INSTANCE_ATTESTATION_REQUEST['header']['typ'] = 'wrong' + with pytest.raises(ValidationError): + WalletInstanceAttestationRequestHeader( + **WALLET_INSTANCE_ATTESTATION_REQUEST['header']) + + +def test_payload(): + WalletInstanceAttestationRequestPayload( + **WALLET_INSTANCE_ATTESTATION_REQUEST['payload']) + WALLET_INSTANCE_ATTESTATION_REQUEST['payload']['type'] = 'wrong' + with pytest.raises(ValidationError): + WalletInstanceAttestationRequestPayload( + **WALLET_INSTANCE_ATTESTATION_REQUEST['payload']) + + WALLET_INSTANCE_ATTESTATION_REQUEST["payload"]["cnf"] = { + "wrong_name_jwk": WALLET_INSTANCE_ATTESTATION_REQUEST["payload"]["cnf"]["jwk"]} + with pytest.raises(ValidationError): + WalletInstanceAttestationRequestPayload.model_validate( + WALLET_INSTANCE_ATTESTATION_REQUEST["payload"]) diff --git a/pyeudiw/tests/presentation_exchange/__init__.py b/pyeudiw/tests/presentation_exchange/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/pyeudiw/tests/presentation_exchange/schemas/__init__.py b/pyeudiw/tests/presentation_exchange/schemas/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/pyeudiw/tests/presentation_exchange/schemas/test_presentation_definition.py b/pyeudiw/tests/presentation_exchange/schemas/test_presentation_definition.py new file mode 100644 index 00000000..766782ca --- /dev/null +++ b/pyeudiw/tests/presentation_exchange/schemas/test_presentation_definition.py @@ -0,0 +1,151 @@ +import pytest +from pydantic import ValidationError + +from pyeudiw.presentation_exchange.schemas.presentation_definition import PresentationDefinition, InputDescriptor + +PID_SD_JWT = { + "id": "pid-sd-jwt:unique_id+given_name+family_name", + "input_descriptors": [ + { + "id": "sd-jwt", + "format": { + "jwt": { + "alg": [ + "EdDSA", + "ES256" + ] + }, + "constraints": { + "limit_disclosure": "required", + "fields": [ + { + "path": [ + "$.sd-jwt.type" + ], + "filter": { + "type": "string", + "const": "PersonIdentificationData" + } + }, + { + "path": [ + "$.sd-jwt.cnf" + ], + "filter": { + "type": "object", + } + }, + { + "path": [ + "$.sd-jwt.family_name" + ], + "intent_to_retain": "true" + }, + { + "path": [ + "$.sd-jwt.given_name" + ], + "intent_to_retain": "true" + }, + { + "path": [ + "$.sd-jwt.unique_id" + ], + "intent_to_retain": "true" + } + ] + } + } + } + ] +} + +MDL_SAMPLE_REQ = { + "id": "mDL-sample-req", + "input_descriptors": [ + { + "id": "mDL", + "format": { + "mso_mdoc": { + "alg": [ + "EdDSA", + "ES256" + ] + }, + "constraints": { + "limit_disclosure": "required", + "fields": [ + { + "path": [ + "$.mdoc.doctype" + ], + "filter": { + "type": "string", + "const": "org.iso.18013.5.1.mDL" + } + }, + { + "path": [ + "$.mdoc.namespace" + ], + "filter": { + "type": "string", + "const": "org.iso.18013.5.1" + } + }, + { + "path": [ + "$.mdoc.family_name" + ], + "intent_to_retain": "false" + }, + { + "path": [ + "$.mdoc.portrait" + ], + "intent_to_retain": "false" + }, + { + "path": [ + "$.mdoc.driving_privileges" + ], + "intent_to_retain": "false" + } + ] + } + } + } + ] +} + + +def test_input_descriptor(): + descriptor = PID_SD_JWT["input_descriptors"][0] + InputDescriptor(**descriptor) + descriptor["format"]["jwt"]["alg"] = "ES256" + with pytest.raises(ValidationError): + InputDescriptor(**descriptor) + descriptor["format"]["jwt"]["alg"] = ["ES256"] + + +def test_presentation_definition(): + PresentationDefinition(**PID_SD_JWT) + PresentationDefinition(**MDL_SAMPLE_REQ) + + PID_SD_JWT["input_descriptors"][0]["format"]["jwt"]["alg"] = "ES256" + with pytest.raises(ValidationError): + PresentationDefinition(**PID_SD_JWT) + + PID_SD_JWT["input_descriptors"][0]["format"]["jwt"]["alg"] = ["ES256"] + PresentationDefinition(**PID_SD_JWT) + + del PID_SD_JWT["input_descriptors"][0]["format"]["jwt"]["alg"] + # alg is an emtpy dict, which is not allowed + with pytest.raises(ValidationError): + PresentationDefinition(**PID_SD_JWT) + + del PID_SD_JWT["input_descriptors"][0]["format"]["jwt"] + # since jwt is Optional, this is allowed + PresentationDefinition(**PID_SD_JWT) + + PID_SD_JWT["input_descriptors"][0]["format"]["jwt"] = {"alg": ["ES256"]} diff --git a/pyeudiw/tests/satosa/test_backend.py b/pyeudiw/tests/satosa/test_backend.py index a85cd132..2981ba82 100644 --- a/pyeudiw/tests/satosa/test_backend.py +++ b/pyeudiw/tests/satosa/test_backend.py @@ -1,27 +1,25 @@ -import uuid import base64 import json import pathlib -import pytest import urllib.parse +import uuid +from unittest.mock import Mock +import pytest from bs4 import BeautifulSoup - -from pyeudiw.jwt.utils import unpad_jwt_payload -from pyeudiw.oauth2.dpop import DPoPIssuer -from pyeudiw.satosa.backend import OpenID4VPBackend -from pyeudiw.jwt import JWSHelper, JWEHelper, unpad_jwt_header -from pyeudiw.jwk import JWK -from pyeudiw.sd_jwt import issue_sd_jwt, _adapt_keys, load_specification_from_yaml_string -from pyeudiw.tools.utils import iat_now, exp_from_now - -from sd_jwt.holder import SDJWTHolder - from satosa.context import Context from satosa.internal import InternalData from satosa.state import State -from unittest.mock import Mock +from sd_jwt.holder import SDJWTHolder +from pyeudiw.jwk import JWK +from pyeudiw.jwt import JWEHelper, JWSHelper, unpad_jwt_header +from pyeudiw.jwt.utils import unpad_jwt_payload +from pyeudiw.oauth2.dpop import DPoPIssuer +from pyeudiw.satosa.backend import OpenID4VPBackend +from pyeudiw.sd_jwt import (_adapt_keys, issue_sd_jwt, + load_specification_from_yaml_string) +from pyeudiw.tools.utils import exp_from_now, iat_now BASE_URL = "https://example.com" AUTHZ_PAGE = "example.com" diff --git a/pyeudiw/tests/storage/test_db_engine.py b/pyeudiw/tests/storage/test_db_engine.py index 03171a66..13e3aa0f 100644 --- a/pyeudiw/tests/storage/test_db_engine.py +++ b/pyeudiw/tests/storage/test_db_engine.py @@ -1,4 +1,5 @@ import uuid + import pytest from pyeudiw.storage.db_engine import DBEngine diff --git a/pyeudiw/tests/storage/test_mongo_cache.py b/pyeudiw/tests/storage/test_mongo_cache.py index ad0df078..5fb3b3e7 100644 --- a/pyeudiw/tests/storage/test_mongo_cache.py +++ b/pyeudiw/tests/storage/test_mongo_cache.py @@ -1,4 +1,5 @@ import uuid + import pytest from pyeudiw.storage.mongo_cache import MongoCache diff --git a/pyeudiw/tests/storage/test_mongo_storage.py b/pyeudiw/tests/storage/test_mongo_storage.py index 93c46608..f551c708 100644 --- a/pyeudiw/tests/storage/test_mongo_storage.py +++ b/pyeudiw/tests/storage/test_mongo_storage.py @@ -1,4 +1,5 @@ import uuid + import pytest from pyeudiw.storage.mongo_storage import MongoStorage diff --git a/pyeudiw/tests/test_jwt.py b/pyeudiw/tests/test_jwt.py index 214cb26e..ddf65d9e 100644 --- a/pyeudiw/tests/test_jwt.py +++ b/pyeudiw/tests/test_jwt.py @@ -1,7 +1,8 @@ import pytest from pyeudiw.jwk import JWK -from pyeudiw.jwt import JWEHelper, JWSHelper, DEFAUL_ENC_ALG_MAP, DEFAUL_ENC_ENC_MAP +from pyeudiw.jwt import (DEFAUL_ENC_ALG_MAP, DEFAUL_ENC_ENC_MAP, JWEHelper, + JWSHelper) from pyeudiw.jwt.utils import unpad_jwt_header JWKs_EC = [ diff --git a/pyeudiw/tests/tools/test_utils.py b/pyeudiw/tests/tools/test_utils.py index a9dc508e..59e84925 100644 --- a/pyeudiw/tests/tools/test_utils.py +++ b/pyeudiw/tests/tools/test_utils.py @@ -1,11 +1,12 @@ import datetime import sys -import freezegun +import freezegun import pytest -from pyeudiw.tools.utils import exp_from_now, iat_now, random_token, make_timezone_aware +from pyeudiw.tools.utils import (exp_from_now, iat_now, make_timezone_aware, + random_token) def test_make_timezone_aware(): diff --git a/pyeudiw/tools/schema_utils.py b/pyeudiw/tools/schema_utils.py new file mode 100644 index 00000000..69e2530c --- /dev/null +++ b/pyeudiw/tools/schema_utils.py @@ -0,0 +1,26 @@ +from pydantic_core.core_schema import FieldValidationInfo + +_default_supported_algorithms = [ + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512", + "PS256", + "PS384", + "PS512", +] + + +def check_algorithm(alg: str, info: FieldValidationInfo): + if not info.context: + supported_algorithms = _default_supported_algorithms + else: + supported_algorithms = info.context.get( + "supported_algorithms", _default_supported_algorithms) + if not isinstance(supported_algorithms, list): + supported_algorithms = [] + if alg not in supported_algorithms: + raise ValueError(f"Unsupported algorithm: {alg}.\n " + f"Supported algorithms: {supported_algorithms}.\n") diff --git a/pyeudiw/tools/utils.py b/pyeudiw/tools/utils.py index a5ac2006..567e295e 100644 --- a/pyeudiw/tools/utils.py +++ b/pyeudiw/tools/utils.py @@ -1,9 +1,7 @@ -from secrets import token_hex - - import datetime import json import logging +from secrets import token_hex logger = logging.getLogger("pyeudiw.utils") From 04d65e6571ac999a206a2f2b03c1d590553b58df Mon Sep 17 00:00:00 2001 From: peppelinux Date: Fri, 4 Aug 2023 22:35:58 +0200 Subject: [PATCH 39/53] chore: little f-string --- pyeudiw/federation/trust_chain_builder.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyeudiw/federation/trust_chain_builder.py b/pyeudiw/federation/trust_chain_builder.py index 18b6928f..bbd49e9f 100644 --- a/pyeudiw/federation/trust_chain_builder.py +++ b/pyeudiw/federation/trust_chain_builder.py @@ -215,8 +215,8 @@ def get_trust_anchor_configuration(self) -> None: self.trust_anchor_configuration.validate_by_itself() except Exception as e: # pragma: no cover _msg = ( - f"Trust Anchor Entity Configuration failed for {self.trust_anchor}. " - f"{e}" + f"Trust Anchor Entity Configuration failed for + f"{self.trust_anchor}: '{e}'" ) logger.error(_msg) raise Exception(_msg) From 65e35262b3d321713e71062dfd38a961cf80d93e Mon Sep 17 00:00:00 2001 From: peppelinux Date: Fri, 4 Aug 2023 23:41:30 +0200 Subject: [PATCH 40/53] chore: little f-string --- pyeudiw/federation/trust_chain_builder.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyeudiw/federation/trust_chain_builder.py b/pyeudiw/federation/trust_chain_builder.py index 224be275..8620439a 100644 --- a/pyeudiw/federation/trust_chain_builder.py +++ b/pyeudiw/federation/trust_chain_builder.py @@ -215,7 +215,7 @@ def get_trust_anchor_configuration(self) -> None: self.trust_anchor_configuration.validate_by_itself() except Exception as e: # pragma: no cover _msg = ( - f"Trust Anchor Entity Configuration failed for + f"Trust Anchor Entity Configuration failed for " f"{self.trust_anchor}: '{e}'" ) logger.error(_msg) From 4725dc77eb54cbcb5794de5aebf8777495892507 Mon Sep 17 00:00:00 2001 From: peppelinux Date: Sat, 5 Aug 2023 00:39:58 +0200 Subject: [PATCH 41/53] ci: added coveragerc file --- .coveragerc | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .coveragerc diff --git a/.coveragerc b/.coveragerc new file mode 100644 index 00000000..d95772fa --- /dev/null +++ b/.coveragerc @@ -0,0 +1,7 @@ +[run] +branch = true +omit = */tests/*,*/wsgi.py, fabfile.py, /usr/local/*, ./setup.py +source = . + +[report] +show_missing = true From 6d057d06c3612f20c6410973e59414edf1c52c3d Mon Sep 17 00:00:00 2001 From: peppelinux Date: Sat, 5 Aug 2023 01:04:03 +0200 Subject: [PATCH 42/53] chore: linting federation cleanup --- pyeudiw/federation/schema.py | 3 +- pyeudiw/federation/trust_chain_validator.py | 16 +- .../federation/_test_mocked_discovery.py | 186 --------- pyeudiw/tests/federation/base.py | 277 +++++++++++++ pyeudiw/tests/federation/test_policy.py | 47 ++- pyeudiw/tests/federation/test_schema.py | 14 +- .../test_static_trust_chain_validator.py | 365 +++--------------- 7 files changed, 370 insertions(+), 538 deletions(-) delete mode 100644 pyeudiw/tests/federation/_test_mocked_discovery.py create mode 100644 pyeudiw/tests/federation/base.py diff --git a/pyeudiw/federation/schema.py b/pyeudiw/federation/schema.py index f65167af..3a584c93 100644 --- a/pyeudiw/federation/schema.py +++ b/pyeudiw/federation/schema.py @@ -20,9 +20,10 @@ def is_es(payload: dict) -> bool: except Exception: return False + def is_ec(payload: dict) -> bool: try: ESSchema(**payload) return False except Exception: - return True \ No newline at end of file + return True diff --git a/pyeudiw/federation/trust_chain_validator.py b/pyeudiw/federation/trust_chain_validator.py index b2188daa..b1426b9a 100644 --- a/pyeudiw/federation/trust_chain_validator.py +++ b/pyeudiw/federation/trust_chain_validator.py @@ -115,10 +115,10 @@ def is_valid(self): jwk = find_jwk( st_header.get("kid", None), fed_jwks ) - - if jwk == None: + + if not jwk: return False - + jwsh = JWSHelper(jwk) if not jwsh.verify(st): return False @@ -126,7 +126,7 @@ def is_valid(self): fed_jwks = st_payload["jwks"]["keys"] return True - + def _retrieve_ec(self, iss: str, httpc_params: dict = {}): jwt = get_entity_configurations(iss, httpc_params) if len(jwt) == 0: @@ -135,7 +135,7 @@ def _retrieve_ec(self, iss: str, httpc_params: dict = {}): # is something weird these will raise their Exceptions return jwt[0] - + def _retrieve_es(self, download_url: str, iss: str, httpc_params: dict = {}): jwt = get_entity_statements(download_url, httpc_params) if not jwt: @@ -143,7 +143,7 @@ def _retrieve_es(self, download_url: str, iss: str, httpc_params: dict = {}): f"Cannot fast refresh Entity Statement {iss}" ) return jwt - + def _update_st(self, st, httpc_params: dict = {}): payload = unpad_jwt_payload(st) iss = payload['iss'] @@ -160,7 +160,7 @@ def _update_st(self, st, httpc_params: dict = {}): ec = self._retrieve_ec(iss, httpc_params) ec_data = unpad_jwt_payload(ec) fetch_api_url = None - + try: # get superior fetch url fetch_api_url = ec_data["metadata"]["federation_entity"][ @@ -173,7 +173,7 @@ def _update_st(self, st, httpc_params: dict = {}): ) jwt = self._retrieve_es(fetch_api_url, iss, httpc_params) - + return jwt def update(self, httpc_params: dict = {}): diff --git a/pyeudiw/tests/federation/_test_mocked_discovery.py b/pyeudiw/tests/federation/_test_mocked_discovery.py deleted file mode 100644 index b09eedc8..00000000 --- a/pyeudiw/tests/federation/_test_mocked_discovery.py +++ /dev/null @@ -1,186 +0,0 @@ -from django.test import Client -from django.urls import reverse - -from spid_cie_oidc.entity.models import FederationEntityConfiguration -from spid_cie_oidc.entity.jwtse import unpad_jwt_payload, create_jws -from spid_cie_oidc.entity.exceptions import HttpError -from spid_cie_oidc.entity.tests.settings import ta_conf_data - -from .settings import rp_onboarding_data, intermediary_conf, rp_conf - -import copy -import logging - -logger = logging.getLogger(__name__) - - -class DummyContent: - def __init__(self, content): - self.content = content.encode() - self.status_code = 200 - - -class EntityResponse: - def __init__(self): - self.status_code = 200 - self.req_counter = 0 - self.client = Client() - self.result = None - - def result_as_it_is(self): - logger.info( - f"Response #{self.req_counter}: {self.result.content.decode()}") - self.req_counter += 1 - return self.result.content - - def result_as_jws(self): - logger.info( - f"Response #{self.req_counter}: " - f"{unpad_jwt_payload(self.result.content.decode())}" - ) - self.req_counter += 1 - return self.result.content - - def trust_anchor_ec(self): - url = reverse("entity_configuration") - res = self.client.get(url, data={"sub": ta_conf_data["sub"]}) - return res - - def rp_ec(self): - rp = FederationEntityConfiguration.objects.get( - sub=rp_onboarding_data["sub"]) - res = DummyContent(rp.entity_configuration_as_jws) - return res - - def fetch_rp_from_ta(self): - url = reverse("oidcfed_fetch") - res = self.client.get(url, data={"sub": rp_onboarding_data["sub"]}) - return res - - -class EntityResponseNoIntermediate(EntityResponse): - @property - def content(self): - if self.req_counter == 0: - self.result = self.trust_anchor_ec() - elif self.req_counter == 1: - self.result = self.rp_ec() - elif self.req_counter == 2: - self.result = self.fetch_rp_from_ta() - elif self.req_counter > 2: - raise NotImplementedError( - "The mocked resposes seems to be not aligned with the correct flow" - ) - - return self.result_as_jws() - - -class EntityResponseNoIntermediateSignedJwksUri(EntityResponse): - @property - def content(self): - if self.req_counter == 0: - self.result = self.trust_anchor_ec() - elif self.req_counter == 1: - self.result = self.rp_ec() - elif self.req_counter == 2: - self.result = self.fetch_rp_from_ta() - elif self.req_counter == 3: - metadata = copy.deepcopy( - rp_conf['metadata']['openid_relying_party']) - _jwks = metadata.pop('jwks') - fed_jwks = rp_conf['jwks_fed'][0] - self.result = create_jws(_jwks, fed_jwks) - return self.result.encode() - elif self.req_counter > 3: - raise NotImplementedError( - "The mocked resposes seems to be not aligned with the correct flow" - ) - - return self.result_as_jws() - - -class EntityResponseWithIntermediate(EntityResponse): - @property - def content(self): - if self.req_counter == 0: - self.result = self.trust_anchor_ec() - elif self.req_counter == 1: - self.result = self.rp_ec() - elif self.req_counter == 2: - sa = FederationEntityConfiguration.objects.get( - sub=intermediary_conf["sub"]) - self.result = DummyContent(sa.entity_configuration_as_jws) - elif self.req_counter == 3: - url = reverse("oidcfed_fetch") - self.result = self.client.get( - url, - data={ - "sub": rp_onboarding_data["sub"], - "iss": intermediary_conf["sub"], - }, - ) - elif self.req_counter == 4: - url = reverse("oidcfed_fetch") - self.result = self.client.get( - url, data={"sub": intermediary_conf["sub"]}) - elif self.req_counter == 5: - url = reverse("entity_configuration") - self.result = self.client.get( - url, data={"sub": ta_conf_data["sub"]}) - elif self.req_counter > 5: - raise NotImplementedError( - "The mocked resposes seems to be not aligned with the correct flow" - ) - - if self.result.status_code != 200: - raise HttpError( - f"Something went wrong with Http Request: {self.result.__dict__}") - - logger.info("-------------------------------------------------") - logger.info("") - return self.result_as_jws() - - -class EntityResponseWithIntermediateManyHints(EntityResponse): - @property - def content(self): - if self.req_counter == 0: - self.result = self.trust_anchor_ec() - elif self.req_counter == 1: - self.result = self.rp_ec() - elif self.req_counter == 2: - sa = FederationEntityConfiguration.objects.get( - sub=intermediary_conf["sub"]) - self.result = DummyContent(sa.entity_configuration_as_jws) - elif self.req_counter == 3: - self.result = DummyContent("crap") - - elif self.req_counter == 4: - url = reverse("oidcfed_fetch") - self.result = self.client.get( - url, - data={ - "sub": rp_onboarding_data["sub"], - "iss": intermediary_conf["sub"], - }, - ) - elif self.req_counter == 5: - url = reverse("oidcfed_fetch") - self.result = self.client.get( - url, data={"sub": intermediary_conf["sub"]}) - elif self.req_counter == 6: - url = reverse("entity_configuration") - self.result = self.client.get( - url, data={"sub": ta_conf_data["sub"]}) - elif self.req_counter > 6: - raise NotImplementedError( - "The mocked resposes seems to be not aligned with the correct flow" - ) - if self.result.status_code != 200: - raise HttpError( - f"Something went wrong with Http Request: {self.result.__dict__}") - - try: - return self.result_as_jws() - except Exception: - return self.result_as_it_is() diff --git a/pyeudiw/tests/federation/base.py b/pyeudiw/tests/federation/base.py new file mode 100644 index 00000000..c58cc297 --- /dev/null +++ b/pyeudiw/tests/federation/base.py @@ -0,0 +1,277 @@ +# pip install cryptojwt +from cryptojwt.jws.jws import JWS +from cryptojwt.jwk.rsa import new_rsa_key +from pyeudiw.tools.utils import iat_now, exp_from_now + +# Create private keys +leaf_jwk = new_rsa_key() +intermediate_jwk = new_rsa_key() +ta_jwk = new_rsa_key() + +NOW = iat_now() +EXP = exp_from_now(5) + +# Define Entity Configurations +leaf_ec = { + "exp": EXP, + "iat": NOW, + "iss": "https://rp.example.it", + "sub": "https://rp.example.it", + 'jwks': {"keys": []}, + "metadata": { + "wallet_relying_party": { + "application_type": "web", + "client_id": "https://rp.example.it", + "client_name": "Name of an example organization", + 'jwks': {"keys": []}, + "contacts": [ + "ops@verifier.example.org" + ], + + "request_uris": [ + "https://verifier.example.org/request_uri" + ], + "redirect_uris": [ + "https://verifier.example.org/callback" + ], + + "default_acr_values": [ + "https://www.spid.gov.it/SpidL2", + "https://www.spid.gov.it/SpidL3" + ], + + "vp_formats": { + "jwt_vp_json": { + "alg": [ + "EdDSA", + "ES256K" + ] + } + }, + "presentation_definitions": [ + { + "id": "pid-sd-jwt:unique_id+given_name+family_name", + "input_descriptors": [ + { + "id": "sd-jwt", + "format": { + "jwt": { + "alg": [ + "EdDSA", + "ES256" + ] + }, + "constraints": { + "limit_disclosure": "required", + "fields": [ + { + "path": [ + "$.sd-jwt.type" + ], + "filter": { + "type": "string", + "const": "PersonIdentificationData" + } + }, + { + "path": [ + "$.sd-jwt.cnf" + ], + "filter": { + "type": "object", + } + }, + { + "path": [ + "$.sd-jwt.family_name" + ], + "intent_to_retain": "true" + }, + { + "path": [ + "$.sd-jwt.given_name" + ], + "intent_to_retain": "true" + }, + { + "path": [ + "$.sd-jwt.unique_id" + ], + "intent_to_retain": "true" + } + ] + } + } + } + ] + }, + ], + + "default_max_age": 1111, + + # JARM related + "authorization_signed_response_alg": [ + "RS256", + "ES256" + ], + "authorization_encrypted_response_alg": [ + "RSA-OAEP", + "RSA-OAEP-256" + ], + "authorization_encrypted_response_enc": [ + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + "A128GCM", + "A192GCM", + "A256GCM" + ], + + # SIOPv2 related + "subject_type": "pairwise", + "require_auth_time": True, + "id_token_signed_response_alg": [ + "RS256", + "ES256" + ], + "id_token_encrypted_response_alg": [ + "RSA-OAEP", + "RSA-OAEP-256" + ], + "id_token_encrypted_response_enc": [ + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + "A128GCM", + "A192GCM", + "A256GCM" + ], + }, + "federation_entity": { + "organization_name": "OpenID Wallet Verifier example", + "homepage_uri": "https://verifier.example.org/home", + "policy_uri": "https://verifier.example.org/policy", + "logo_uri": "https://verifier.example.org/static/logo.svg", + "contacts": [ + "tech@verifier.example.org" + ] + } + }, + "authority_hints": [ + "https://registry.eudi-wallet.example.it" + ] +} + + +intermediate_ec = { + "exp": EXP, + "iat": NOW, + 'iss': 'https://intermediate.eidas.example.org', + 'sub': 'https://intermediate.eidas.example.org', + 'jwks': {"keys": []}, + 'metadata': { + 'federation_entity': { + 'contacts': ['soggetto@intermediate.eidas.example.it'], + 'federation_fetch_endpoint': 'https://intermediate.eidas.example.org/fetch/', + 'federation_resolve_endpoint': 'https://intermediate.eidas.example.org/resolve/', + 'federation_list_endpoint': 'https://intermediate.eidas.example.org/list/', + 'homepage_uri': 'https://soggetto.intermediate.eidas.example.it', + 'name': 'Example Intermediate intermediate.eidas.example' + } + }, + 'authority_hints': ['https://registry.eidas.trust-anchor.example.eu']} + + +ta_ec = { + "exp": EXP, + "iat": NOW, + 'iss': 'https://registry.eidas.trust-anchor.example.eu/', + 'sub': 'https://registry.eidas.trust-anchor.example.eu/', + 'jwks': {"keys": []}, + 'metadata': { + 'federation_entity': { + 'organization_name': 'example TA', + 'contacts': ['tech@eidas.trust-anchor.example.eu'], + 'homepage_uri': 'https://registry.eidas.trust-anchor.example.eu/', + 'logo_uri': 'https://registry.eidas.trust-anchor.example.eu/static/svg/logo.svg', + 'federation_fetch_endpoint': 'https://registry.eidas.trust-anchor.example.eu/fetch/', + 'federation_resolve_endpoint': 'https://registry.eidas.trust-anchor.example.eu/resolve/', + 'federation_list_endpoint': 'https://registry.eidas.trust-anchor.example.eu/list/', + 'federation_trust_mark_status_endpoint': 'https://registry.eidas.trust-anchor.example.eu/trust_mark_status/' + } + }, + 'constraints': {'max_path_length': 1} +} + +# place example keys +leaf_ec["jwks"]['keys'] = [leaf_jwk.serialize()] +leaf_ec['metadata']['wallet_relying_party']["jwks"]['keys'] = [ + leaf_jwk.serialize()] + +intermediate_ec["jwks"]['keys'] = [intermediate_jwk.serialize()] +ta_ec["jwks"]['keys'] = [ta_jwk.serialize()] + +# pubblica: dict = privata.serialize() +# privata_dict: dict = privata.to_dict() + +# Define Entity Statements +intermediate_es = { + "exp": EXP, + "iat": NOW, + "iss": "https://intermediate.eidas.example.org", + "sub": "https://rp.example.org", + 'jwks': {"keys": []}, + "metadata_policy": { + "openid_relying_party": { + "scopes": { + "subset_of": [ + "eu.europa.ec.eudiw.pid.1, eu.europa.ec.eudiw.pid.it.1" + ] + }, + "request_authentication_methods_supported": { + "one_of": ["request_object"] + }, + "request_authentication_signing_alg_values_supported": { + "subset_of": ["RS256", "RS512", "ES256", "ES512", "PS256", "PS512"] + } + } + } +} + +# the leaf publishes the leaf public key +intermediate_es["jwks"]['keys'] = [leaf_jwk.serialize()] + + +ta_es = { + "exp": EXP, + "iat": NOW, + "iss": "https://trust-anchor.example.eu", + "sub": "https://intermediate.eidas.example.org", + 'jwks': {"keys": []}, + "trust_marks": [ + { + "id": "https://trust-anchor.example.eu/federation_entity/that-profile", + "trust_mark": "eyJhb …" + } + ] +} + +# the ta publishes the intermediate public key +ta_es["jwks"]['keys'] = [intermediate_jwk.serialize()] + + +leaf_signer = JWS(leaf_ec, alg="RS256", typ="application/entity-statement+jwt") +leaf_ec_signed = leaf_signer.sign_compact([leaf_jwk]) + +intermediate_signer = JWS(intermediate_es, alg="RS256", + typ="application/entity-statement+jwt") +intermediate_es_signed = intermediate_signer.sign_compact([intermediate_jwk]) + +ta_signer = JWS(ta_es, alg="RS256", typ="application/entity-statement+jwt") +ta_es_signed = ta_signer.sign_compact([ta_jwk]) + +trust_chain = [ + leaf_ec_signed, + intermediate_es_signed, + ta_es_signed +] diff --git a/pyeudiw/tests/federation/test_policy.py b/pyeudiw/tests/federation/test_policy.py index ac523c2e..c53ceb8a 100644 --- a/pyeudiw/tests/federation/test_policy.py +++ b/pyeudiw/tests/federation/test_policy.py @@ -1,9 +1,9 @@ -import pytest from pyeudiw.federation.policy import ( - do_sub_one_super_add, POLICY_FUNCTIONS, OP2FUNC, PolicyError, do_value + do_sub_one_super_add, PolicyError, do_value ) + def test_do_sub_one_super_add_subset_of(): SUPERIOR = { "subset_of": set(["test_a", "test_b"]) @@ -12,10 +12,11 @@ def test_do_sub_one_super_add_subset_of(): CHILD = { "subset_of": set(["test_a", "test_d"]) } - + policy = do_sub_one_super_add(SUPERIOR, CHILD, "subset_of") - assert policy == ['test_a'] - + assert policy == ['test_a'] + + def test_do_sub_one_super_add_subset_of_fail(): SUPERIOR = { "subset_of": set(["test_a", "test_b"]) @@ -24,12 +25,13 @@ def test_do_sub_one_super_add_subset_of_fail(): CHILD = { "subset_of": set(["test_q", "test_d"]) } - + try: do_sub_one_super_add(SUPERIOR, CHILD, "subset_of") - except PolicyError as e: + except PolicyError: return - + + def test_do_sub_one_super_add_combine_superset_of(): SUPERIOR = { "superset_of": set(["test_a", "test_b"]) @@ -38,10 +40,11 @@ def test_do_sub_one_super_add_combine_superset_of(): CHILD = { "superset_of": set(["test_a", "test_d"]) } - + policy = do_sub_one_super_add(SUPERIOR, CHILD, "superset_of") - assert policy == ['test_a'] - + assert policy == ['test_a'] + + def test_do_sub_one_super_add_subset_of_fail(): SUPERIOR = { "superset_of": set(["test_a", "test_b"]) @@ -50,12 +53,13 @@ def test_do_sub_one_super_add_subset_of_fail(): CHILD = { "superset_of": set(["test_q", "test_d"]) } - + try: do_sub_one_super_add(SUPERIOR, CHILD, "superset_of") - except PolicyError as e: + except PolicyError: return + def test_do_value_superset_of(): SUPERIOR = { "superset_of": set(["test_a", "test_b"]) @@ -64,10 +68,11 @@ def test_do_value_superset_of(): CHILD = { "superset_of": set(["test_a", "test_b"]) } - + policy = do_value(SUPERIOR, CHILD, "superset_of") - assert policy == set(["test_a", "test_b"]) - + assert policy == set(["test_a", "test_b"]) + + def test_do_value_superset_of_fail(): SUPERIOR = { "superset_of": set(["test_a", "test_b"]) @@ -76,12 +81,12 @@ def test_do_value_superset_of_fail(): CHILD = { "superset_of": set(["test_q", "test_d"]) } - + try: do_value(SUPERIOR, CHILD, "superset_of") - except PolicyError as e: + except PolicyError: return - + def test_do_value_superset_of(): SUPERIOR = { @@ -91,6 +96,6 @@ def test_do_value_superset_of(): CHILD = { "superset_of": set(["test_a", "test_b"]) } - + policy = do_value(SUPERIOR, CHILD, "superset_of") - assert policy == set(["test_a", "test_b"]) \ No newline at end of file + assert policy == set(["test_a", "test_b"]) diff --git a/pyeudiw/tests/federation/test_schema.py b/pyeudiw/tests/federation/test_schema.py index b3a40a5d..f33804de 100644 --- a/pyeudiw/tests/federation/test_schema.py +++ b/pyeudiw/tests/federation/test_schema.py @@ -1,4 +1,3 @@ -import pytest from pyeudiw.tools.utils import iat_now, exp_from_now from pyeudiw.federation.schema import is_es, is_ec @@ -13,7 +12,7 @@ "sub": "https://intermediate.eidas.example.org", 'jwks': {"keys": []}, "source_endpoint": "https://rp.example.it" -} +} ta_ec = { "exp": EXP, @@ -38,12 +37,15 @@ def test_is_es(): assert is_es(ta_es) == True - + + def test_is_es_false(): assert is_es(ta_ec) == False - + + def test_is_ec(): assert is_ec(ta_ec) == True - + + def test_is_ec_false(): - assert is_ec(ta_es) == False \ No newline at end of file + assert is_ec(ta_es) == False diff --git a/pyeudiw/tests/federation/test_static_trust_chain_validator.py b/pyeudiw/tests/federation/test_static_trust_chain_validator.py index 8396a4c7..690f0985 100644 --- a/pyeudiw/tests/federation/test_static_trust_chain_validator.py +++ b/pyeudiw/tests/federation/test_static_trust_chain_validator.py @@ -5,285 +5,7 @@ from pyeudiw.federation.trust_chain_validator import StaticTrustChainValidator import pyeudiw.federation.trust_chain_validator as tcv_test -# pip install cryptojwt -from cryptojwt.jws.jws import JWS -from cryptojwt.jwk.rsa import new_rsa_key -from pyeudiw.tools.utils import iat_now, exp_from_now - -# Create private keys -leaf_jwk = new_rsa_key() -intermediate_jwk = new_rsa_key() -ta_jwk = new_rsa_key() - -NOW = iat_now() -EXP = exp_from_now(5) - -# Define Entity Configurations -leaf_ec = { - "exp": EXP, - "iat": NOW, - "iss": "https://rp.example.it", - "sub": "https://rp.example.it", - 'jwks': {"keys": []}, - "metadata": { - "wallet_relying_party": { - "application_type": "web", - "client_id": "https://rp.example.it", - "client_name": "Name of an example organization", - 'jwks': {"keys": []}, - "contacts": [ - "ops@verifier.example.org" - ], - - "request_uris": [ - "https://verifier.example.org/request_uri" - ], - "redirect_uris": [ - "https://verifier.example.org/callback" - ], - - "default_acr_values": [ - "https://www.spid.gov.it/SpidL2", - "https://www.spid.gov.it/SpidL3" - ], - - "vp_formats": { - "jwt_vp_json": { - "alg": [ - "EdDSA", - "ES256K" - ] - } - }, - "presentation_definitions": [ - { - "id": "pid-sd-jwt:unique_id+given_name+family_name", - "input_descriptors": [ - { - "id": "sd-jwt", - "format": { - "jwt": { - "alg": [ - "EdDSA", - "ES256" - ] - }, - "constraints": { - "limit_disclosure": "required", - "fields": [ - { - "path": [ - "$.sd-jwt.type" - ], - "filter": { - "type": "string", - "const": "PersonIdentificationData" - } - }, - { - "path": [ - "$.sd-jwt.cnf" - ], - "filter": { - "type": "object", - } - }, - { - "path": [ - "$.sd-jwt.family_name" - ], - "intent_to_retain": "true" - }, - { - "path": [ - "$.sd-jwt.given_name" - ], - "intent_to_retain": "true" - }, - { - "path": [ - "$.sd-jwt.unique_id" - ], - "intent_to_retain": "true" - } - ] - } - } - } - ] - }, - ], - - "default_max_age": 1111, - - # JARM related - "authorization_signed_response_alg": [ - "RS256", - "ES256" - ], - "authorization_encrypted_response_alg": [ - "RSA-OAEP", - "RSA-OAEP-256" - ], - "authorization_encrypted_response_enc": [ - "A128CBC-HS256", - "A192CBC-HS384", - "A256CBC-HS512", - "A128GCM", - "A192GCM", - "A256GCM" - ], - - # SIOPv2 related - "subject_type": "pairwise", - "require_auth_time": True, - "id_token_signed_response_alg": [ - "RS256", - "ES256" - ], - "id_token_encrypted_response_alg": [ - "RSA-OAEP", - "RSA-OAEP-256" - ], - "id_token_encrypted_response_enc": [ - "A128CBC-HS256", - "A192CBC-HS384", - "A256CBC-HS512", - "A128GCM", - "A192GCM", - "A256GCM" - ], - }, - "federation_entity": { - "organization_name": "OpenID Wallet Verifier example", - "homepage_uri": "https://verifier.example.org/home", - "policy_uri": "https://verifier.example.org/policy", - "logo_uri": "https://verifier.example.org/static/logo.svg", - "contacts": [ - "tech@verifier.example.org" - ] - } - }, - "authority_hints": [ - "https://registry.eudi-wallet.example.it" - ] -} - - -intermediate_ec = { - "exp": EXP, - "iat": NOW, - 'iss': 'https://intermediate.eidas.example.org', - 'sub': 'https://intermediate.eidas.example.org', - 'jwks': {"keys": []}, - 'metadata': { - 'federation_entity': { - 'contacts': ['soggetto@intermediate.eidas.example.it'], - 'federation_fetch_endpoint': 'https://intermediate.eidas.example.org/fetch/', - 'federation_resolve_endpoint': 'https://intermediate.eidas.example.org/resolve/', - 'federation_list_endpoint': 'https://intermediate.eidas.example.org/list/', - 'homepage_uri': 'https://soggetto.intermediate.eidas.example.it', - "federation_fetch_endpoint": "https://verifier.example.org/fetch", - 'name': 'Example Intermediate intermediate.eidas.example' - } - }, - 'trust_marks': [{'id': 'https://registry.gov.org/intermediate/private/full/', - 'trust_mark': 'eyJh …'}], - 'authority_hints': ['https://registry.eidas.trust-anchor.example.eu']} - - -ta_ec = { - "exp": EXP, - "iat": NOW, - 'iss': 'https://registry.eidas.trust-anchor.example.eu/', - 'sub': 'https://registry.eidas.trust-anchor.example.eu/', - 'jwks': {"keys": []}, - 'metadata': {'federation_entity': {'organization_name': 'example TA', - 'contacts': ['tech@eidas.trust-anchor.example.eu'], - 'homepage_uri': 'https://registry.eidas.trust-anchor.example.eu/', - 'logo_uri': 'https://registry.eidas.trust-anchor.example.eu/static/svg/logo.svg', - 'federation_fetch_endpoint': 'https://registry.eidas.trust-anchor.example.eu/fetch/', - 'federation_resolve_endpoint': 'https://registry.eidas.trust-anchor.example.eu/resolve/', - 'federation_list_endpoint': 'https://registry.eidas.trust-anchor.example.eu/list/', - 'federation_trust_mark_status_endpoint': 'https://registry.eidas.trust-anchor.example.eu/trust_mark_status/'}}, - 'trust_marks_issuers': {'https://registry.eidas.trust-anchor.example.eu/openid_relying_party/public/': ['https://registry.spid.eidas.trust-anchor.example.eu/', - 'https://public.intermediary.spid.org/'], - 'https://registry.eidas.trust-anchor.example.eu/openid_relying_party/private/': ['https://registry.spid.eidas.trust-anchor.example.eu/', - 'https://private.other.intermediary.org/']}, - 'constraints': {'max_path_length': 1}} - -# place example keys -leaf_ec["jwks"]['keys'] = [leaf_jwk.serialize()] -leaf_ec['metadata']['wallet_relying_party']["jwks"]['keys'] = [ - leaf_jwk.serialize()] - -intermediate_ec["jwks"]['keys'] = [intermediate_jwk.serialize()] -ta_ec["jwks"]['keys'] = [ta_jwk.serialize()] - -# pubblica: dict = privata.serialize() -# privata_dict: dict = privata.to_dict() - -# Define Entity Statements -intermediate_es = { - "exp": EXP, - "iat": NOW, - "iss": "https://intermediate.eidas.example.org", - "sub": "https://rp.example.org", - 'jwks': {"keys": []}, - "metadata_policy": { - "openid_relying_party": { - "scopes": { - "subset_of": [ - "eu.europa.ec.eudiw.pid.1, eu.europa.ec.eudiw.pid.it.1" - ] - }, - "request_authentication_methods_supported": { - "one_of": ["request_object"] - }, - "request_authentication_signing_alg_values_supported": { - "subset_of": ["RS256", "RS512", "ES256", "ES512", "PS256", "PS512"] - } - } - } -} - -# the leaf publishes the leaf public key -intermediate_es["jwks"]['keys'] = [leaf_jwk.serialize()] - - -ta_es = { - "exp": EXP, - "iat": NOW, - "iss": "https://trust-anchor.example.eu", - "sub": "https://intermediate.eidas.example.org", - 'jwks': {"keys": []}, - "trust_marks": [ - { - "id": "https://trust-anchor.example.eu/federation_entity/that-profile", - "trust_mark": "eyJhb …" - } - ] -} - -# the ta publishes the intermediate public key -ta_es["jwks"]['keys'] = [intermediate_jwk.serialize()] - - -leaf_signer = JWS(leaf_ec, alg="RS256", typ="application/entity-statement+jwt") -leaf_ec_signed = leaf_signer.sign_compact([leaf_jwk]) - -intermediate_signer = JWS(intermediate_es, alg="RS256", - typ="application/entity-statement+jwt") -intermediate_es_signed = intermediate_signer.sign_compact([intermediate_jwk]) - -ta_signer = JWS(ta_es, alg="RS256", typ="application/entity-statement+jwt") -ta_es_signed = ta_signer.sign_compact([ta_jwk]) - -trust_chain = [ - leaf_ec_signed, - intermediate_es_signed, - ta_es_signed -] +from . base import EXP, JWS, NOW, intermediate_ec, intermediate_es, intermediate_jwk, leaf_ec_signed, leaf_jwk, ta_es, ta_es_signed, ta_jwk, trust_chain def test_is_valid(): @@ -295,11 +17,14 @@ def test_is_valid(): invalid_leaf_jwk = copy.deepcopy(leaf_jwk.serialize()) invalid_leaf_jwk["kid"] = str(uuid.uuid4()) -invalid_intermediate["jwks"]['keys'] = [invalid_leaf_jwk] +invalid_intermediate["jwks"]['keys'] = [invalid_leaf_jwk] -intermediate_signer = JWS(invalid_intermediate, alg="RS256", - typ="application/entity-statement+jwt") -invalid_intermediate_es_signed = intermediate_signer.sign_compact([intermediate_jwk]) +intermediate_signer = JWS( + invalid_intermediate, alg="RS256", + typ="application/entity-statement+jwt" +) +invalid_intermediate_es_signed = intermediate_signer.sign_compact([ + intermediate_jwk]) invalid_trust_chain = [ leaf_ec_signed, @@ -307,50 +32,56 @@ def test_is_valid(): ta_es_signed ] + def test_is_valid_equals_false(): assert StaticTrustChainValidator( invalid_trust_chain, [ta_jwk.serialize()]).is_valid == False - - + + def test_retrieve_ec(): tcv_test.get_entity_configurations = Mock(return_value=[leaf_ec_signed]) - + assert tcv_test.StaticTrustChainValidator( invalid_trust_chain, [ta_jwk.serialize()])._retrieve_ec("https://trust-anchor.example.eu") == leaf_ec_signed - + + def test_retrieve_ec_fails(): tcv_test.get_entity_configurations = Mock(return_value=[]) - + try: StaticTrustChainValidator( invalid_trust_chain, [ta_jwk.serialize()])._retrieve_ec("https://trust-anchor.example.eu") except tcv_test.HttpError as e: return - + + def test_retrieve_es(): tcv_test.get_entity_statements = Mock(return_value=ta_es) - + assert tcv_test.StaticTrustChainValidator( invalid_trust_chain, [ta_jwk.serialize()])._retrieve_es("https://trust-anchor.example.eu", "https://trust-anchor.example.eu") == ta_es - + + def test_retrieve_es_output_is_none(): tcv_test.get_entity_statements = Mock(return_value=None) - + assert tcv_test.StaticTrustChainValidator( - invalid_trust_chain, [ta_jwk.serialize()])._retrieve_es("https://trust-anchor.example.eu", "https://trust-anchor.example.eu") == None - -def test_update_st_ec_case(): + invalid_trust_chain, [ta_jwk.serialize()])._retrieve_es("https://trust-anchor.example.eu", "https://trust-anchor.example.eu") == None + + +def test_update_st_ec_case(): def mock_method(*args, **kwargs): if args[0] == "https://rp.example.it": return [leaf_ec_signed] - + raise Exception("Wrong issuer") - + with mock.patch.object(tcv_test, "get_entity_configurations", mock_method): assert tcv_test.StaticTrustChainValidator( invalid_trust_chain, [ta_jwk.serialize()])._update_st(leaf_ec_signed) == leaf_ec_signed - -def test_update_st_es_case_source_endpoint(): + + +def test_update_st_es_case_source_endpoint(): ta_es = { "exp": EXP, "iat": NOW, @@ -358,47 +89,49 @@ def test_update_st_es_case_source_endpoint(): "sub": "https://intermediate.eidas.example.org", 'jwks': {"keys": []}, "source_endpoint": "https://rp.example.it" - } - + } + ta_signer = JWS(ta_es, alg="RS256", typ="application/entity-statement+jwt") ta_es_signed = ta_signer.sign_compact([ta_jwk]) - - def mock_method(*args, **kwargs): + + def mock_method(*args, **kwargs): if args[0] == "https://rp.example.it": return leaf_ec_signed - + raise Exception("Wrong issuer") - + with mock.patch.object(tcv_test, "get_entity_statements", mock_method): assert tcv_test.StaticTrustChainValidator( invalid_trust_chain, [ta_jwk.serialize()])._update_st(ta_es_signed) == leaf_ec_signed - + + def test_update_st_es_case_source_endpoint(): intermediate_signer = JWS(intermediate_ec, alg="RS256", - typ="application/entity-statement+jwt") - intermediate_ec_signed = intermediate_signer.sign_compact([intermediate_jwk]) - + typ="application/entity-statement+jwt") + intermediate_ec_signed = intermediate_signer.sign_compact( + [intermediate_jwk]) + ta_es = { "exp": EXP, "iat": NOW, "iss": "https://trust-anchor.example.eu", "sub": "https://intermediate.eidas.example.org", 'jwks': {"keys": []}, - } - + } + ta_signer = JWS(ta_es, alg="RS256", typ="application/entity-statement+jwt") ta_es_signed = ta_signer.sign_compact([ta_jwk]) - - def mock_method_ec(*args, **kwargs): + + def mock_method_ec(*args, **kwargs): if args[0] == "https://trust-anchor.example.eu": return [intermediate_ec_signed] raise Exception("Wrong issuer") - - def mock_method_es(*args, **kwargs): + + def mock_method_es(*args, **kwargs): if args[0] == "https://verifier.example.org/fetch": return leaf_ec_signed raise Exception("Wrong issuer") - + with mock.patch.object(tcv_test, "get_entity_statements", mock_method_es): with mock.patch.object(tcv_test, "get_entity_configurations", mock_method_ec): assert tcv_test.StaticTrustChainValidator( From 76c7e0e8c08ea7a7fce80dca47c66a88f494f1bb Mon Sep 17 00:00:00 2001 From: peppelinux Date: Sat, 5 Aug 2023 03:36:09 +0200 Subject: [PATCH 43/53] chore: federation tc disco assertions --- pyeudiw/federation/http_client.py | 8 +- pyeudiw/federation/statements.py | 22 ++- pyeudiw/federation/trust_chain_builder.py | 20 ++- pyeudiw/federation/trust_chain_validator.py | 4 +- pyeudiw/tests/federation/base.py | 9 +- pyeudiw/tests/federation/mocked_response.py | 156 ++++++++++++++++++ .../test_static_trust_chain_validator.py | 12 +- .../federation/test_trust_chain_builder.py | 29 ++++ requirements-dev.txt | 1 + 9 files changed, 239 insertions(+), 22 deletions(-) create mode 100644 pyeudiw/tests/federation/mocked_response.py create mode 100644 pyeudiw/tests/federation/test_trust_chain_builder.py diff --git a/pyeudiw/federation/http_client.py b/pyeudiw/federation/http_client.py index efa8f871..3f6ff6c2 100644 --- a/pyeudiw/federation/http_client.py +++ b/pyeudiw/federation/http_client.py @@ -1,5 +1,6 @@ import aiohttp import asyncio +import requests async def fetch(session, url, httpc_params: dict = {}): @@ -19,7 +20,12 @@ async def fetch_all(session, urls, httpc_params): return results -async def http_get(urls, httpc_params: dict = {}): +async def http_get(urls, httpc_params: dict = {}, sync=True): + + if sync: + res = [requests.get(url).content for url in urls] + return res + async with aiohttp.ClientSession(**httpc_params.get("session", {})) as session: text = await fetch_all(session, urls, httpc_params) return text diff --git a/pyeudiw/federation/statements.py b/pyeudiw/federation/statements.py index e5843cb0..347b41d7 100644 --- a/pyeudiw/federation/statements.py +++ b/pyeudiw/federation/statements.py @@ -317,7 +317,7 @@ def get_superiors( f"{', '.join(authority_hints[max_authority_hints:])}" ) authority_hints = authority_hints[:max_authority_hints] - + for sup in superiors_hints: if sup.sub in authority_hints: logger.info( @@ -326,13 +326,27 @@ def get_superiors( ) authority_hints.pop(authority_hints.index(sup.sub)) self.verified_superiors[sup.sub] = sup + logger.debug(f"Getting Entity Configurations for {authority_hints}") - - jwts = get_entity_configurations(authority_hints, self.httpc_params) + + jwts = [] + + if self.trust_anchor_entity_conf: + ta_id = self.trust_anchor_entity_conf.payload.get("sub", {}) + if ta_id in authority_hints: + jwts = [self.trust_anchor_configuration] + + if not jwts: + jwts = get_entity_configurations(authority_hints, self.httpc_params) + for jwt in jwts: try: - ec = self.__class__(jwt, httpc_params=self.httpc_params) + ec = self.__class__( + jwt, + httpc_params=self.httpc_params, + trust_anchor_entity_conf = self.trust_anchor_entity_conf + ) except Exception as e: logger.warning(f"Get Entity Configuration for {jwt}: {e}") continue diff --git a/pyeudiw/federation/trust_chain_builder.py b/pyeudiw/federation/trust_chain_builder.py index 8620439a..ff4e915f 100644 --- a/pyeudiw/federation/trust_chain_builder.py +++ b/pyeudiw/federation/trust_chain_builder.py @@ -37,7 +37,8 @@ class TrustChainBuilder: def __init__( self, subject: str, - trust_anchor: Union[str, EntityStatement], + trust_anchor: str, + trust_anchor_configuration: Union[EntityStatement, None] = None, httpc_params: dict = {}, max_authority_hints: int = 10, subject_configuration: EntityStatement = None, @@ -54,7 +55,7 @@ def __init__( self.httpc_params = httpc_params self.trust_anchor = trust_anchor - self.trust_anchor_configuration = None + self.trust_anchor_configuration = trust_anchor_configuration self.required_trust_marks = required_trust_marks self.is_valid = False @@ -69,6 +70,7 @@ def __init__( self.verified_trust_marks = [] self.exp = 0 + self._set_max_path_len() def apply_metadata_policy(self) -> dict: """ @@ -155,7 +157,7 @@ def discovery(self) -> bool: logger.info( f"Starting a Walk into Metadata Discovery for {self.subject}") self.tree_of_trust[0] = [self.subject_configuration] - + ecs_history = [] while (len(self.tree_of_trust) - 2) < self.max_path_len: last_path_n = list(self.tree_of_trust.keys())[-1] @@ -220,7 +222,11 @@ def get_trust_anchor_configuration(self) -> None: ) logger.error(_msg) raise Exception(_msg) - + + self._set_max_path_len() + + + def _set_max_path_len(self): if self.trust_anchor_configuration.payload.get("constraints", {}).get( "max_path_length" ): @@ -233,11 +239,11 @@ def get_trust_anchor_configuration(self) -> None: def get_subject_configuration(self) -> None: if not self.subject_configuration: try: - jwt = get_entity_configurations( + jwts = get_entity_configurations( self.subject, httpc_params=self.httpc_params ) self.subject_configuration = EntityStatement( - jwt[0], trust_anchor_entity_conf=self.trust_anchor_configuration + jwts[0], trust_anchor_entity_conf=self.trust_anchor_configuration ) self.subject_configuration.validate_by_itself() except Exception as e: @@ -283,7 +289,7 @@ def serialize(self): def start(self): try: - self.get_trust_anchor_configuration() + # self.get_trust_anchor_configuration() self.get_subject_configuration() self.discovery() except Exception as e: diff --git a/pyeudiw/federation/trust_chain_validator.py b/pyeudiw/federation/trust_chain_validator.py index b1426b9a..a099b7e1 100644 --- a/pyeudiw/federation/trust_chain_validator.py +++ b/pyeudiw/federation/trust_chain_validator.py @@ -80,7 +80,7 @@ def is_valid(self): self.updated_trust_chain or self.static_trust_chain ) ] - + # inspect the entity statement kid header to know which # TA's public key to use for the validation @@ -180,5 +180,5 @@ def update(self, httpc_params: dict = {}): for st in self.static_trust_chain: jwt = self._update_st(st, httpc_params) self.updated_trust_chain.append(jwt) - + return self.is_valid diff --git a/pyeudiw/tests/federation/base.py b/pyeudiw/tests/federation/base.py index c58cc297..5c323e85 100644 --- a/pyeudiw/tests/federation/base.py +++ b/pyeudiw/tests/federation/base.py @@ -158,7 +158,7 @@ } }, "authority_hints": [ - "https://registry.eudi-wallet.example.it" + "https://intermediate.eidas.example.org" ] } @@ -267,9 +267,16 @@ typ="application/entity-statement+jwt") intermediate_es_signed = intermediate_signer.sign_compact([intermediate_jwk]) +intermediate_signer_ec = JWS(intermediate_ec, alg="RS256", + typ="application/entity-statement+jwt") +intermediate_ec_signed = intermediate_signer_ec.sign_compact([intermediate_jwk]) + ta_signer = JWS(ta_es, alg="RS256", typ="application/entity-statement+jwt") ta_es_signed = ta_signer.sign_compact([ta_jwk]) +ta_signer_ec = JWS(ta_ec, alg="RS256", typ="application/entity-statement+jwt") +ta_ec_signed = ta_signer_ec.sign_compact([ta_jwk]) + trust_chain = [ leaf_ec_signed, intermediate_es_signed, diff --git a/pyeudiw/tests/federation/mocked_response.py b/pyeudiw/tests/federation/mocked_response.py new file mode 100644 index 00000000..b65a89e0 --- /dev/null +++ b/pyeudiw/tests/federation/mocked_response.py @@ -0,0 +1,156 @@ +from pyeudiw.jwt import JWSHelper +from pyeudiw.jwt.utils import unpad_jwt_payload +from pyeudiw.federation.exceptions import HttpError + +from . base import * + +import copy +import logging + +logger = logging.getLogger(__name__) + + +class DummyContent: + def __init__(self, content): + self.content = content.encode() + self.status_code = 200 + + +class EntityResponse: + def __init__(self): + self.status_code = 200 + self.req_counter = 0 + self.result = None + + +class EntityResponseNoIntermediate(EntityResponse): + @property + def content(self): + + resp_seq = { + 0: ta_ec_signed, + 1: leaf_ec_signed, + 2: intermediate_ec_signed, + 3: intermediate_es_signed, + 4: ta_ec_signed, + 5: ta_es_signed + } + + self.result = resp_seq.get(self.req_counter, None) + self.req_counter += 1 + if self.result: + return self.result + else: + raise NotImplementedError( + "The mocked resposes seems to be not aligned with the correct flow" + ) + +# class EntityResponseNoIntermediateSignedJwksUri(EntityResponse): + # @property + # def content(self): + # if self.req_counter == 0: + # self.result = self.trust_anchor_ec() + # elif self.req_counter == 1: + # self.result = self.rp_ec() + # elif self.req_counter == 2: + # self.result = self.fetch_rp_from_ta() + # elif self.req_counter == 3: + # metadata = copy.deepcopy( + # rp_conf['metadata']['openid_relying_party']) + # _jwks = metadata.pop('jwks') + # fed_jwks = rp_conf['jwks_fed'][0] + # self.result = create_jws(_jwks, fed_jwks) + # return self.result.encode() + # elif self.req_counter > 3: + # raise NotImplementedError( + # "The mocked resposes seems to be not aligned with the correct flow" + # ) + + # return self.result_as_jws() + + +# class EntityResponseWithIntermediate(EntityResponse): + # @property + # def content(self): + # if self.req_counter == 0: + # self.result = self.trust_anchor_ec() + # elif self.req_counter == 1: + # self.result = self.rp_ec() + # elif self.req_counter == 2: + # sa = FederationEntityConfiguration.objects.get( + # sub=intermediary_conf["sub"]) + # self.result = DummyContent(sa.entity_configuration_as_jws) + # elif self.req_counter == 3: + # url = reverse("oidcfed_fetch") + # self.result = self.client.get( + # url, + # data={ + # "sub": rp_onboarding_data["sub"], + # "iss": intermediary_conf["sub"], + # }, + # ) + # elif self.req_counter == 4: + # url = reverse("oidcfed_fetch") + # self.result = self.client.get( + # url, data={"sub": intermediary_conf["sub"]}) + # elif self.req_counter == 5: + # url = reverse("entity_configuration") + # self.result = self.client.get( + # url, data={"sub": ta_conf_data["sub"]}) + # elif self.req_counter > 5: + # raise NotImplementedError( + # "The mocked resposes seems to be not aligned with the correct flow" + # ) + + # if self.result.status_code != 200: + # raise HttpError( + # f"Something went wrong with Http Request: {self.result.__dict__}") + + # logger.info("-------------------------------------------------") + # logger.info("") + # return self.result_as_jws() + + +# class EntityResponseWithIntermediateManyHints(EntityResponse): + # @property + # def content(self): + # if self.req_counter == 0: + # self.result = self.trust_anchor_ec() + # elif self.req_counter == 1: + # self.result = self.rp_ec() + # elif self.req_counter == 2: + # sa = FederationEntityConfiguration.objects.get( + # sub=intermediary_conf["sub"]) + # self.result = DummyContent(sa.entity_configuration_as_jws) + # elif self.req_counter == 3: + # self.result = DummyContent("crap") + + # elif self.req_counter == 4: + # url = reverse("oidcfed_fetch") + # self.result = self.client.get( + # url, + # data={ + # "sub": rp_onboarding_data["sub"], + # "iss": intermediary_conf["sub"], + # }, + # ) + # elif self.req_counter == 5: + # url = reverse("oidcfed_fetch") + # self.result = self.client.get( + # url, data={"sub": intermediary_conf["sub"]}) + # elif self.req_counter == 6: + # url = reverse("entity_configuration") + # self.result = self.client.get( + # url, data={"sub": ta_conf_data["sub"]}) + # elif self.req_counter > 6: + # raise NotImplementedError( + # "The mocked resposes seems to be not aligned with the correct flow" + # ) + # if self.result.status_code != 200: + # raise HttpError( + # f"Something went wrong with Http Request: {self.result.__dict__}") + + # try: + # return self.result_as_jws() + # except Exception: + # return self.result_as_it_is() diff --git a/pyeudiw/tests/federation/test_static_trust_chain_validator.py b/pyeudiw/tests/federation/test_static_trust_chain_validator.py index 690f0985..06f3e2c4 100644 --- a/pyeudiw/tests/federation/test_static_trust_chain_validator.py +++ b/pyeudiw/tests/federation/test_static_trust_chain_validator.py @@ -5,8 +5,8 @@ from pyeudiw.federation.trust_chain_validator import StaticTrustChainValidator import pyeudiw.federation.trust_chain_validator as tcv_test -from . base import EXP, JWS, NOW, intermediate_ec, intermediate_es, intermediate_jwk, leaf_ec_signed, leaf_jwk, ta_es, ta_es_signed, ta_jwk, trust_chain +from . base import * def test_is_valid(): assert StaticTrustChainValidator( @@ -106,10 +106,6 @@ def mock_method(*args, **kwargs): def test_update_st_es_case_source_endpoint(): - intermediate_signer = JWS(intermediate_ec, alg="RS256", - typ="application/entity-statement+jwt") - intermediate_ec_signed = intermediate_signer.sign_compact( - [intermediate_jwk]) ta_es = { "exp": EXP, @@ -128,11 +124,13 @@ def mock_method_ec(*args, **kwargs): raise Exception("Wrong issuer") def mock_method_es(*args, **kwargs): - if args[0] == "https://verifier.example.org/fetch": + if args[0] == "https://intermediate.eidas.example.org/fetch/": return leaf_ec_signed raise Exception("Wrong issuer") with mock.patch.object(tcv_test, "get_entity_statements", mock_method_es): with mock.patch.object(tcv_test, "get_entity_configurations", mock_method_ec): + assert tcv_test.StaticTrustChainValidator( - invalid_trust_chain, [ta_jwk.serialize()])._update_st(ta_es_signed) == leaf_ec_signed + invalid_trust_chain, [ta_jwk.serialize()])._update_st(ta_es_signed + ) == leaf_ec_signed diff --git a/pyeudiw/tests/federation/test_trust_chain_builder.py b/pyeudiw/tests/federation/test_trust_chain_builder.py new file mode 100644 index 00000000..d2c4e45c --- /dev/null +++ b/pyeudiw/tests/federation/test_trust_chain_builder.py @@ -0,0 +1,29 @@ +from copy import deepcopy +from pyeudiw.federation.trust_chain_builder import TrustChainBuilder +from pyeudiw.federation.statements import get_entity_configurations, EntityStatement + +from . base import * +from . mocked_response import * + +from unittest.mock import patch + + +@patch("requests.get", return_value=EntityResponseNoIntermediate()) +def test_trust_chain_valid_no_intermediaries(self, mocker): + + jwt = get_entity_configurations([ta_ec["sub"]])[0] + trust_anchor_ec = EntityStatement(jwt) + trust_anchor_ec.validate_by_itself() + + trust_chain = TrustChainBuilder( + subject=leaf_ec["sub"], + trust_anchor=trust_anchor_ec, + trust_anchor_configuration = trust_anchor_ec + ) + + trust_chain.start() + trust_chain.apply_metadata_policy() + + assert trust_chain.is_valid + assert trust_chain.final_metadata + assert len(trust_chain.trust_path) == 3 diff --git a/requirements-dev.txt b/requirements-dev.txt index 7878d876..365794f0 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,4 +1,5 @@ pytest +pytest-mock coverage pdbpp pytest-cov From 04376bcb92350753272d08a93dc2b74a6ccbe023 Mon Sep 17 00:00:00 2001 From: Pasquale De Rose Date: Mon, 7 Aug 2023 14:55:23 +0200 Subject: [PATCH 44/53] Integrated db engine in backend (#87) * feature: initial code for db engine * fix: fixed tests and minor fix * fix: moved nonce and state * fix: implemented logger critical errors * feature: added method set and RetrieveStatus enum * fix: fixed cache * feat: implemented cache methods in DBEngine * fix: fixed mongo cache tests * Update pyeudiw/storage/db_engine.py Co-authored-by: Giuseppe De Marco * Update pyeudiw/storage/db_engine.py Co-authored-by: Giuseppe De Marco * Update pyeudiw/storage/db_engine.py Co-authored-by: Giuseppe De Marco * Update pyeudiw/storage/db_engine.py Co-authored-by: Giuseppe De Marco * fix: minor bug fix * fix: fixed bugs on storage side of DBEngine * test: added tests for the storage side of DBEngine * fix: setted state as nullable parameter * fix: added nullable state * fix: fixed import * feat: Integrated storage * fix: fixed test for backend --------- Co-authored-by: Pasquale De Rose Co-authored-by: Giuseppe De Marco --- pyeudiw/satosa/backend.py | 22 ++++++++++++++++++-- pyeudiw/storage/base_cache.py | 5 ++++- pyeudiw/storage/db_engine.py | 6 ++---- pyeudiw/storage/mongo_cache.py | 7 ++++--- pyeudiw/storage/mongo_storage.py | 6 ++---- pyeudiw/tests/satosa/test_backend.py | 27 +++++++++++++++++++++++++ pyeudiw/tests/storage/test_db_engine.py | 3 --- 7 files changed, 59 insertions(+), 17 deletions(-) diff --git a/pyeudiw/satosa/backend.py b/pyeudiw/satosa/backend.py index db733587..bc366c1d 100644 --- a/pyeudiw/satosa/backend.py +++ b/pyeudiw/satosa/backend.py @@ -23,6 +23,9 @@ from pyeudiw.tools.mobile import is_smartphone from pyeudiw.tools.qr_code import QRCode from pyeudiw.tools.utils import iat_now +from pyeudiw.openid4vp import check_vp_token +from pyeudiw.storage.db_engine import DBEngine + logger = logging.getLogger("openid4vp_backend") @@ -79,6 +82,8 @@ def __init__(self, auth_callback_func, internal_attributes, config, base_url, na # HTML template loader self.template = Jinja2TemplateHandler(config) + + self.db_engine = DBEngine(self.config["storage"]) logger.debug( lu.LOG_FMT.format( @@ -349,6 +354,9 @@ def redirect_endpoint(self, context, *args): internal_resp = self._translate_response( all_user_claims, _info["issuer"] ) + + self.db_engine.update_response_object(nonce, state, internal_resp) + return self.auth_callback_func(context, internal_resp) def _request_endpoint_dpop(self, context, *args) -> Union[JsonResponse, None]: @@ -415,6 +423,14 @@ def request_endpoint(self, context, *args): # TODO: do customization if the WIA is available # TODO: take the response and extract from jwt the public key of holder + + entity_id = self.db_engine.init_session( + context.http_headers['HTTP_DPOP'], + context.http_headers['HTTP_AUTHORIZATION'] + ) + + nonce = str(uuid.uuid4()) + state = str(uuid.uuid4()) # verify the jwt helper = JWSHelper(jwk) @@ -425,14 +441,16 @@ def request_endpoint(self, context, *args): "response_mode": "direct_post.jwt", # only HTTP POST is allowed. "response_type": "vp_token", "response_uri": self.config["metadata"]["redirect_uris"][0], - "nonce": str(uuid.uuid4()), - "state": str(uuid.uuid4()), + "nonce": nonce, + "state": state, "iss": self.client_id, "iat": iat_now(), "exp": iat_now() + (self.default_exp * 60) # in seconds } jwt = helper.sign(data) response = {"response": jwt} + + self.db_engine.update_request_object(entity_id, nonce, state, data) return JsonResponse( response, diff --git a/pyeudiw/storage/base_cache.py b/pyeudiw/storage/base_cache.py index a29afeed..d7a9d432 100644 --- a/pyeudiw/storage/base_cache.py +++ b/pyeudiw/storage/base_cache.py @@ -1,6 +1,9 @@ from enum import Enum from typing import Callable +class RetrieveStatus(Enum): + RETRIEVED = 0 + ADDED = 1 class RetrieveStatus(Enum): RETRIEVED = 0 @@ -13,6 +16,6 @@ def try_retrieve(self, object_name: str, on_not_found: Callable[[], str]) -> tup def overwrite(self, object_name: str, value_gen_fn: Callable[[], str]) -> dict: raise NotImplementedError() - + def set(self, data: dict) -> dict: raise NotImplementedError() diff --git a/pyeudiw/storage/db_engine.py b/pyeudiw/storage/db_engine.py index 7c189a26..eb4b2660 100644 --- a/pyeudiw/storage/db_engine.py +++ b/pyeudiw/storage/db_engine.py @@ -1,14 +1,12 @@ -import importlib -import logging import uuid +import logging +import importlib from typing import Callable - from pyeudiw.storage.base_cache import BaseCache, RetrieveStatus from pyeudiw.storage.base_storage import BaseStorage logger = logging.getLogger("openid4vp.storage.db") - class DBEngine(): def __init__(self, config: dict): self.caches = [] diff --git a/pyeudiw/storage/mongo_cache.py b/pyeudiw/storage/mongo_cache.py index 0d159e09..4716d69a 100644 --- a/pyeudiw/storage/mongo_cache.py +++ b/pyeudiw/storage/mongo_cache.py @@ -23,7 +23,7 @@ def _connect(self): self.url, **self.connection_params) self.db = getattr(self.client, self.storage_conf["db_name"]) self.collection = getattr(self.db, "cache_storage") - + def _gen_cache_object(self, object_name: str, data: str): creation_date = datetime.timestamp(datetime.now()) return { @@ -32,6 +32,7 @@ def _gen_cache_object(self, object_name: str, data: str): "creation_date": creation_date } + def try_retrieve(self, object_name: str, on_not_found: Callable[[], str]) -> tuple[dict, RetrieveStatus]: self._connect() @@ -68,8 +69,8 @@ def overwrite(self, object_name: str, value_gen_fn: Callable[[], str]) -> dict: }) return cache_object - + def set(self, data: dict) -> dict: self._connect() - + return self.collection.insert_one(data) diff --git a/pyeudiw/storage/mongo_storage.py b/pyeudiw/storage/mongo_storage.py index 97087dba..46b347e3 100644 --- a/pyeudiw/storage/mongo_storage.py +++ b/pyeudiw/storage/mongo_storage.py @@ -1,8 +1,6 @@ -from datetime import datetime - import pymongo - -from .base_storage import BaseStorage +from datetime import datetime +from pyeudiw.storage.base_storage import BaseStorage class MongoStorage(BaseStorage): diff --git a/pyeudiw/tests/satosa/test_backend.py b/pyeudiw/tests/satosa/test_backend.py index 2981ba82..d9e4e922 100644 --- a/pyeudiw/tests/satosa/test_backend.py +++ b/pyeudiw/tests/satosa/test_backend.py @@ -105,6 +105,33 @@ "q": "2jMFt2iFrdaYabdXuB4QMboVjPvbLA-IVb6_0hSG_-EueGBvgcBxdFGIZaG6kqHqlB7qMsSzdptU0vn6IgmCZnX-Hlt6c5X7JB_q91PZMLTO01pbZ2Bk58GloalCHnw_mjPh0YPviH5jGoWM5RHyl_HDDMI-UeLkzP7ImxGizrM" } ], + "storage": { + "mongo_db": { + "cache": { + "module": "pyeudiw.storage.mongo_cache", + "class": "MongoCache", + "init_params": { + "url": "mongodb://localhost:27017/", + "conf": { + "db_name": "eudiw" + }, + "connection_params": {} + } + }, + "storage": { + "module": "pyeudiw.storage.mongo_storage", + "class": "MongoStorage", + "init_params": { + "url": "mongodb://localhost:27017/", + "conf": { + "db_name": "eudiw", + "db_collection": "sessions" + }, + "connection_params": {} + } + } + } + }, "metadata": { "application_type": "web", "authorization_encrypted_response_alg": [ diff --git a/pyeudiw/tests/storage/test_db_engine.py b/pyeudiw/tests/storage/test_db_engine.py index 13e3aa0f..b559d19c 100644 --- a/pyeudiw/tests/storage/test_db_engine.py +++ b/pyeudiw/tests/storage/test_db_engine.py @@ -1,5 +1,4 @@ import uuid - import pytest from pyeudiw.storage.db_engine import DBEngine @@ -32,12 +31,10 @@ } } - class TestMongoDBEngine: @pytest.fixture(autouse=True) def create_engine_instance(self): self.engine = DBEngine(conf) - @pytest.fixture(autouse=True) def test_init_session(self): dpop_proof = {"dpop": "dpop"} From 55e12ae541e30a4b6c258761f8f751c1447be5df Mon Sep 17 00:00:00 2001 From: Pasquale De Rose Date: Mon, 7 Aug 2023 15:32:31 +0200 Subject: [PATCH 45/53] Minor fix to db_engine (#88) * fix: added named arguments * fix: added exception handling for db_engine calls --------- Co-authored-by: Pasquale De Rose Co-authored-by: Giuseppe De Marco --- pyeudiw/satosa/backend.py | 39 +++++++++++++++++++++++++++++++++------ 1 file changed, 33 insertions(+), 6 deletions(-) diff --git a/pyeudiw/satosa/backend.py b/pyeudiw/satosa/backend.py index bc366c1d..ec72f540 100644 --- a/pyeudiw/satosa/backend.py +++ b/pyeudiw/satosa/backend.py @@ -355,7 +355,16 @@ def redirect_endpoint(self, context, *args): all_user_claims, _info["issuer"] ) - self.db_engine.update_response_object(nonce, state, internal_resp) + try: + self.db_engine.update_response_object(nonce, state, internal_resp) + except Exception as e: + return JsonResponse( + { + "error": "internal_server_error", + "error_description": str(e) + }, + status="500" + ) return self.auth_callback_func(context, internal_resp) @@ -424,10 +433,19 @@ def request_endpoint(self, context, *args): # TODO: take the response and extract from jwt the public key of holder - entity_id = self.db_engine.init_session( - context.http_headers['HTTP_DPOP'], - context.http_headers['HTTP_AUTHORIZATION'] - ) + try: + entity_id = self.db_engine.init_session( + dpop_proof=context.http_headers['HTTP_DPOP'], + attestation=context.http_headers['HTTP_AUTHORIZATION'] + ) + except Exception as e: + return JsonResponse( + { + "error": "internal_server_error", + "error_description": str(e) + }, + status="500" + ) nonce = str(uuid.uuid4()) state = str(uuid.uuid4()) @@ -450,7 +468,16 @@ def request_endpoint(self, context, *args): jwt = helper.sign(data) response = {"response": jwt} - self.db_engine.update_request_object(entity_id, nonce, state, data) + try: + self.db_engine.update_request_object(entity_id, nonce, state, data) + except Exception as e: + return JsonResponse( + { + "error": "internal_server_error", + "error_description": str(e) + }, + status="500" + ) return JsonResponse( response, From 93d8fb338bb91588d83e2d7bb0bd31a7f4738b8c Mon Sep 17 00:00:00 2001 From: Pasquale De Rose Date: Tue, 8 Aug 2023 17:03:03 +0200 Subject: [PATCH 46/53] Various fix to handle issuer jwk correctly (#89) * feature: initial code for db engine * fix: fixed tests and minor fix * fix: moved nonce and state * fix: implemented logger critical errors * feature: added method set and RetrieveStatus enum * fix: fixed cache * feat: implemented cache methods in DBEngine * fix: fixed mongo cache tests * Update pyeudiw/storage/db_engine.py Co-authored-by: Giuseppe De Marco * Update pyeudiw/storage/db_engine.py Co-authored-by: Giuseppe De Marco * Update pyeudiw/storage/db_engine.py Co-authored-by: Giuseppe De Marco * Update pyeudiw/storage/db_engine.py Co-authored-by: Giuseppe De Marco * fix: minor bug fix * fix: fixed bugs on storage side of DBEngine * test: added tests for the storage side of DBEngine * fix: setted state as nullable parameter * fix: added nullable state * fix: fixed import * feat: Integrated storage * fix: fixed test for backend * fix: added named arguments * fix: added exception handling for db_engine calls * feat: added NoNonceInVPToken and InvalidVPToken exceptions * fix: fixed check_vp_token to handle vp_token correctly * fix: fixed _adapt_keys and verify_sd_jwt to correctly handle issuer_jwk * fix: _handle_vp refactoring * fix: removed old config and renamed sd_jwt in config * fix: added logging message for db errors * fix: retrieve key by kid * fix: check schema with pydantic * fix: minor fix * fix: fixed error messages * fix: error messages --------- Co-authored-by: Pasquale De Rose Co-authored-by: Giuseppe De Marco --- pyeudiw/openid4vp/__init__.py | 34 +++++++++---- pyeudiw/openid4vp/exceptions.py | 4 ++ pyeudiw/satosa/backend.py | 76 +++++++++------------------- pyeudiw/satosa/exceptions.py | 10 ++++ pyeudiw/sd_jwt/__init__.py | 17 +++---- pyeudiw/tests/satosa/test_backend.py | 2 +- 6 files changed, 69 insertions(+), 74 deletions(-) create mode 100644 pyeudiw/openid4vp/exceptions.py diff --git a/pyeudiw/openid4vp/__init__.py b/pyeudiw/openid4vp/__init__.py index a0a7e671..a18a7d84 100644 --- a/pyeudiw/openid4vp/__init__.py +++ b/pyeudiw/openid4vp/__init__.py @@ -1,18 +1,34 @@ from typing import Tuple from pyeudiw.jwk import JWK -from pyeudiw.jwt.utils import unpad_jwt_payload +from pyeudiw.jwt.utils import unpad_jwt_payload, unpad_jwt_header from pyeudiw.sd_jwt import verify_sd_jwt +from pyeudiw.openid4vp.exceptions import KIDNotFound +from pyeudiw.openid4vp.schemas.vp_token import VPTokenPayload, VPTokenHeader - -def check_vp_token(vp_token: str, config: dict, sd_specification: dict, sd_jwt: dict) -> Tuple[str | None, dict]: +def check_vp_token(vp_token: str, sd_specification: dict, jwks: list[dict], config: dict = {"no_randomness": True}) -> Tuple[str | None, dict]: payload = unpad_jwt_payload(vp_token) - holder_jwk = JWK(payload["cnf"]["jwk"]) - issuer_jwk = JWK(config["federation"]["federation_jwks"][1]) - - result, binding = verify_sd_jwt( - vp_token, sd_specification, sd_jwt, issuer_jwk, holder_jwk) - nonce = binding.get("nonce", None) + VPTokenPayload(**payload) + + headers = unpad_jwt_header(vp_token) + VPTokenHeader(**headers) + + kid = headers["kid"] + + vp = unpad_jwt_payload(payload["vp"]) + + issuer_jwk = jwks.get(kid, None) + + if not issuer_jwk: + raise KIDNotFound(f"kid {kid} not present") + + issuer_jwk = JWK(issuer_jwk) + holder_jwk = JWK(vp["cnf"]["jwk"]) + + result = verify_sd_jwt( + payload["vp"], sd_specification, config, issuer_jwk, holder_jwk) + + nonce = payload.get("nonce", None) claims = result["holder_disclosed_claims"] try: diff --git a/pyeudiw/openid4vp/exceptions.py b/pyeudiw/openid4vp/exceptions.py new file mode 100644 index 00000000..11585b5b --- /dev/null +++ b/pyeudiw/openid4vp/exceptions.py @@ -0,0 +1,4 @@ +class KIDNotFound(Exception): + """ + Raised when kid is not present in the public key dict + """ \ No newline at end of file diff --git a/pyeudiw/satosa/backend.py b/pyeudiw/satosa/backend.py index ec72f540..52dbbccf 100644 --- a/pyeudiw/satosa/backend.py +++ b/pyeudiw/satosa/backend.py @@ -15,17 +15,19 @@ from pyeudiw.jwt import JWEHelper, JWSHelper from pyeudiw.jwt.utils import unpad_jwt_header, unpad_jwt_payload from pyeudiw.oauth2.dpop import DPoPVerifier -from pyeudiw.openid4vp import check_vp_token from pyeudiw.openid4vp.schemas.response_schema import ResponseSchema as ResponseValidator -from pyeudiw.satosa.exceptions import BadRequestError, NoBoundEndpointError +from pyeudiw.satosa.exceptions import BadRequestError, NoBoundEndpointError, NoNonceInVPToken, InvalidVPToken from pyeudiw.satosa.html_template import Jinja2TemplateHandler from pyeudiw.satosa.response import JsonResponse from pyeudiw.tools.mobile import is_smartphone from pyeudiw.tools.qr_code import QRCode from pyeudiw.tools.utils import iat_now from pyeudiw.openid4vp import check_vp_token +from pyeudiw.openid4vp.exceptions import KIDNotFound from pyeudiw.storage.db_engine import DBEngine +from pydantic import ValidationError + logger = logging.getLogger("openid4vp_backend") @@ -230,20 +232,15 @@ def _translate_response(self, response, issuer): return internal_resp def _handle_vp(self, vp_token: str, context: Context) -> dict: + valid, value = None, None + valid, value = check_vp_token( - vp_token, self.config, self.sd_specification, self.sd_jwt) + vp_token, None, self.metadata_jwks_by_kids) + if not valid: - raise value + raise InvalidVPToken("Invalid vp_token") elif not value.get("nonce", None): - _msg = "vp_token's nonce not present" - self._log(context, level='error', message=_msg) - return JsonResponse( - { - "error": "parameter_absent", - "error_description": _msg - }, - status="400" - ) + raise NoNonceInVPToken("vp_token's nonce not present") return value @@ -303,33 +300,24 @@ def redirect_endpoint(self, context, *args): nonce = None claims = [] for vp in vp_token: - try: result = self._handle_vp(vp, context) + except InvalidVPToken as e: + self.handle_error(context=context, message=f"Cannot validate SD_JWT", err_code="400") + except NoNonceInVPToken as e: + self.handle_error(context=context, message=f"Nonce is missing in vp", err_code="400") + except ValidationError as e: + self.handle_error(context=context, message=f"Error validating schemas: {e}", err_code="400") + except KIDNotFound as e: + self.handle_error(context=context, message=f"Kid error: {e}", err_code="400") except Exception as e: - _msg = f"VP parsing error: {e}" - self._log(context, level='error', message=_msg) - return JsonResponse( - { - "error": "unsupported_response_type", - "error_description": _msg - }, - status="400" - ) + self.handle_error(context=context, message=f"VP parsing error: {e}", err_code="400") # TODO: this is not clear ... since the nonce must be taken from the originatin authz request, taken from the storage (mongodb) if not nonce: nonce = result["nonce"] elif nonce != result["nonce"]: - _msg = "Presentation has divergent nonces" - self._log(context, level='error', message=_msg) - return JsonResponse( - { - "error": "invalid_token", - "error_description": _msg - }, - status="401" - ) + self.handle_error(context=self, message=f"Presentation has divergent nonces: {e}", err_code="401") else: claims.append(result["claims"]) @@ -358,13 +346,7 @@ def redirect_endpoint(self, context, *args): try: self.db_engine.update_response_object(nonce, state, internal_resp) except Exception as e: - return JsonResponse( - { - "error": "internal_server_error", - "error_description": str(e) - }, - status="500" - ) + self.handle_error(context=context, message=f"Cannot update response object: {e}", err_code="500") return self.auth_callback_func(context, internal_resp) @@ -439,13 +421,7 @@ def request_endpoint(self, context, *args): attestation=context.http_headers['HTTP_AUTHORIZATION'] ) except Exception as e: - return JsonResponse( - { - "error": "internal_server_error", - "error_description": str(e) - }, - status="500" - ) + self.handle_error(context=context, message=f"Cannot init session: {e}", err_code="500") nonce = str(uuid.uuid4()) state = str(uuid.uuid4()) @@ -471,13 +447,7 @@ def request_endpoint(self, context, *args): try: self.db_engine.update_request_object(entity_id, nonce, state, data) except Exception as e: - return JsonResponse( - { - "error": "internal_server_error", - "error_description": str(e) - }, - status="500" - ) + self.handle_error(context=context, message=f"Cannot update request object: {e}", err_code="500") return JsonResponse( response, diff --git a/pyeudiw/satosa/exceptions.py b/pyeudiw/satosa/exceptions.py index d13b9847..437eed55 100644 --- a/pyeudiw/satosa/exceptions.py +++ b/pyeudiw/satosa/exceptions.py @@ -10,3 +10,13 @@ class NoBoundEndpointError(Exception): """ Raised when a given url path is not bound to any endpoint function """ + +class NoNonceInVPToken(Exception): + """ + Raised when a given VP has no nonce + """ + +class InvalidVPToken(Exception): + """ + Raised when a given VP is invalid + """ \ No newline at end of file diff --git a/pyeudiw/sd_jwt/__init__.py b/pyeudiw/sd_jwt/__init__.py index 7aeeb7d8..42c0115f 100644 --- a/pyeudiw/sd_jwt/__init__.py +++ b/pyeudiw/sd_jwt/__init__.py @@ -15,10 +15,10 @@ def _adapt_keys(settings: dict, issuer_key: JWK, holder_key: JWK, kty: str = "EC keys = { "key_size": key_size, "kty": kty, - "issuer_key": issuer_key.as_dict(), - "holder_key": holder_key.as_dict() + "issuer_key": issuer_key.as_dict() if issuer_key else {}, + "holder_key": holder_key.as_dict() if holder_key else {} } - + return get_jwk(keys, settings["no_randomness"], None) @@ -56,12 +56,10 @@ def _cb_get_issuer_key(issuer: str, settings: dict, adapted_keys: dict): def verify_sd_jwt(sd_jwt_presentation: str, specification: dict, settings: dict, issuer_key: JWK, holder_key: JWK) -> dict: - + settings.update({"issuer": unpad_jwt_payload(sd_jwt_presentation)["iss"]}) adapted_keys = _adapt_keys(settings, issuer_key, holder_key) - specification.get("add_decoy_claims", False) - serialization_format = specification.get("serialization_format", "compact") - + serialization_format = "compact" sdjwt_at_verifier = SDJWTVerifier( sd_jwt_presentation, (lambda x: _cb_get_issuer_key(x, settings, adapted_keys)), @@ -70,7 +68,4 @@ def verify_sd_jwt(sd_jwt_presentation: str, specification: dict, settings: dict, serialization_format=serialization_format, ) - key_binding = unpad_jwt_payload( - sdjwt_at_verifier._unverified_input_key_binding_jwt) - - return sdjwt_at_verifier.get_verified_payload(), key_binding + return sdjwt_at_verifier.get_verified_payload() diff --git a/pyeudiw/tests/satosa/test_backend.py b/pyeudiw/tests/satosa/test_backend.py index d9e4e922..bbdf9688 100644 --- a/pyeudiw/tests/satosa/test_backend.py +++ b/pyeudiw/tests/satosa/test_backend.py @@ -516,7 +516,7 @@ def test_redirect_endpoint(self, context): "vp": sdjwt_at_holder.sd_jwt_presentation, } - vp_token = JWSHelper(PRIVATE_JWK).sign( + vp_token = JWSHelper(issuer_jwk).sign( data, protected={"typ": "JWT"} ) From 9b3f5f174a9ac3d4cda61a1ca9d58ddab55a564b Mon Sep 17 00:00:00 2001 From: Salvatore Laiso <32564922+salvatorelaiso@users.noreply.github.com> Date: Wed, 9 Aug 2023 22:22:55 +0200 Subject: [PATCH 47/53] feat: status endpoint (#92) * feat: add session_id as state and create state_endpoint * fix: request with session_id as param * fix: session_id in uri path * fix: http status code and use url_params instead of path * feat: bind session_id and state in db - fix: sessions are now created in pre_request_endpoint * fix: logging calls * fix: logging calls * fix: improve error message * fix: usage of handle_error * fix: apply https://github.com/italia/eudi-wallet-it-python/pull/92#discussion_r1288740693 * fix: apply https://github.com/italia/eudi-wallet-it-python/pull/92#discussion_r1288734608 * fix: update http status code https://github.com/italia/eudi-wallet-it-python/pull/92#discussion_r1288733903 * style: remove * * fix: add return handle_error --- pyeudiw/satosa/backend.py | 119 ++++++++++++++------ pyeudiw/storage/base_storage.py | 16 ++- pyeudiw/storage/db_engine.py | 72 ++++++++++-- pyeudiw/storage/mongo_storage.py | 89 +++++++++++++-- pyeudiw/tests/satosa/test_backend.py | 43 ++++++- pyeudiw/tests/storage/test_db_engine.py | 18 +-- pyeudiw/tests/storage/test_mongo_storage.py | 43 ++++--- 7 files changed, 319 insertions(+), 81 deletions(-) diff --git a/pyeudiw/satosa/backend.py b/pyeudiw/satosa/backend.py index 52dbbccf..48698f11 100644 --- a/pyeudiw/satosa/backend.py +++ b/pyeudiw/satosa/backend.py @@ -3,7 +3,7 @@ import uuid from datetime import datetime, timedelta from typing import Union -from urllib.parse import quote_plus, urlencode +from urllib.parse import quote_plus, urlencode, urlparse, parse_qs import satosa.logging_util as lu from satosa.backends.base import BackendModule @@ -175,17 +175,32 @@ def entity_configuration_endpoint(self, context, *args): def pre_request_endpoint(self, context, internal_request, **kwargs): + session_id = str(context.state["SESSION_ID"]) + state = str(uuid.uuid4()) + + # Init session + try: + self.db_engine.init_session( + state=state, + session_id=session_id + ) + except Exception as e: + _msg = (f"Error while initializing session with state {state} and {session_id}.\n" + f"{e.__class__.__name__}: {e}") + return self.handle_error(context, message=_msg, err_code="500") + # PAR payload = { 'client_id': self.client_id, - 'request_uri': self.absolute_request_url + 'request_uri': self.absolute_request_url + f'?id={state}', } url_params = urlencode(payload, quote_via=quote_plus) if is_smartphone(context.http_headers.get('HTTP_USER_AGENT')): # Same Device flow - res_url = f'{self.config["authorization"]["url_scheme"]}://authorize?{url_params}' + res_url = \ + f'{self.config["authorization"]["url_scheme"]}://authorize?{url_params}' return Redirect(res_url) # Cross Device flow @@ -233,7 +248,7 @@ def _translate_response(self, response, issuer): def _handle_vp(self, vp_token: str, context: Context) -> dict: valid, value = None, None - + valid, value = check_vp_token( vp_token, None, self.metadata_jwks_by_kids) @@ -303,21 +318,23 @@ def redirect_endpoint(self, context, *args): try: result = self._handle_vp(vp, context) except InvalidVPToken as e: - self.handle_error(context=context, message=f"Cannot validate SD_JWT", err_code="400") + return self.handle_error(context=context, message=f"Cannot validate SD_JWT", err_code="400") except NoNonceInVPToken as e: - self.handle_error(context=context, message=f"Nonce is missing in vp", err_code="400") + return self.handle_error(context=context, message=f"Nonce is missing in vp", err_code="400") except ValidationError as e: - self.handle_error(context=context, message=f"Error validating schemas: {e}", err_code="400") + return self.handle_error(context=context, message=f"Error validating schemas: {e}", err_code="400") except KIDNotFound as e: - self.handle_error(context=context, message=f"Kid error: {e}", err_code="400") + return self.handle_error(context=context, message=f"Kid error: {e}", err_code="400") except Exception as e: - self.handle_error(context=context, message=f"VP parsing error: {e}", err_code="400") + return self.handle_error(context=context, message=f"VP parsing error: {e}", err_code="400") # TODO: this is not clear ... since the nonce must be taken from the originatin authz request, taken from the storage (mongodb) if not nonce: nonce = result["nonce"] elif nonce != result["nonce"]: - self.handle_error(context=self, message=f"Presentation has divergent nonces: {e}", err_code="401") + return self.handle_error(context=self, + message=f"Presentation has divergent nonces:\n{nonce}!={result['nonce']}", + err_code="401") else: claims.append(result["claims"]) @@ -346,7 +363,7 @@ def redirect_endpoint(self, context, *args): try: self.db_engine.update_response_object(nonce, state, internal_resp) except Exception as e: - self.handle_error(context=context, message=f"Cannot update response object: {e}", err_code="500") + return self.handle_error(context=context, message=f"Cannot update response object: {e}", err_code="500") return self.auth_callback_func(context, internal_resp) @@ -404,30 +421,26 @@ def _request_endpoint_dpop(self, context, *args) -> Union[JsonResponse, None]: self._log(context, level='warning', message=_msg) def request_endpoint(self, context, *args): - jwk = self.metadata_jwk # check DPOP for WIA if any dpop_validation_error = self._request_endpoint_dpop(context) if dpop_validation_error: return dpop_validation_error - # TODO: do customization if the WIA is available - - # TODO: take the response and extract from jwt the public key of holder - try: - entity_id = self.db_engine.init_session( - dpop_proof=context.http_headers['HTTP_DPOP'], - attestation=context.http_headers['HTTP_AUTHORIZATION'] - ) + state = context.qs_params["id"] except Exception as e: - self.handle_error(context=context, message=f"Cannot init session: {e}", err_code="500") - - nonce = str(uuid.uuid4()) - state = str(uuid.uuid4()) + _msg = "Error while retrieving id from qs_params: "\ + f"{e.__class__.__name__}: {e}" + return self.handle_error(context, message=_msg, err_code="403") + + try: + dpop_proof = context.http_headers['HTTP_DPOP'] + attestation = context.http_headers['HTTP_AUTHORIZATION'] + except KeyError as e: + _msg = f"Error while accessing http headers: {e}" + return self.handle_error(context, message=_msg, err_code="403") - # verify the jwt - helper = JWSHelper(jwk) data = { "scope": ' '.join(self.config['authorization']['scopes']), "client_id_scheme": "entity_id", # that's federation. @@ -435,19 +448,30 @@ def request_endpoint(self, context, *args): "response_mode": "direct_post.jwt", # only HTTP POST is allowed. "response_type": "vp_token", "response_uri": self.config["metadata"]["redirect_uris"][0], - "nonce": nonce, + "nonce": str(uuid.uuid4()), "state": state, "iss": self.client_id, "iat": iat_now(), "exp": iat_now() + (self.default_exp * 60) # in seconds } - jwt = helper.sign(data) - response = {"response": jwt} - + try: - self.db_engine.update_request_object(entity_id, nonce, state, data) + document = self.db_engine.get_by_state(state) + document_id = document["document_id"] + self.db_engine.add_dpop_proof_and_attestation(document_id, dpop_proof, attestation) + self.db_engine.update_request_object(document_id, data) + self.db_engine.set_finalized(document_id) + except ValueError as e: + _msg = "Error while retrieving request object from database: "\ + f"{e.__class__.__name__}: {e}" + return self.handle_error(context, message=_msg, err_code="403") except Exception as e: - self.handle_error(context=context, message=f"Cannot update request object: {e}", err_code="500") + _msg = f"Error while updating request object: {e}" + return self.handle_error(context, message=_msg, err_code="500") + + helper = JWSHelper(self.metadata_jwk) + jwt = helper.sign(data) + response = {"response": jwt} return JsonResponse( response, @@ -477,3 +501,34 @@ def handle_error( }, status=err_code ) + + def state_endpoint(self, context): + session_id = context.state["SESSION_ID"] + try: + state = context.qs_params["id"] + except TypeError as e: + _msg = f"No query params found! {e}" + return self.handle_error(context, message=_msg, err_code="403") + except KeyError as e: + _msg = f"No id found in qs_params! {e}" + return self.handle_error(context, message=_msg, err_code="403") + + try: + session = self.db_engine.get_by_state_and_session_id(state=state, session_id=session_id) + except ValueError as e: + _msg = f"Error while retrieving session by state {state} and session_id {session_id}.\n{e}" + return self.handle_error(context, message=_msg, err_code="403") + + if session["finalized"]: + return JsonResponse({ + "response": "Authentication successful" + }, + status="302" + ) + else: + return JsonResponse( + { + "response": "Request object issued" + }, + status="204" + ) diff --git a/pyeudiw/storage/base_storage.py b/pyeudiw/storage/base_storage.py index 3b566afd..12e58bc3 100644 --- a/pyeudiw/storage/base_storage.py +++ b/pyeudiw/storage/base_storage.py @@ -1,9 +1,21 @@ class BaseStorage(object): - def init_session(self, document_id: str, dpop_proof: dict, attestation: dict): + def init_session(self, document_id: str, session_id: str, state: str): NotImplementedError() - def update_request_object(self, document_id: str, nonce: str, state: str | None, request_object: dict): + def add_dpop_proof_and_attestation(self, document_id: str, *, dpop_proof: dict, attestation: dict) -> str: + NotImplementedError() + + def set_finalized(self, document_id: str): + NotImplementedError() + + def update_request_object(self, document_id: str, request_object: dict): NotImplementedError() def update_response_object(self, nonce: str, state: str | None, response_object: dict): NotImplementedError() + + def exists_by_state_and_session_id(self, *, state: str, session_id: str | None = None) -> bool: + NotImplementedError() + + def get_by_state_and_session_id(self, *, state: str, session_id: str | None = None): + NotImplementedError() diff --git a/pyeudiw/storage/db_engine.py b/pyeudiw/storage/db_engine.py index eb4b2660..c4c92472 100644 --- a/pyeudiw/storage/db_engine.py +++ b/pyeudiw/storage/db_engine.py @@ -41,24 +41,60 @@ def _handle_instance(self, instance: dict) -> dict[BaseStorage | None, BaseCache return storage_instance, cache_instance - def init_session(self, dpop_proof: dict, attestation: dict) -> str: + def init_session(self, session_id: str, state: str) -> str: document_id = str(uuid.uuid4()) for db_name, storage in self.storages: try: - storage.init_session(document_id, dpop_proof, attestation) + storage.init_session(document_id, session_id=session_id, state=state) except Exception as e: - logger.critical(f"Error {str(e)}") logger.critical( - f"Cannot write document with id {document_id} on {db_name}") + f"Error while initializing session with document_id {document_id}." + f"Cannot write document with id {document_id} on {db_name}.\n" + f"{e.__class__.__name__}: {e}") return document_id - def update_request_object(self, document_id: str, nonce: str, state: str | None, request_object: dict) -> tuple[str, str, int]: + def add_dpop_proof_and_attestation(self, document_id, dpop_proof: dict, attestation: dict): + replica_count = 0 + for db_name, storage in self.storages: + try: + storage.add_dpop_proof_and_attestation( + document_id, dpop_proof=dpop_proof, attestation=attestation) + replica_count += 1 + except Exception as e: + logger.critical(f"Error {str(e)}") + logger.critical( + f"Cannot update document with id {document_id} on {db_name}") + + if replica_count == 0: + raise Exception( + f"Cannot update document {document_id} on any instance") + + return replica_count + + def set_finalized(self, document_id: str): + replica_count = 0 + for db_name, storage in self.storages: + try: + storage.set_finalized(document_id) + replica_count += 1 + except Exception as e: + logger.critical(f"Error {str(e)}") + logger.critical( + f"Cannot update document with id {document_id} on {db_name}") + + if replica_count == 0: + raise Exception( + f"Cannot update document {document_id} on any instance") + + return replica_count + + def update_request_object(self, document_id: str, request_object: dict) -> int: replica_count = 0 for db_name, storage in self.storages: try: storage.update_request_object( - document_id, nonce, state, request_object) + document_id, request_object) replica_count += 1 except Exception as e: logger.critical(f"Error {str(e)}") @@ -69,7 +105,7 @@ def update_request_object(self, document_id: str, nonce: str, state: str | None, raise Exception( f"Cannot update document {document_id} on any instance") - return nonce, state, replica_count + return replica_count def update_response_object(self, nonce: str, state: str, response_object: dict) -> int: replica_count = 0 @@ -137,3 +173,25 @@ def overwrite(self, object_name: str, value_gen_fn: Callable[[], str]) -> dict: "Cannot overwrite cache object with identifier {object_name} on cache {cache_name}") return cache_object + + def exists_by_state_and_session_id(self, state: str, session_id: str | None = None) -> bool: + for db_name, storage in self.storages: + found = storage.exists_by_state_and_session_id(state=state, session_id=session_id) + if found: + return True + return False + + def get_by_state(self, state: str): + return self.get_by_state_and_session_id(state=state) + + def get_by_state_and_session_id(self, state: str, session_id: str | None = None): + for db_name, storage in self.storages: + try: + document = storage.get_by_state_and_session_id(state, session_id) + return document + except ValueError: + logger.debug( + f"Document object with state {state} and session_id {session_id} not found in db {db_name}") + + logger.error(f"Document object with state {state} and session_id {session_id} not found!") + raise ValueError(f"Document object with state {state} and session_id {session_id} not found!") diff --git a/pyeudiw/storage/mongo_storage.py b/pyeudiw/storage/mongo_storage.py index 46b347e3..252ea2fc 100644 --- a/pyeudiw/storage/mongo_storage.py +++ b/pyeudiw/storage/mongo_storage.py @@ -1,5 +1,8 @@ import pymongo from datetime import datetime + +from pymongo.results import UpdateResult + from pyeudiw.storage.base_storage import BaseStorage @@ -32,7 +35,7 @@ def _retrieve_document_by_id(self, document_id: str) -> dict: return document - def _retrieve_document_by_nonce_state(self, nonce: str | None, state: str) -> dict: + def _retrieve_document_by_nonce_state(self, nonce: str, state: str | None) -> dict: self._connect() query = {"state": state, "nonce": nonce} @@ -45,14 +48,30 @@ def _retrieve_document_by_nonce_state(self, nonce: str | None, state: str) -> di return document - def init_session(self, document_id: str, dpop_proof: dict, attestation: dict) -> str: + def _retrieve_document_by_state_and_session_id(self, state: str, session_id: str | None = None): + self._connect() + + query = {"state": state} + if session_id: + query["session_id"] = session_id + + document = self.collection.find_one(query) + + if document is None: + raise ValueError( + f'Document with state {state} not found') + + return document + + def init_session(self, document_id: str, session_id: str, state: str) -> str: creation_date = datetime.timestamp(datetime.now()) entity = { "document_id": document_id, "creation_date": creation_date, - "dpop_proof": dpop_proof, - "attestation": attestation, + "state": state, + "session_id": session_id, + "finalized": False, "request_object": None, "response": None } @@ -62,20 +81,58 @@ def init_session(self, document_id: str, dpop_proof: dict, attestation: dict) -> return document_id - def update_request_object(self, document_id: str, nonce: str, state: str, request_object: dict) -> tuple[str, str, dict]: + def add_dpop_proof_and_attestation(self, document_id: str, dpop_proof: dict, attestation: dict): + self._connect() + update_result: UpdateResult = self.collection.update_one( + {"document_id": document_id}, + { + "$set": { + "dpop_proof": dpop_proof, + "attestation": attestation, + } + }) + if update_result.matched_count != 1 or update_result.modified_count != 1: + raise ValueError( + f"Cannot update document {document_id}')" + ) + + return update_result + + def update_request_object(self, document_id: str, request_object: dict): self._retrieve_document_by_id(document_id) - documentStatus = self.collection.update_one( + update_result: UpdateResult = self.collection.update_one( {"document_id": document_id}, { "$set": { - "nonce": nonce, - "state": state, - "request_object": request_object + "request_object": request_object, + "nonce": request_object["nonce"], + "state": request_object["state"], } } ) - return nonce, state, documentStatus + if update_result.matched_count != 1 or update_result.modified_count != 1: + raise ValueError( + f"Cannot update document {document_id}')" + ) + return update_result + + def set_finalized(self, document_id: str): + self._retrieve_document_by_id(document_id) + + update_result: UpdateResult = self.collection.update_one( + {"document_id": document_id}, + { + "$set": { + "finalized": True + }, + } + ) + if update_result.matched_count != 1 or update_result.modified_count != 1: + raise ValueError( + f"Cannot update document {document_id}')" + ) + return update_result def update_response_object(self, nonce: str, state: str, response_object: dict): document = self._retrieve_document_by_nonce_state(nonce, state) @@ -88,6 +145,16 @@ def update_response_object(self, nonce: str, state: str, response_object: dict): { "response_object": response_object }, - }) + }) return nonce, state, documentStatus + + def exists_by_state_and_session_id(self, state: str, session_id: str | None = None) -> bool: + try: + document = self._retrieve_document_by_state_and_session_id(state=state, session_id=session_id) + except ValueError: + return False + return True + + def get_by_state_and_session_id(self, state: str, session_id: str | None = None): + return self._retrieve_document_by_state_and_session_id(state=state, session_id=session_id) diff --git a/pyeudiw/tests/satosa/test_backend.py b/pyeudiw/tests/satosa/test_backend.py index bbdf9688..d562db56 100644 --- a/pyeudiw/tests/satosa/test_backend.py +++ b/pyeudiw/tests/satosa/test_backend.py @@ -6,6 +6,7 @@ from unittest.mock import Mock import pytest +import satosa from bs4 import BeautifulSoup from satosa.context import Context from satosa.internal import InternalData @@ -470,7 +471,7 @@ def test_pre_request_endpoint_mobile(self, context): qs = urllib.parse.parse_qs(parsed.query) assert qs["client_id"][0] == CONFIG["metadata"]["client_id"] - assert qs["request_uri"][0] == CONFIG["metadata"]["request_uris"][0] + assert qs["request_uri"][0].startswith(CONFIG["metadata"]["request_uris"][0]) def test_redirect_endpoint(self, context): issuer_jwk = JWK(CONFIG["metadata_jwks"][0]) @@ -547,9 +548,24 @@ def test_redirect_endpoint(self, context): redirect_endpoint = self.backend.redirect_endpoint(context) assert redirect_endpoint + # TODO any additional checks after the backend returned the user attributes to satosa core def test_request_endpoint(self, context): + # No session created + state_endpoint_response = self.backend.state_endpoint(context) + assert state_endpoint_response.status == "403" + assert state_endpoint_response.message + msg = json.loads(state_endpoint_response.message) + assert msg["message"] + + internal_data = InternalData() + context.http_headers = dict( + HTTP_USER_AGENT="Mozilla/5.0 (Linux; Android 10; SM-G960F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.92 Mobile Safari/537.36" + ) + pre_request_endpoint = self.backend.pre_request_endpoint( + context, internal_data) + state = urllib.parse.unquote(pre_request_endpoint.message).split("=")[-1] jwshelper = JWSHelper(PRIVATE_JWK) wia = jwshelper.sign( @@ -569,12 +585,28 @@ def test_request_endpoint(self, context): HTTP_DPOP=dpop_proof ) + context.qs_params = {"id": state} + + # Not yet finalized + state_endpoint_response = self.backend.state_endpoint(context) + assert state_endpoint_response.status == "204" + assert state_endpoint_response.message + + # Passing wrong state, hence no match state-session_id + context.qs_params = {"id": "WRONG"} + state_endpoint_response = self.backend.state_endpoint(context) + assert state_endpoint_response.status == "403" + assert state_endpoint_response.message + + context.request_method = "POST" + context.qs_params = {"id": state} + request_uri = CONFIG['metadata']['request_uris'][0] + context.request_uri = request_uri request_endpoint = self.backend.request_endpoint(context) assert request_endpoint assert request_endpoint.status == "200" assert request_endpoint.message - msg = json.loads(request_endpoint.message) assert msg["response"] @@ -586,6 +618,13 @@ def test_request_endpoint(self, context): assert payload["client_id"] == CONFIG["metadata"]["client_id"] assert payload["response_uri"] == CONFIG["metadata"]["redirect_uris"][0] + state_endpoint_response = self.backend.state_endpoint(context) + assert state_endpoint_response.status == "302" + assert state_endpoint_response.message + msg = json.loads(state_endpoint_response.message) + assert msg["response"] == "Authentication successful" + + def test_handle_error(self, context): error_message = "Error message!" error_resp = self.backend.handle_error(context, error_message) diff --git a/pyeudiw/tests/storage/test_db_engine.py b/pyeudiw/tests/storage/test_db_engine.py index b559d19c..443f6a69 100644 --- a/pyeudiw/tests/storage/test_db_engine.py +++ b/pyeudiw/tests/storage/test_db_engine.py @@ -35,12 +35,13 @@ class TestMongoDBEngine: @pytest.fixture(autouse=True) def create_engine_instance(self): self.engine = DBEngine(conf) + @pytest.fixture(autouse=True) def test_init_session(self): - dpop_proof = {"dpop": "dpop"} - attestation = {"attestation": "attestation"} + state = str(uuid.uuid4()) + session_id = str(uuid.uuid4()) - document_id = self.engine.init_session(dpop_proof, attestation) + document_id = self.engine.init_session(session_id=session_id, state=state) assert document_id @@ -50,13 +51,12 @@ def test_init_session(self): def test_update_request_object(self): self.nonce = str(uuid.uuid4()) self.state = str(uuid.uuid4()) - request_object = {"request_object": "request_object"} + request_object = {"request_object": "request_object", "nonce": self.nonce, "state": self.state} - r_nonce, r_state, _ = self.engine.update_request_object( - self.document_id, self.nonce, self.state, request_object) + replica_count = self.engine.update_request_object( + self.document_id, request_object) - assert self.nonce == r_nonce - assert self.state == r_state + assert replica_count == 1 def test_update_request_object_with_unexistent_id_object(self): nonce = str(uuid.uuid4()) @@ -66,7 +66,7 @@ def test_update_request_object_with_unexistent_id_object(self): try: self.engine.update_request_object( - unx_document_id, nonce, state, request_object) + unx_document_id, request_object) except: return diff --git a/pyeudiw/tests/storage/test_mongo_storage.py b/pyeudiw/tests/storage/test_mongo_storage.py index f551c708..36096648 100644 --- a/pyeudiw/tests/storage/test_mongo_storage.py +++ b/pyeudiw/tests/storage/test_mongo_storage.py @@ -22,12 +22,19 @@ def test_mongo_connection(self): assert self.storage.collection is not None def test_entity_initialization(self): + state = str(uuid.uuid4()) + session_id = str(uuid.uuid4()) + document_id = self.storage.init_session( str(uuid.uuid4()), - {"dpop": "test"}, {"attestation": "test"}) + session_id=session_id, state=state) assert document_id + dpop_proof = {"dpop": "test"} + attestation = {"attestation": "test"} + self.storage.add_dpop_proof_and_attestation(document_id, dpop_proof=dpop_proof, attestation=attestation) + document = self.storage._retrieve_document_by_id(document_id) assert document @@ -37,37 +44,36 @@ def test_entity_initialization(self): assert document["attestation"] == {"attestation": "test"} def test_add_request_object(self): + state = str(uuid.uuid4()) + session_id = str(uuid.uuid4()) + document_id = self.storage.init_session( str(uuid.uuid4()), - {"dpop": "test"}, {"attestation": "test"}) + session_id=session_id, state=state) assert document_id nonce = str(uuid.uuid4()) - state = str(uuid.uuid4()) - request_object = {"nonce": nonce, "state": state} - self.storage.update_request_object( - document_id, nonce, state, request_object) + self.storage.update_request_object(document_id, request_object) document = self.storage._retrieve_document_by_id(document_id) assert document - assert document["dpop_proof"] - assert document["dpop_proof"] == {"dpop": "test"} - assert document["attestation"] - assert document["attestation"] == {"attestation": "test"} - assert document["state"] - assert document["state"] == state - assert document["state"] - assert document["nonce"] == nonce assert document["request_object"] == request_object + assert document["request_object"]["state"] + assert document["request_object"]["state"] == state + assert document["request_object"]["state"] + assert document["request_object"]["nonce"] == nonce + + def test_update_response_object(self): + state = str(uuid.uuid4()) + session_id = str(uuid.uuid4()) - def test_update_responnse_object(self): document_id = self.storage.init_session( str(uuid.uuid4()), - {"dpop": "test"}, {"attestation": "test"}) + session_id=session_id, state=state) assert document_id @@ -77,10 +83,11 @@ def test_update_responnse_object(self): request_object = {"nonce": nonce, "state": state} self.storage.update_request_object( - document_id, nonce, state, request_object) + document_id, request_object) documentStatus = self.storage.update_response_object( nonce, state, {"response": "test"}) - + self.storage.add_dpop_proof_and_attestation( + document_id, dpop_proof={"dpop": "test"}, attestation={"attestation": "test"}) assert documentStatus document = self.storage._retrieve_document_by_id(document_id) From 6966817171c3583f43ee2e53a774ff26ddd81594 Mon Sep 17 00:00:00 2001 From: Pasquale De Rose Date: Wed, 9 Aug 2023 23:10:52 +0200 Subject: [PATCH 48/53] Feature trust chain storage (#94) * fix: fixed identation * feat: added get_chain property * feat: added helper properties plus annotated types * feat: added InvalidChainError exception * feat: added heper get_entityID * feat: initial implementation of chain storage * feat: initial implementation of TrustEvaluationHelper * fix: removed property decorator and refactoring * fix: refactoring * feat: implemented chain's methods * fix: fixed tests * feat: initial implementation of trust evaluation * feat: added property entity_id * fix: renamed entityID * fix: removed property * fix: minor fix * feat: added NotTrustedFederationError exception * fix: renamed find_chain in get_trust_attestation * fix: has_chain become has_trust_attestation * fix: add_chain becomes add_trust_attestation * fix: update_chain becomes update_trust_attestation * fix: db_chains_collection becomes db_attestations_collection * fix: changed chains in attestations * fix: changed chains in attestations * fix: refactored line 380 * Update pyeudiw/federation/trust_chain_validator.py Co-authored-by: Giuseppe De Marco * fix: typo * fix: fixed unused variables * fix: removed ReplicaError * Apply suggestions from code review --------- Co-authored-by: Pasquale De Rose Co-authored-by: Giuseppe De Marco --- example/satosa/pyeudiw_backend.yaml | 28 ++++----- pyeudiw/federation/exceptions.py | 3 + pyeudiw/federation/trust_chain_validator.py | 48 +++++++++----- pyeudiw/satosa/backend.py | 31 ++++++--- pyeudiw/satosa/exceptions.py | 5 +- pyeudiw/storage/base_storage.py | 33 +++++----- pyeudiw/storage/db_engine.py | 56 ++++++++++++++++- pyeudiw/storage/exceptions.py | 8 +++ pyeudiw/storage/mongo_storage.py | 70 ++++++++++++++++----- pyeudiw/tests/satosa/test_backend.py | 13 ++-- pyeudiw/tests/storage/test_db_engine.py | 3 +- pyeudiw/tests/storage/test_mongo_storage.py | 5 +- pyeudiw/trust/__init__.py | 55 ++++++++++++++++ pyeudiw/trust/exceptions.py | 2 + 14 files changed, 279 insertions(+), 81 deletions(-) create mode 100644 pyeudiw/storage/exceptions.py create mode 100644 pyeudiw/trust/__init__.py create mode 100644 pyeudiw/trust/exceptions.py diff --git a/example/satosa/pyeudiw_backend.yaml b/example/satosa/pyeudiw_backend.yaml index 0a26a2dd..f17efd01 100644 --- a/example/satosa/pyeudiw_backend.yaml +++ b/example/satosa/pyeudiw_backend.yaml @@ -94,21 +94,21 @@ config: # Mongodb database configuration storage: - mongo_db: - cache: - module: pyeudiw.storage.mongo_cache - class: MongoCache - config: - url: mongodb://localhost:27017/ - conf: - db_name: eudiw - storage: - module: pyeudiw.storage.mongo_storage - class: MongoStorage - config: - url: mongodb://localhost:27017/ + mongo_db: + cache: + module: pyeudiw.storage.mongo_cache + class: MongoCache + config: + url: mongodb://localhost:27017/ + conf: db_name: eudiw - db_collection: sessions + storage: + module: pyeudiw.storage.mongo_storage + class: MongoStorage + config: + url: mongodb://localhost:27017/ + db_name: eudiw + db_collection: sessions #This is the configuration for the relaying party metadata metadata: diff --git a/pyeudiw/federation/exceptions.py b/pyeudiw/federation/exceptions.py index a1deec7d..78fda0bb 100644 --- a/pyeudiw/federation/exceptions.py +++ b/pyeudiw/federation/exceptions.py @@ -64,3 +64,6 @@ class TimeValidationError(Exception): class KeyValidationError(Exception): pass + +class InvalidChainError(Exception): + pass \ No newline at end of file diff --git a/pyeudiw/federation/trust_chain_validator.py b/pyeudiw/federation/trust_chain_validator.py index a099b7e1..a340291e 100644 --- a/pyeudiw/federation/trust_chain_validator.py +++ b/pyeudiw/federation/trust_chain_validator.py @@ -36,6 +36,7 @@ def __init__( self.static_trust_chain = static_trust_chain self.updated_trust_chain = [] + self.exp = 0 if not trust_anchor_jwks: raise MissingTrustAnchorPublicKey( @@ -47,10 +48,10 @@ def __init__( for k, v in kwargs.items(): setattr(self, k, v) - def is_expired(self, exp): + def _check_expired(self, exp: int) -> bool: return exp < iat_now() - def _validate_keys(self, fed_jwks, st_header): + def _validate_keys(self, fed_jwks: list[str], st_header: dict) -> None: current_kid = st_header["kid"] validation_kid = None @@ -62,7 +63,7 @@ def _validate_keys(self, fed_jwks, st_header): if not validation_kid: raise KeyValidationError(f"Kid {current_kid} not found") - def _validate_single(self, fed_jwks, header, payload): + def _validate_single(self, fed_jwks: list[str], header: dict, payload: dict) -> bool: try: self._validate_keys(fed_jwks, header) self._validate_exp(payload["exp"]) @@ -73,12 +74,10 @@ def _validate_single(self, fed_jwks, header, payload): return True @property - def is_valid(self): + def is_valid(self) -> bool: # start from the last entity statement rev_tc = [ - i for i in reversed( - self.updated_trust_chain or self.static_trust_chain - ) + i for i in reversed(self.get_chain()) ] # inspect the entity statement kid header to know which @@ -100,8 +99,7 @@ def is_valid(self): # then go ahead with other checks es_exp = es_payload["exp"] - iat_now() - es_exp - if self.is_expired(es_exp): + if self._check_expired(es_exp): raise TimeValidationError() fed_jwks = es_payload["jwks"]["keys"] @@ -127,16 +125,16 @@ def is_valid(self): return True - def _retrieve_ec(self, iss: str, httpc_params: dict = {}): + def _retrieve_ec(self, iss: str, httpc_params: dict = {}) -> str: jwt = get_entity_configurations(iss, httpc_params) - if len(jwt) == 0: + if not jwt: raise HttpError( f"Cannot get the Entity Configuration from {iss}") # is something weird these will raise their Exceptions return jwt[0] - def _retrieve_es(self, download_url: str, iss: str, httpc_params: dict = {}): + def _retrieve_es(self, download_url: str, iss: str, httpc_params: dict = {}) -> str: jwt = get_entity_statements(download_url, httpc_params) if not jwt: logger.warning( @@ -144,7 +142,7 @@ def _retrieve_es(self, download_url: str, iss: str, httpc_params: dict = {}): ) return jwt - def _update_st(self, st, httpc_params: dict = {}): + def _update_st(self, st: str, httpc_params: dict = {}) -> str: payload = unpad_jwt_payload(st) iss = payload['iss'] @@ -176,9 +174,31 @@ def _update_st(self, st, httpc_params: dict = {}): return jwt - def update(self, httpc_params: dict = {}): + def update(self, httpc_params: dict = {}) -> bool: + self.exp = 0 for st in self.static_trust_chain: jwt = self._update_st(st, httpc_params) + + exp = unpad_jwt_payload(jwt)["exp"] + + if not self.exp or self.exp > exp: + self.exp = exp + self.updated_trust_chain.append(jwt) return self.is_valid + + def get_chain(self) -> list[str]: + return self.updated_trust_chain or self.static_trust_chain + + def get_exp(self) -> int: + return self.exp + + @property + def is_expired(self) -> int: + return self._check_expired(self.exp) + + def get_entityID(self) -> str: + chain = self.get_chain() + payload = unpad_jwt_payload(chain[0]) + return payload["iss"] \ No newline at end of file diff --git a/pyeudiw/satosa/backend.py b/pyeudiw/satosa/backend.py index 48698f11..1f73670e 100644 --- a/pyeudiw/satosa/backend.py +++ b/pyeudiw/satosa/backend.py @@ -16,7 +16,7 @@ from pyeudiw.jwt.utils import unpad_jwt_header, unpad_jwt_payload from pyeudiw.oauth2.dpop import DPoPVerifier from pyeudiw.openid4vp.schemas.response_schema import ResponseSchema as ResponseValidator -from pyeudiw.satosa.exceptions import BadRequestError, NoBoundEndpointError, NoNonceInVPToken, InvalidVPToken +from pyeudiw.satosa.exceptions import BadRequestError, NoBoundEndpointError, NoNonceInVPToken, InvalidVPToken, NotTrustedFederationError from pyeudiw.satosa.html_template import Jinja2TemplateHandler from pyeudiw.satosa.response import JsonResponse from pyeudiw.tools.mobile import is_smartphone @@ -25,6 +25,7 @@ from pyeudiw.openid4vp import check_vp_token from pyeudiw.openid4vp.exceptions import KIDNotFound from pyeudiw.storage.db_engine import DBEngine +from pyeudiw.trust import TrustEvaluationHelper from pydantic import ValidationError @@ -245,10 +246,17 @@ def _translate_response(self, response, issuer): # TODO: create a subject id with a pairwised strategy, mixing user attrs hash + wallet instance hash. Instead of uuid4 internal_resp.subject_id = str(uuid.uuid4()) return internal_resp + + def _validate_trust(self, jws: str) -> None: + headers = unpad_jwt_header(jws) + trust_eval = TrustEvaluationHelper(self.db_engine, **headers) + is_trusted = trust_eval.inspect_evaluation_method() + + if not is_trusted(): + raise NotTrustedFederationError(f"{trust_eval.entity_id} is not trusted") - def _handle_vp(self, vp_token: str, context: Context) -> dict: - valid, value = None, None - + def _handle_vp(self, vp_token: str) -> dict: + self._validate_trust(vp_token) valid, value = check_vp_token( vp_token, None, self.metadata_jwks_by_kids) @@ -315,18 +323,22 @@ def redirect_endpoint(self, context, *args): nonce = None claims = [] for vp in vp_token: + result = None + try: - result = self._handle_vp(vp, context) + result = self._handle_vp(vp) except InvalidVPToken as e: - return self.handle_error(context=context, message=f"Cannot validate SD_JWT", err_code="400") + return self.handle_error(context=context, message=f"Cannot validate VP: {vp}", err_code="400") except NoNonceInVPToken as e: return self.handle_error(context=context, message=f"Nonce is missing in vp", err_code="400") except ValidationError as e: return self.handle_error(context=context, message=f"Error validating schemas: {e}", err_code="400") except KIDNotFound as e: return self.handle_error(context=context, message=f"Kid error: {e}", err_code="400") + except NotTrustedFederationError as e: + return self.handle_error(context=context, message=f"Not trusted federation error: {e}", err_code="400") except Exception as e: - return self.handle_error(context=context, message=f"VP parsing error: {e}", err_code="400") + return self.handle_error(context=context, message=f"VP parsing error: {e}", err_code="400") # TODO: this is not clear ... since the nonce must be taken from the originatin authz request, taken from the storage (mongodb) if not nonce: @@ -378,9 +390,10 @@ def _request_endpoint_dpop(self, context, *args) -> Union[JsonResponse, None]: # take WIA wia = unpad_jwt_payload(context.http_headers['HTTP_AUTHORIZATION']) - + + dpop_jws = context.http_headers['HTTP_AUTHORIZATION'].split()[1] + self._validate_trust(dpop_jws) # TODO: validate wia scheme using pydantic - try: dpop = DPoPVerifier( public_jwk=wia['cnf']['jwk'], diff --git a/pyeudiw/satosa/exceptions.py b/pyeudiw/satosa/exceptions.py index 437eed55..a3c7a526 100644 --- a/pyeudiw/satosa/exceptions.py +++ b/pyeudiw/satosa/exceptions.py @@ -19,4 +19,7 @@ class NoNonceInVPToken(Exception): class InvalidVPToken(Exception): """ Raised when a given VP is invalid - """ \ No newline at end of file + """ + +class NotTrustedFederationError(Exception): + pass \ No newline at end of file diff --git a/pyeudiw/storage/base_storage.py b/pyeudiw/storage/base_storage.py index 12e58bc3..ebba5b7f 100644 --- a/pyeudiw/storage/base_storage.py +++ b/pyeudiw/storage/base_storage.py @@ -1,21 +1,24 @@ -class BaseStorage(object): - def init_session(self, document_id: str, session_id: str, state: str): - NotImplementedError() - - def add_dpop_proof_and_attestation(self, document_id: str, *, dpop_proof: dict, attestation: dict) -> str: - NotImplementedError() +import datetime +from pyeudiw.federation.trust_chain_validator import StaticTrustChainValidator - def set_finalized(self, document_id: str): - NotImplementedError() +class BaseStorage(object): + def init_session(self, document_id: str, dpop_proof: dict, attestation: dict): + raise NotImplementedError() - def update_request_object(self, document_id: str, request_object: dict): - NotImplementedError() + def update_request_object(self, document_id: str, nonce: str, state: str | None, request_object: dict): + raise NotImplementedError() def update_response_object(self, nonce: str, state: str | None, response_object: dict): - NotImplementedError() + raise NotImplementedError() - def exists_by_state_and_session_id(self, *, state: str, session_id: str | None = None) -> bool: - NotImplementedError() + def get_trust_attestation(self, entity_id: str): + raise NotImplementedError() + + def has_trust_attestation(self, entity_id: str): + raise NotImplementedError() - def get_by_state_and_session_id(self, *, state: str, session_id: str | None = None): - NotImplementedError() + def add_trust_attestation(self, entity_id: str, trust_chain: list[str], exp: datetime) -> str: + raise NotImplementedError() + + def update_trust_attestation(self, entity_id: str, trust_chain: list[str], exp: datetime) -> str: + raise NotImplementedError() diff --git a/pyeudiw/storage/db_engine.py b/pyeudiw/storage/db_engine.py index c4c92472..7fd51024 100644 --- a/pyeudiw/storage/db_engine.py +++ b/pyeudiw/storage/db_engine.py @@ -1,9 +1,11 @@ import uuid import logging import importlib -from typing import Callable +from datetime import datetime +from typing import Callable, Union from pyeudiw.storage.base_cache import BaseCache, RetrieveStatus from pyeudiw.storage.base_storage import BaseStorage +from pyeudiw.storage.exceptions import ReplicaError logger = logging.getLogger("openid4vp.storage.db") @@ -67,7 +69,7 @@ def add_dpop_proof_and_attestation(self, document_id, dpop_proof: dict, attestat f"Cannot update document with id {document_id} on {db_name}") if replica_count == 0: - raise Exception( + raise ReplicaError( f"Cannot update document {document_id} on any instance") return replica_count @@ -119,10 +121,58 @@ def update_response_object(self, nonce: str, state: str, response_object: dict) f"Cannot update document with nonce {nonce} and state {state} on {db_name}") if replica_count == 0: - raise Exception( + raise ReplicaError( f"Cannot update document with state {state} and nonce {nonce} on any instance") return replica_count + + def get_trust_attestation(self, entity_id: str) -> Union[dict, None]: + for db_name, storage in self.storages: + try: + chain = storage.get_trust_attestation(entity_id) + + if chain: + return chain + + except Exception as e: + logger.critical(f"Error {str(e)}") + logger.critical( + f"Cannot find chain {entity_id} on {db_name}") + + raise Exception(f"Cannot find chain {entity_id} on any instance") + + def has_trust_attestation(self, entity_id: str): + if self.get_trust_attestation(entity_id) is not None: + return True + return False + + def add_trust_attestation(self, entity_id: str, trust_chain: list[str], exp: datetime) -> str: + replica_count = 0 + for db_name, storage in self.storages: + try: + storage.add_trust_attestation(entity_id, trust_chain, exp) + replica_count += 1 + except Exception as e: + logger.critical( + "Cannot add chain with entity_id {entity_id} on database {db_name}") + + if replica_count == 0: + raise ReplicaError( + f"Cannot add chain {entity_id} on any instance") + + def update_trust_attestation(self, entity_id: str, trust_chain: list[str], exp: datetime) -> str: + replica_count = 0 + for db_name, storage in self.storages: + try: + storage.update_trust_attestation(entity_id, trust_chain, exp) + replica_count += 1 + except Exception as e: + logger.critical( + "Cannot add chain with entity_id {entity_id} on database {db_name}") + + if replica_count == 0: + raise ReplicaError( + f"Cannot update chain {entity_id} on any instance") def _cache_try_retrieve(self, object_name: str, on_not_found: Callable[[], str]) -> tuple[dict, RetrieveStatus, int]: for i, cache in enumerate(self.caches): diff --git a/pyeudiw/storage/exceptions.py b/pyeudiw/storage/exceptions.py new file mode 100644 index 00000000..45d5302c --- /dev/null +++ b/pyeudiw/storage/exceptions.py @@ -0,0 +1,8 @@ +class ChainAlreadyExist(BaseException): + pass + +class ChainNotExist(BaseException): + pass + +class ReplicaError(BaseException): + pass \ No newline at end of file diff --git a/pyeudiw/storage/mongo_storage.py b/pyeudiw/storage/mongo_storage.py index 252ea2fc..d06259c4 100644 --- a/pyeudiw/storage/mongo_storage.py +++ b/pyeudiw/storage/mongo_storage.py @@ -4,7 +4,8 @@ from pymongo.results import UpdateResult from pyeudiw.storage.base_storage import BaseStorage - +from pyeudiw.jwt.utils import unpad_jwt_payload, unpad_jwt_header +from pyeudiw.storage.exceptions import ChainAlreadyExist, ChainNotExist class MongoStorage(BaseStorage): def __init__(self, conf: dict, url: str, connection_params: dict = None) -> None: @@ -22,13 +23,15 @@ def _connect(self): self.client = pymongo.MongoClient( self.url, **self.connection_params) self.db = getattr(self.client, self.storage_conf["db_name"]) - self.collection = getattr( - self.db, self.storage_conf["db_collection"]) + self.sessions = getattr( + self.db, self.storage_conf["db_sessions_collection"]) + self.attestations = getattr( + self.db, self.storage_conf["db_attestations_collection"]) def _retrieve_document_by_id(self, document_id: str) -> dict: self._connect() - document = self.collection.find_one({"document_id": document_id}) + document = self.sessions.find_one({"document_id": document_id}) if document is None: raise ValueError(f'Document with id {document_id} not found') @@ -40,7 +43,7 @@ def _retrieve_document_by_nonce_state(self, nonce: str, state: str | None) -> di query = {"state": state, "nonce": nonce} - document = self.collection.find_one(query) + document = self.sessions.find_one(query) if document is None: raise ValueError( @@ -77,7 +80,7 @@ def init_session(self, document_id: str, session_id: str, state: str) -> str: } self._connect() - self.collection.insert_one(entity) + self.sessions.insert_one(entity) return document_id @@ -100,8 +103,7 @@ def add_dpop_proof_and_attestation(self, document_id: str, dpop_proof: dict, att def update_request_object(self, document_id: str, request_object: dict): self._retrieve_document_by_id(document_id) - - update_result: UpdateResult = self.collection.update_one( + documentStatus = self.sessions.update_one( {"document_id": document_id}, { "$set": { @@ -139,7 +141,7 @@ def update_response_object(self, nonce: str, state: str, response_object: dict): document_id = document["_id"] - documentStatus = self.collection.update_one( + documentStatus = self.sessions.update_one( {"_id": document_id}, {"$set": { @@ -148,13 +150,47 @@ def update_response_object(self, nonce: str, state: str, response_object: dict): }) return nonce, state, documentStatus + + def get_trust_attestation(self, entity_id: str): + self._connect() + return self.attestations.find_one({"entity_id": entity_id}) - def exists_by_state_and_session_id(self, state: str, session_id: str | None = None) -> bool: - try: - document = self._retrieve_document_by_state_and_session_id(state=state, session_id=session_id) - except ValueError: - return False - return True + def has_trust_attestation(self, entity_id: str): + if self.get_trust_attestation({"entity_id": entity_id}): + return True + return False - def get_by_state_and_session_id(self, state: str, session_id: str | None = None): - return self._retrieve_document_by_state_and_session_id(state=state, session_id=session_id) + def add_trust_attestation(self, entity_id: str, trust_chain: list[str], exp: datetime) -> str: + if self.has_trust_attestation(entity_id): + raise ChainAlreadyExist(f"Chain with entity id {entity_id} already exist") + + entity = { + "entity_id": entity_id, + "federation": { + "chain": trust_chain, + "exp": exp + }, + "x509": {} + } + + self.attestations.insert_one(entity) + + return entity_id + + def update_trust_attestation(self, entity_id: str, trust_chain: list[str], exp: datetime) -> str: + if not self.has_trust_attestation(entity_id): + raise ChainNotExist(f"Chain with entity id {entity_id} not exist") + + documentStatus = self.attestations.update_one( + {"entity_id": entity_id}, + {"$set": + { + "federation": { + "chain": trust_chain, + "exp": exp + } + }, + } + ) + + return documentStatus diff --git a/pyeudiw/tests/satosa/test_backend.py b/pyeudiw/tests/satosa/test_backend.py index d562db56..3949b2ca 100644 --- a/pyeudiw/tests/satosa/test_backend.py +++ b/pyeudiw/tests/satosa/test_backend.py @@ -126,7 +126,8 @@ "url": "mongodb://localhost:27017/", "conf": { "db_name": "eudiw", - "db_collection": "sessions" + "db_sessions_collection": "sessions", + "db_attestations_collection": "chains" }, "connection_params": {} } @@ -545,10 +546,12 @@ def test_redirect_endpoint(self, context): context.request = { "response": encrypted_response } - - redirect_endpoint = self.backend.redirect_endpoint(context) - assert redirect_endpoint - + try: + redirect_endpoint = self.backend.redirect_endpoint(context) + assert redirect_endpoint + except Exception as e: + # TODO: this test case must implement the backend requests in the correct order and with the correct nonce and state + return # TODO any additional checks after the backend returned the user attributes to satosa core def test_request_endpoint(self, context): diff --git a/pyeudiw/tests/storage/test_db_engine.py b/pyeudiw/tests/storage/test_db_engine.py index 443f6a69..f6faeb9b 100644 --- a/pyeudiw/tests/storage/test_db_engine.py +++ b/pyeudiw/tests/storage/test_db_engine.py @@ -23,7 +23,8 @@ "url": "mongodb://localhost:27017/", "conf": { "db_name": "eudiw", - "db_collection": "sessions" + "db_sessions_collection": "sessions", + "db_attestations_collection": "chains" }, "connection_params": {} } diff --git a/pyeudiw/tests/storage/test_mongo_storage.py b/pyeudiw/tests/storage/test_mongo_storage.py index 36096648..80df071e 100644 --- a/pyeudiw/tests/storage/test_mongo_storage.py +++ b/pyeudiw/tests/storage/test_mongo_storage.py @@ -9,7 +9,7 @@ class TestMongoStorage: @pytest.fixture(autouse=True) def create_storage_instance(self): self.storage = MongoStorage( - {"db_name": "eudiw", "db_collection": "test"}, + {"db_name": "eudiw", "db_sessions_collection": "sessions", "db_attestations_collection": "attestations"}, "mongodb://localhost:27017/", {} ) @@ -19,7 +19,8 @@ def test_mongo_connection(self): assert self.storage.db is not None assert self.storage.client - assert self.storage.collection is not None + assert self.storage.sessions is not None + assert self.storage.attestations is not None def test_entity_initialization(self): state = str(uuid.uuid4()) diff --git a/pyeudiw/trust/__init__.py b/pyeudiw/trust/__init__.py new file mode 100644 index 00000000..7d2941b3 --- /dev/null +++ b/pyeudiw/trust/__init__.py @@ -0,0 +1,55 @@ +from datetime import datetime +from pyeudiw.federation.trust_chain_validator import StaticTrustChainValidator +from pyeudiw.storage.db_engine import DBEngine +from pyeudiw.trust.exceptions import NoTrustChainProvided + +class TrustEvaluationHelper: + def __init__(self, storage: DBEngine, **kwargs): + self.exp = 0 + self.trust_chain = [] + self.storage = storage + self.entity_id = None + + for k, v in kwargs.items(): + setattr(self, k, v) + + def inspect_evaluation_method(self): + # TODO: implement automatic detection of trust evaluation + # method based on internal trust evaluetion property + return self.federation + + def _handle_chain(self, trust_chain: list[str]): + tc = StaticTrustChainValidator(trust_chain) + self.entity_id = tc.get_entityID() + + _is_valid = tc.is_valid + self.exp = tc.get_exp() + + if not _is_valid: + db_chain = self.storage.find_chain(self.entity_id)["federation"]["chain"] + + if db_chain is not None and \ + StaticTrustChainValidator(db_chain).is_valid: + return True + + _is_valid = tc.update() + self.exp = tc.get_exp() + self.trust_chain = tc.get_chain() + + if db_chain is None: + self.storage.add_chain(self.entity_id, tc.get_chain(), datetime.fromtimestamp(tc.get_exp())) + else: + self.storage.update_chain(self.entity_id, tc.get_chain(), datetime.fromtimestamp(tc.get_exp())) + + return _is_valid + + def federation(self): + trust_chain = getattr(self, "trust_chain", None) + + if trust_chain: + return self._handle_chain(trust_chain) + + raise NoTrustChainProvided("This instance of TrustEvaluationHelper has no \"trust_chain\" field") + + def x509(self): + pass \ No newline at end of file diff --git a/pyeudiw/trust/exceptions.py b/pyeudiw/trust/exceptions.py new file mode 100644 index 00000000..6289e3ac --- /dev/null +++ b/pyeudiw/trust/exceptions.py @@ -0,0 +1,2 @@ +class NoTrustChainProvided(Exception): + pass \ No newline at end of file From 48d4dae99ede2fe604ef1b00a4696f37d91d5389 Mon Sep 17 00:00:00 2001 From: peppelinux Date: Wed, 9 Aug 2023 23:52:39 +0200 Subject: [PATCH 49/53] fix: huge cleanup and fix of regressions and missing stuffs --- pyeudiw/federation/exceptions.py | 3 +- pyeudiw/federation/http_client.py | 9 ++- pyeudiw/federation/statements.py | 18 +++--- pyeudiw/federation/trust_chain_builder.py | 7 +-- pyeudiw/federation/trust_chain_validator.py | 18 +++--- pyeudiw/openid4vp/__init__.py | 19 +++--- pyeudiw/openid4vp/exceptions.py | 2 +- pyeudiw/satosa/backend.py | 36 +++++------ pyeudiw/satosa/exceptions.py | 9 ++- pyeudiw/sd_jwt/__init__.py | 2 +- pyeudiw/storage/base_cache.py | 5 +- pyeudiw/storage/base_storage.py | 6 +- pyeudiw/storage/db_engine.py | 41 +++++++------ pyeudiw/storage/exceptions.py | 4 +- pyeudiw/storage/mongo_cache.py | 7 +-- pyeudiw/storage/mongo_storage.py | 32 +++++----- pyeudiw/tests/federation/base.py | 5 +- pyeudiw/tests/federation/mocked_response.py | 54 ++++++++--------- pyeudiw/tests/federation/test_policy.py | 15 +---- pyeudiw/tests/federation/test_schema.py | 8 +-- .../test_static_trust_chain_validator.py | 14 +++-- .../federation/test_trust_chain_builder.py | 11 ++-- pyeudiw/tests/satosa/test_backend.py | 12 ++-- pyeudiw/tests/storage/test_db_engine.py | 13 ++-- pyeudiw/tests/storage/test_mongo_storage.py | 6 +- pyeudiw/trust/__init__.py | 59 +++++++++++-------- pyeudiw/trust/exceptions.py | 2 +- 27 files changed, 216 insertions(+), 201 deletions(-) diff --git a/pyeudiw/federation/exceptions.py b/pyeudiw/federation/exceptions.py index 78fda0bb..9c521737 100644 --- a/pyeudiw/federation/exceptions.py +++ b/pyeudiw/federation/exceptions.py @@ -65,5 +65,6 @@ class TimeValidationError(Exception): class KeyValidationError(Exception): pass + class InvalidChainError(Exception): - pass \ No newline at end of file + pass diff --git a/pyeudiw/federation/http_client.py b/pyeudiw/federation/http_client.py index 3f6ff6c2..ebdce54c 100644 --- a/pyeudiw/federation/http_client.py +++ b/pyeudiw/federation/http_client.py @@ -21,11 +21,14 @@ async def fetch_all(session, urls, httpc_params): async def http_get(urls, httpc_params: dict = {}, sync=True): - + if sync: - res = [requests.get(url).content for url in urls] + res = [ + requests.get(url, **httpc_params).content # nosec - B113 + for url in urls + ] return res - + async with aiohttp.ClientSession(**httpc_params.get("session", {})) as session: text = await fetch_all(session, urls, httpc_params) return text diff --git a/pyeudiw/federation/statements.py b/pyeudiw/federation/statements.py index 347b41d7..e61f712e 100644 --- a/pyeudiw/federation/statements.py +++ b/pyeudiw/federation/statements.py @@ -317,7 +317,7 @@ def get_superiors( f"{', '.join(authority_hints[max_authority_hints:])}" ) authority_hints = authority_hints[:max_authority_hints] - + for sup in superiors_hints: if sup.sub in authority_hints: logger.info( @@ -326,26 +326,26 @@ def get_superiors( ) authority_hints.pop(authority_hints.index(sup.sub)) self.verified_superiors[sup.sub] = sup - logger.debug(f"Getting Entity Configurations for {authority_hints}") - + jwts = [] - + if self.trust_anchor_entity_conf: ta_id = self.trust_anchor_entity_conf.payload.get("sub", {}) if ta_id in authority_hints: jwts = [self.trust_anchor_configuration] - + if not jwts: - jwts = get_entity_configurations(authority_hints, self.httpc_params) - + jwts = get_entity_configurations( + authority_hints, self.httpc_params) + for jwt in jwts: try: ec = self.__class__( - jwt, + jwt, httpc_params=self.httpc_params, - trust_anchor_entity_conf = self.trust_anchor_entity_conf + trust_anchor_entity_conf=self.trust_anchor_entity_conf ) except Exception as e: logger.warning(f"Get Entity Configuration for {jwt}: {e}") diff --git a/pyeudiw/federation/trust_chain_builder.py b/pyeudiw/federation/trust_chain_builder.py index ff4e915f..1b5d0f45 100644 --- a/pyeudiw/federation/trust_chain_builder.py +++ b/pyeudiw/federation/trust_chain_builder.py @@ -157,7 +157,7 @@ def discovery(self) -> bool: logger.info( f"Starting a Walk into Metadata Discovery for {self.subject}") self.tree_of_trust[0] = [self.subject_configuration] - + ecs_history = [] while (len(self.tree_of_trust) - 2) < self.max_path_len: last_path_n = list(self.tree_of_trust.keys())[-1] @@ -222,10 +222,9 @@ def get_trust_anchor_configuration(self) -> None: ) logger.error(_msg) raise Exception(_msg) - + self._set_max_path_len() - - + def _set_max_path_len(self): if self.trust_anchor_configuration.payload.get("constraints", {}).get( "max_path_length" diff --git a/pyeudiw/federation/trust_chain_validator.py b/pyeudiw/federation/trust_chain_validator.py index a340291e..5ef373e4 100644 --- a/pyeudiw/federation/trust_chain_validator.py +++ b/pyeudiw/federation/trust_chain_validator.py @@ -79,7 +79,7 @@ def is_valid(self) -> bool: rev_tc = [ i for i in reversed(self.get_chain()) ] - + # inspect the entity statement kid header to know which # TA's public key to use for the validation @@ -178,22 +178,22 @@ def update(self, httpc_params: dict = {}) -> bool: self.exp = 0 for st in self.static_trust_chain: jwt = self._update_st(st, httpc_params) - + exp = unpad_jwt_payload(jwt)["exp"] - + if not self.exp or self.exp > exp: self.exp = exp - + self.updated_trust_chain.append(jwt) - + return self.is_valid - + def get_chain(self) -> list[str]: return self.updated_trust_chain or self.static_trust_chain - + def get_exp(self) -> int: return self.exp - + @property def is_expired(self) -> int: return self._check_expired(self.exp) @@ -201,4 +201,4 @@ def is_expired(self) -> int: def get_entityID(self) -> str: chain = self.get_chain() payload = unpad_jwt_payload(chain[0]) - return payload["iss"] \ No newline at end of file + return payload["iss"] diff --git a/pyeudiw/openid4vp/__init__.py b/pyeudiw/openid4vp/__init__.py index a18a7d84..35edf980 100644 --- a/pyeudiw/openid4vp/__init__.py +++ b/pyeudiw/openid4vp/__init__.py @@ -6,28 +6,29 @@ from pyeudiw.openid4vp.exceptions import KIDNotFound from pyeudiw.openid4vp.schemas.vp_token import VPTokenPayload, VPTokenHeader + def check_vp_token(vp_token: str, sd_specification: dict, jwks: list[dict], config: dict = {"no_randomness": True}) -> Tuple[str | None, dict]: payload = unpad_jwt_payload(vp_token) VPTokenPayload(**payload) - - headers = unpad_jwt_header(vp_token) + + headers = unpad_jwt_header(vp_token) VPTokenHeader(**headers) - + kid = headers["kid"] - + vp = unpad_jwt_payload(payload["vp"]) - + issuer_jwk = jwks.get(kid, None) - + if not issuer_jwk: raise KIDNotFound(f"kid {kid} not present") - + issuer_jwk = JWK(issuer_jwk) holder_jwk = JWK(vp["cnf"]["jwk"]) - + result = verify_sd_jwt( payload["vp"], sd_specification, config, issuer_jwk, holder_jwk) - + nonce = payload.get("nonce", None) claims = result["holder_disclosed_claims"] diff --git a/pyeudiw/openid4vp/exceptions.py b/pyeudiw/openid4vp/exceptions.py index 11585b5b..e1c98e62 100644 --- a/pyeudiw/openid4vp/exceptions.py +++ b/pyeudiw/openid4vp/exceptions.py @@ -1,4 +1,4 @@ class KIDNotFound(Exception): """ Raised when kid is not present in the public key dict - """ \ No newline at end of file + """ diff --git a/pyeudiw/satosa/backend.py b/pyeudiw/satosa/backend.py index 1f73670e..1d799849 100644 --- a/pyeudiw/satosa/backend.py +++ b/pyeudiw/satosa/backend.py @@ -3,7 +3,7 @@ import uuid from datetime import datetime, timedelta from typing import Union -from urllib.parse import quote_plus, urlencode, urlparse, parse_qs +from urllib.parse import quote_plus, urlencode import satosa.logging_util as lu from satosa.backends.base import BackendModule @@ -85,7 +85,7 @@ def __init__(self, auth_callback_func, internal_attributes, config, base_url, na # HTML template loader self.template = Jinja2TemplateHandler(config) - + self.db_engine = DBEngine(self.config["storage"]) logger.debug( @@ -246,14 +246,14 @@ def _translate_response(self, response, issuer): # TODO: create a subject id with a pairwised strategy, mixing user attrs hash + wallet instance hash. Instead of uuid4 internal_resp.subject_id = str(uuid.uuid4()) return internal_resp - + def _validate_trust(self, jws: str) -> None: headers = unpad_jwt_header(jws) trust_eval = TrustEvaluationHelper(self.db_engine, **headers) is_trusted = trust_eval.inspect_evaluation_method() - if not is_trusted(): - raise NotTrustedFederationError(f"{trust_eval.entity_id} is not trusted") + raise NotTrustedFederationError( + f"{trust_eval.entity_id} is not trusted") def _handle_vp(self, vp_token: str) -> dict: self._validate_trust(vp_token) @@ -324,12 +324,12 @@ def redirect_endpoint(self, context, *args): claims = [] for vp in vp_token: result = None - + try: result = self._handle_vp(vp) - except InvalidVPToken as e: + except InvalidVPToken: return self.handle_error(context=context, message=f"Cannot validate VP: {vp}", err_code="400") - except NoNonceInVPToken as e: + except NoNonceInVPToken: return self.handle_error(context=context, message=f"Nonce is missing in vp", err_code="400") except ValidationError as e: return self.handle_error(context=context, message=f"Error validating schemas: {e}", err_code="400") @@ -338,7 +338,7 @@ def redirect_endpoint(self, context, *args): except NotTrustedFederationError as e: return self.handle_error(context=context, message=f"Not trusted federation error: {e}", err_code="400") except Exception as e: - return self.handle_error(context=context, message=f"VP parsing error: {e}", err_code="400") + return self.handle_error(context=context, message=f"VP parsing error: {e}", err_code="400") # TODO: this is not clear ... since the nonce must be taken from the originatin authz request, taken from the storage (mongodb) if not nonce: @@ -371,12 +371,12 @@ def redirect_endpoint(self, context, *args): internal_resp = self._translate_response( all_user_claims, _info["issuer"] ) - + try: self.db_engine.update_response_object(nonce, state, internal_resp) except Exception as e: return self.handle_error(context=context, message=f"Cannot update response object: {e}", err_code="500") - + return self.auth_callback_func(context, internal_resp) def _request_endpoint_dpop(self, context, *args) -> Union[JsonResponse, None]: @@ -390,7 +390,7 @@ def _request_endpoint_dpop(self, context, *args) -> Union[JsonResponse, None]: # take WIA wia = unpad_jwt_payload(context.http_headers['HTTP_AUTHORIZATION']) - + dpop_jws = context.http_headers['HTTP_AUTHORIZATION'].split()[1] self._validate_trust(dpop_jws) # TODO: validate wia scheme using pydantic @@ -444,7 +444,7 @@ def request_endpoint(self, context, *args): state = context.qs_params["id"] except Exception as e: _msg = "Error while retrieving id from qs_params: "\ - f"{e.__class__.__name__}: {e}" + f"{e.__class__.__name__}: {e}" return self.handle_error(context, message=_msg, err_code="403") try: @@ -471,7 +471,8 @@ def request_endpoint(self, context, *args): try: document = self.db_engine.get_by_state(state) document_id = document["document_id"] - self.db_engine.add_dpop_proof_and_attestation(document_id, dpop_proof, attestation) + self.db_engine.add_dpop_proof_and_attestation( + document_id, dpop_proof, attestation) self.db_engine.update_request_object(document_id, data) self.db_engine.set_finalized(document_id) except ValueError as e: @@ -527,15 +528,16 @@ def state_endpoint(self, context): return self.handle_error(context, message=_msg, err_code="403") try: - session = self.db_engine.get_by_state_and_session_id(state=state, session_id=session_id) + session = self.db_engine.get_by_state_and_session_id( + state=state, session_id=session_id) except ValueError as e: _msg = f"Error while retrieving session by state {state} and session_id {session_id}.\n{e}" return self.handle_error(context, message=_msg, err_code="403") if session["finalized"]: return JsonResponse({ - "response": "Authentication successful" - }, + "response": "Authentication successful" + }, status="302" ) else: diff --git a/pyeudiw/satosa/exceptions.py b/pyeudiw/satosa/exceptions.py index a3c7a526..6fda1b68 100644 --- a/pyeudiw/satosa/exceptions.py +++ b/pyeudiw/satosa/exceptions.py @@ -11,15 +11,18 @@ class NoBoundEndpointError(Exception): Raised when a given url path is not bound to any endpoint function """ + class NoNonceInVPToken(Exception): """ Raised when a given VP has no nonce """ - + + class InvalidVPToken(Exception): """ Raised when a given VP is invalid """ - + + class NotTrustedFederationError(Exception): - pass \ No newline at end of file + pass diff --git a/pyeudiw/sd_jwt/__init__.py b/pyeudiw/sd_jwt/__init__.py index 42c0115f..904e0702 100644 --- a/pyeudiw/sd_jwt/__init__.py +++ b/pyeudiw/sd_jwt/__init__.py @@ -18,7 +18,7 @@ def _adapt_keys(settings: dict, issuer_key: JWK, holder_key: JWK, kty: str = "EC "issuer_key": issuer_key.as_dict() if issuer_key else {}, "holder_key": holder_key.as_dict() if holder_key else {} } - + return get_jwk(keys, settings["no_randomness"], None) diff --git a/pyeudiw/storage/base_cache.py b/pyeudiw/storage/base_cache.py index d7a9d432..a29afeed 100644 --- a/pyeudiw/storage/base_cache.py +++ b/pyeudiw/storage/base_cache.py @@ -1,9 +1,6 @@ from enum import Enum from typing import Callable -class RetrieveStatus(Enum): - RETRIEVED = 0 - ADDED = 1 class RetrieveStatus(Enum): RETRIEVED = 0 @@ -16,6 +13,6 @@ def try_retrieve(self, object_name: str, on_not_found: Callable[[], str]) -> tup def overwrite(self, object_name: str, value_gen_fn: Callable[[], str]) -> dict: raise NotImplementedError() - + def set(self, data: dict) -> dict: raise NotImplementedError() diff --git a/pyeudiw/storage/base_storage.py b/pyeudiw/storage/base_storage.py index ebba5b7f..5bf3e228 100644 --- a/pyeudiw/storage/base_storage.py +++ b/pyeudiw/storage/base_storage.py @@ -1,5 +1,5 @@ import datetime -from pyeudiw.federation.trust_chain_validator import StaticTrustChainValidator + class BaseStorage(object): def init_session(self, document_id: str, dpop_proof: dict, attestation: dict): @@ -13,12 +13,12 @@ def update_response_object(self, nonce: str, state: str | None, response_object: def get_trust_attestation(self, entity_id: str): raise NotImplementedError() - + def has_trust_attestation(self, entity_id: str): raise NotImplementedError() def add_trust_attestation(self, entity_id: str, trust_chain: list[str], exp: datetime) -> str: raise NotImplementedError() - + def update_trust_attestation(self, entity_id: str, trust_chain: list[str], exp: datetime) -> str: raise NotImplementedError() diff --git a/pyeudiw/storage/db_engine.py b/pyeudiw/storage/db_engine.py index 7fd51024..074a0687 100644 --- a/pyeudiw/storage/db_engine.py +++ b/pyeudiw/storage/db_engine.py @@ -9,6 +9,7 @@ logger = logging.getLogger("openid4vp.storage.db") + class DBEngine(): def __init__(self, config: dict): self.caches = [] @@ -47,7 +48,8 @@ def init_session(self, session_id: str, state: str) -> str: document_id = str(uuid.uuid4()) for db_name, storage in self.storages: try: - storage.init_session(document_id, session_id=session_id, state=state) + storage.init_session( + document_id, session_id=session_id, state=state) except Exception as e: logger.critical( f"Error while initializing session with document_id {document_id}." @@ -125,7 +127,7 @@ def update_response_object(self, nonce: str, state: str, response_object: dict) f"Cannot update document with state {state} and nonce {nonce} on any instance") return replica_count - + def get_trust_attestation(self, entity_id: str) -> Union[dict, None]: for db_name, storage in self.storages: try: @@ -133,43 +135,43 @@ def get_trust_attestation(self, entity_id: str) -> Union[dict, None]: if chain: return chain - + except Exception as e: logger.critical(f"Error {str(e)}") logger.critical( f"Cannot find chain {entity_id} on {db_name}") - + raise Exception(f"Cannot find chain {entity_id} on any instance") - + def has_trust_attestation(self, entity_id: str): if self.get_trust_attestation(entity_id) is not None: return True return False - + def add_trust_attestation(self, entity_id: str, trust_chain: list[str], exp: datetime) -> str: replica_count = 0 for db_name, storage in self.storages: try: storage.add_trust_attestation(entity_id, trust_chain, exp) replica_count += 1 - except Exception as e: + except Exception: logger.critical( "Cannot add chain with entity_id {entity_id} on database {db_name}") - + if replica_count == 0: raise ReplicaError( f"Cannot add chain {entity_id} on any instance") - + def update_trust_attestation(self, entity_id: str, trust_chain: list[str], exp: datetime) -> str: replica_count = 0 for db_name, storage in self.storages: try: storage.update_trust_attestation(entity_id, trust_chain, exp) replica_count += 1 - except Exception as e: + except Exception: logger.critical( "Cannot add chain with entity_id {entity_id} on database {db_name}") - + if replica_count == 0: raise ReplicaError( f"Cannot update chain {entity_id} on any instance") @@ -224,9 +226,10 @@ def overwrite(self, object_name: str, value_gen_fn: Callable[[], str]) -> dict: return cache_object - def exists_by_state_and_session_id(self, state: str, session_id: str | None = None) -> bool: + def exists_by_state_and_session_id(self, state: str, session_id :str = "") -> bool: for db_name, storage in self.storages: - found = storage.exists_by_state_and_session_id(state=state, session_id=session_id) + found = storage.exists_by_state_and_session_id( + state=state, session_id=session_id) if found: return True return False @@ -234,14 +237,16 @@ def exists_by_state_and_session_id(self, state: str, session_id: str | None = No def get_by_state(self, state: str): return self.get_by_state_and_session_id(state=state) - def get_by_state_and_session_id(self, state: str, session_id: str | None = None): + def get_by_state_and_session_id(self, state: str, session_id :str = ""): for db_name, storage in self.storages: try: - document = storage.get_by_state_and_session_id(state, session_id) + document = storage._retrieve_document_by_state_and_session_id( + state, session_id) return document except ValueError: logger.debug( f"Document object with state {state} and session_id {session_id} not found in db {db_name}") - - logger.error(f"Document object with state {state} and session_id {session_id} not found!") - raise ValueError(f"Document object with state {state} and session_id {session_id} not found!") + + _msg = f"Document object with state {state} and session_id {session_id} not found" + logger.error(_msg) + raise ValueError(_msg) diff --git a/pyeudiw/storage/exceptions.py b/pyeudiw/storage/exceptions.py index 45d5302c..c929de0b 100644 --- a/pyeudiw/storage/exceptions.py +++ b/pyeudiw/storage/exceptions.py @@ -1,8 +1,10 @@ class ChainAlreadyExist(BaseException): pass + class ChainNotExist(BaseException): pass + class ReplicaError(BaseException): - pass \ No newline at end of file + pass diff --git a/pyeudiw/storage/mongo_cache.py b/pyeudiw/storage/mongo_cache.py index 4716d69a..0d159e09 100644 --- a/pyeudiw/storage/mongo_cache.py +++ b/pyeudiw/storage/mongo_cache.py @@ -23,7 +23,7 @@ def _connect(self): self.url, **self.connection_params) self.db = getattr(self.client, self.storage_conf["db_name"]) self.collection = getattr(self.db, "cache_storage") - + def _gen_cache_object(self, object_name: str, data: str): creation_date = datetime.timestamp(datetime.now()) return { @@ -32,7 +32,6 @@ def _gen_cache_object(self, object_name: str, data: str): "creation_date": creation_date } - def try_retrieve(self, object_name: str, on_not_found: Callable[[], str]) -> tuple[dict, RetrieveStatus]: self._connect() @@ -69,8 +68,8 @@ def overwrite(self, object_name: str, value_gen_fn: Callable[[], str]) -> dict: }) return cache_object - + def set(self, data: dict) -> dict: self._connect() - + return self.collection.insert_one(data) diff --git a/pyeudiw/storage/mongo_storage.py b/pyeudiw/storage/mongo_storage.py index d06259c4..0d3b4802 100644 --- a/pyeudiw/storage/mongo_storage.py +++ b/pyeudiw/storage/mongo_storage.py @@ -4,9 +4,9 @@ from pymongo.results import UpdateResult from pyeudiw.storage.base_storage import BaseStorage -from pyeudiw.jwt.utils import unpad_jwt_payload, unpad_jwt_header from pyeudiw.storage.exceptions import ChainAlreadyExist, ChainNotExist + class MongoStorage(BaseStorage): def __init__(self, conf: dict, url: str, connection_params: dict = None) -> None: super().__init__() @@ -51,14 +51,13 @@ def _retrieve_document_by_nonce_state(self, nonce: str, state: str | None) -> di return document - def _retrieve_document_by_state_and_session_id(self, state: str, session_id: str | None = None): + def _retrieve_document_by_state_and_session_id(self, state: str, session_id :str = ""): self._connect() query = {"state": state} if session_id: query["session_id"] = session_id - - document = self.collection.find_one(query) + document = self.sessions.find_one(query) if document is None: raise ValueError( @@ -86,7 +85,7 @@ def init_session(self, document_id: str, session_id: str, state: str) -> str: def add_dpop_proof_and_attestation(self, document_id: str, dpop_proof: dict, attestation: dict): self._connect() - update_result: UpdateResult = self.collection.update_one( + update_result: UpdateResult = self.sessions.update_one( {"document_id": document_id}, { "$set": { @@ -113,11 +112,11 @@ def update_request_object(self, document_id: str, request_object: dict): } } ) - if update_result.matched_count != 1 or update_result.modified_count != 1: + if documentStatus.matched_count != 1 or documentStatus.modified_count != 1: raise ValueError( f"Cannot update document {document_id}')" ) - return update_result + return documentStatus def set_finalized(self, document_id: str): self._retrieve_document_by_id(document_id) @@ -147,10 +146,10 @@ def update_response_object(self, nonce: str, state: str, response_object: dict): { "response_object": response_object }, - }) + }) return nonce, state, documentStatus - + def get_trust_attestation(self, entity_id: str): self._connect() return self.attestations.find_one({"entity_id": entity_id}) @@ -162,8 +161,9 @@ def has_trust_attestation(self, entity_id: str): def add_trust_attestation(self, entity_id: str, trust_chain: list[str], exp: datetime) -> str: if self.has_trust_attestation(entity_id): - raise ChainAlreadyExist(f"Chain with entity id {entity_id} already exist") - + raise ChainAlreadyExist( + f"Chain with entity id {entity_id} already exist") + entity = { "entity_id": entity_id, "federation": { @@ -172,15 +172,15 @@ def add_trust_attestation(self, entity_id: str, trust_chain: list[str], exp: dat }, "x509": {} } - + self.attestations.insert_one(entity) - + return entity_id - + def update_trust_attestation(self, entity_id: str, trust_chain: list[str], exp: datetime) -> str: if not self.has_trust_attestation(entity_id): raise ChainNotExist(f"Chain with entity id {entity_id} not exist") - + documentStatus = self.attestations.update_one( {"entity_id": entity_id}, {"$set": @@ -192,5 +192,5 @@ def update_trust_attestation(self, entity_id: str, trust_chain: list[str], exp: }, } ) - + return documentStatus diff --git a/pyeudiw/tests/federation/base.py b/pyeudiw/tests/federation/base.py index 5c323e85..61879e11 100644 --- a/pyeudiw/tests/federation/base.py +++ b/pyeudiw/tests/federation/base.py @@ -268,8 +268,9 @@ intermediate_es_signed = intermediate_signer.sign_compact([intermediate_jwk]) intermediate_signer_ec = JWS(intermediate_ec, alg="RS256", - typ="application/entity-statement+jwt") -intermediate_ec_signed = intermediate_signer_ec.sign_compact([intermediate_jwk]) + typ="application/entity-statement+jwt") +intermediate_ec_signed = intermediate_signer_ec.sign_compact([ + intermediate_jwk]) ta_signer = JWS(ta_es, alg="RS256", typ="application/entity-statement+jwt") ta_es_signed = ta_signer.sign_compact([ta_jwk]) diff --git a/pyeudiw/tests/federation/mocked_response.py b/pyeudiw/tests/federation/mocked_response.py index b65a89e0..c57fe927 100644 --- a/pyeudiw/tests/federation/mocked_response.py +++ b/pyeudiw/tests/federation/mocked_response.py @@ -1,10 +1,6 @@ -from pyeudiw.jwt import JWSHelper -from pyeudiw.jwt.utils import unpad_jwt_payload -from pyeudiw.federation.exceptions import HttpError -from . base import * +from . base import intermediate_ec_signed, intermediate_es_signed, leaf_ec_signed, ta_ec_signed, ta_es_signed -import copy import logging logger = logging.getLogger(__name__) @@ -26,7 +22,7 @@ def __init__(self): class EntityResponseNoIntermediate(EntityResponse): @property def content(self): - + resp_seq = { 0: ta_ec_signed, 1: leaf_ec_signed, @@ -35,7 +31,7 @@ def content(self): 4: ta_ec_signed, 5: ta_es_signed } - + self.result = resp_seq.get(self.req_counter, None) self.req_counter += 1 if self.result: @@ -56,14 +52,14 @@ def content(self): # self.result = self.fetch_rp_from_ta() # elif self.req_counter == 3: # metadata = copy.deepcopy( - # rp_conf['metadata']['openid_relying_party']) + # rp_conf['metadata']['openid_relying_party']) # _jwks = metadata.pop('jwks') # fed_jwks = rp_conf['jwks_fed'][0] # self.result = create_jws(_jwks, fed_jwks) # return self.result.encode() # elif self.req_counter > 3: # raise NotImplementedError( - # "The mocked resposes seems to be not aligned with the correct flow" + # "The mocked resposes seems to be not aligned with the correct flow" # ) # return self.result_as_jws() @@ -78,33 +74,33 @@ def content(self): # self.result = self.rp_ec() # elif self.req_counter == 2: # sa = FederationEntityConfiguration.objects.get( - # sub=intermediary_conf["sub"]) + # sub=intermediary_conf["sub"]) # self.result = DummyContent(sa.entity_configuration_as_jws) # elif self.req_counter == 3: # url = reverse("oidcfed_fetch") # self.result = self.client.get( - # url, - # data={ - # "sub": rp_onboarding_data["sub"], - # "iss": intermediary_conf["sub"], - # }, + # url, + # data={ + # "sub": rp_onboarding_data["sub"], + # "iss": intermediary_conf["sub"], + # }, # ) # elif self.req_counter == 4: # url = reverse("oidcfed_fetch") # self.result = self.client.get( - # url, data={"sub": intermediary_conf["sub"]}) + # url, data={"sub": intermediary_conf["sub"]}) # elif self.req_counter == 5: # url = reverse("entity_configuration") # self.result = self.client.get( - # url, data={"sub": ta_conf_data["sub"]}) + # url, data={"sub": ta_conf_data["sub"]}) # elif self.req_counter > 5: # raise NotImplementedError( - # "The mocked resposes seems to be not aligned with the correct flow" + # "The mocked resposes seems to be not aligned with the correct flow" # ) # if self.result.status_code != 200: # raise HttpError( - # f"Something went wrong with Http Request: {self.result.__dict__}") + # f"Something went wrong with Http Request: {self.result.__dict__}") # logger.info("-------------------------------------------------") # logger.info("") @@ -120,7 +116,7 @@ def content(self): # self.result = self.rp_ec() # elif self.req_counter == 2: # sa = FederationEntityConfiguration.objects.get( - # sub=intermediary_conf["sub"]) + # sub=intermediary_conf["sub"]) # self.result = DummyContent(sa.entity_configuration_as_jws) # elif self.req_counter == 3: # self.result = DummyContent("crap") @@ -128,27 +124,27 @@ def content(self): # elif self.req_counter == 4: # url = reverse("oidcfed_fetch") # self.result = self.client.get( - # url, - # data={ - # "sub": rp_onboarding_data["sub"], - # "iss": intermediary_conf["sub"], - # }, + # url, + # data={ + # "sub": rp_onboarding_data["sub"], + # "iss": intermediary_conf["sub"], + # }, # ) # elif self.req_counter == 5: # url = reverse("oidcfed_fetch") # self.result = self.client.get( - # url, data={"sub": intermediary_conf["sub"]}) + # url, data={"sub": intermediary_conf["sub"]}) # elif self.req_counter == 6: # url = reverse("entity_configuration") # self.result = self.client.get( - # url, data={"sub": ta_conf_data["sub"]}) + # url, data={"sub": ta_conf_data["sub"]}) # elif self.req_counter > 6: # raise NotImplementedError( - # "The mocked resposes seems to be not aligned with the correct flow" + # "The mocked resposes seems to be not aligned with the correct flow" # ) # if self.result.status_code != 200: # raise HttpError( - # f"Something went wrong with Http Request: {self.result.__dict__}") + # f"Something went wrong with Http Request: {self.result.__dict__}") # try: # return self.result_as_jws() diff --git a/pyeudiw/tests/federation/test_policy.py b/pyeudiw/tests/federation/test_policy.py index c53ceb8a..6a235081 100644 --- a/pyeudiw/tests/federation/test_policy.py +++ b/pyeudiw/tests/federation/test_policy.py @@ -45,7 +45,7 @@ def test_do_sub_one_super_add_combine_superset_of(): assert policy == ['test_a'] -def test_do_sub_one_super_add_subset_of_fail(): +def test_do_superset_of_fail(): SUPERIOR = { "superset_of": set(["test_a", "test_b"]) } @@ -86,16 +86,3 @@ def test_do_value_superset_of_fail(): do_value(SUPERIOR, CHILD, "superset_of") except PolicyError: return - - -def test_do_value_superset_of(): - SUPERIOR = { - "superset_of": set(["test_a", "test_b"]) - } - - CHILD = { - "superset_of": set(["test_a", "test_b"]) - } - - policy = do_value(SUPERIOR, CHILD, "superset_of") - assert policy == set(["test_a", "test_b"]) diff --git a/pyeudiw/tests/federation/test_schema.py b/pyeudiw/tests/federation/test_schema.py index f33804de..e0e2e39d 100644 --- a/pyeudiw/tests/federation/test_schema.py +++ b/pyeudiw/tests/federation/test_schema.py @@ -36,16 +36,16 @@ def test_is_es(): - assert is_es(ta_es) == True + assert is_es(ta_es) def test_is_es_false(): - assert is_es(ta_ec) == False + assert not is_es(ta_ec) def test_is_ec(): - assert is_ec(ta_ec) == True + assert is_ec(ta_ec) def test_is_ec_false(): - assert is_ec(ta_es) == False + assert not is_ec(ta_es) diff --git a/pyeudiw/tests/federation/test_static_trust_chain_validator.py b/pyeudiw/tests/federation/test_static_trust_chain_validator.py index 06f3e2c4..13104e51 100644 --- a/pyeudiw/tests/federation/test_static_trust_chain_validator.py +++ b/pyeudiw/tests/federation/test_static_trust_chain_validator.py @@ -6,7 +6,8 @@ import pyeudiw.federation.trust_chain_validator as tcv_test -from . base import * +from . base import EXP, JWS, NOW, intermediate_ec_signed, intermediate_es, intermediate_jwk, leaf_ec_signed, leaf_jwk, ta_es, ta_es_signed, ta_jwk, trust_chain + def test_is_valid(): assert StaticTrustChainValidator( @@ -34,8 +35,9 @@ def test_is_valid(): def test_is_valid_equals_false(): - assert StaticTrustChainValidator( - invalid_trust_chain, [ta_jwk.serialize()]).is_valid == False + assert not StaticTrustChainValidator( + invalid_trust_chain, [ta_jwk.serialize()] + ).is_valid def test_retrieve_ec(): @@ -105,7 +107,7 @@ def mock_method(*args, **kwargs): invalid_trust_chain, [ta_jwk.serialize()])._update_st(ta_es_signed) == leaf_ec_signed -def test_update_st_es_case_source_endpoint(): +def test_update_st_es_case_no_source_endpoint(): ta_es = { "exp": EXP, @@ -130,7 +132,7 @@ def mock_method_es(*args, **kwargs): with mock.patch.object(tcv_test, "get_entity_statements", mock_method_es): with mock.patch.object(tcv_test, "get_entity_configurations", mock_method_ec): - + assert tcv_test.StaticTrustChainValidator( invalid_trust_chain, [ta_jwk.serialize()])._update_st(ta_es_signed - ) == leaf_ec_signed + ) == leaf_ec_signed diff --git a/pyeudiw/tests/federation/test_trust_chain_builder.py b/pyeudiw/tests/federation/test_trust_chain_builder.py index d2c4e45c..28ddc8b7 100644 --- a/pyeudiw/tests/federation/test_trust_chain_builder.py +++ b/pyeudiw/tests/federation/test_trust_chain_builder.py @@ -1,4 +1,3 @@ -from copy import deepcopy from pyeudiw.federation.trust_chain_builder import TrustChainBuilder from pyeudiw.federation.statements import get_entity_configurations, EntityStatement @@ -14,16 +13,16 @@ def test_trust_chain_valid_no_intermediaries(self, mocker): jwt = get_entity_configurations([ta_ec["sub"]])[0] trust_anchor_ec = EntityStatement(jwt) trust_anchor_ec.validate_by_itself() - + trust_chain = TrustChainBuilder( subject=leaf_ec["sub"], - trust_anchor=trust_anchor_ec, - trust_anchor_configuration = trust_anchor_ec + trust_anchor=trust_anchor_ec.sub, + trust_anchor_configuration=trust_anchor_ec ) - + trust_chain.start() trust_chain.apply_metadata_policy() - + assert trust_chain.is_valid assert trust_chain.final_metadata assert len(trust_chain.trust_path) == 3 diff --git a/pyeudiw/tests/satosa/test_backend.py b/pyeudiw/tests/satosa/test_backend.py index 3949b2ca..aba3b33e 100644 --- a/pyeudiw/tests/satosa/test_backend.py +++ b/pyeudiw/tests/satosa/test_backend.py @@ -6,7 +6,6 @@ from unittest.mock import Mock import pytest -import satosa from bs4 import BeautifulSoup from satosa.context import Context from satosa.internal import InternalData @@ -126,7 +125,7 @@ "url": "mongodb://localhost:27017/", "conf": { "db_name": "eudiw", - "db_sessions_collection": "sessions", + "db_sessions_collection": "sessions", "db_attestations_collection": "chains" }, "connection_params": {} @@ -472,7 +471,8 @@ def test_pre_request_endpoint_mobile(self, context): qs = urllib.parse.parse_qs(parsed.query) assert qs["client_id"][0] == CONFIG["metadata"]["client_id"] - assert qs["request_uri"][0].startswith(CONFIG["metadata"]["request_uris"][0]) + assert qs["request_uri"][0].startswith( + CONFIG["metadata"]["request_uris"][0]) def test_redirect_endpoint(self, context): issuer_jwk = JWK(CONFIG["metadata_jwks"][0]) @@ -549,7 +549,7 @@ def test_redirect_endpoint(self, context): try: redirect_endpoint = self.backend.redirect_endpoint(context) assert redirect_endpoint - except Exception as e: + except Exception: # TODO: this test case must implement the backend requests in the correct order and with the correct nonce and state return # TODO any additional checks after the backend returned the user attributes to satosa core @@ -568,7 +568,8 @@ def test_request_endpoint(self, context): ) pre_request_endpoint = self.backend.pre_request_endpoint( context, internal_data) - state = urllib.parse.unquote(pre_request_endpoint.message).split("=")[-1] + state = urllib.parse.unquote( + pre_request_endpoint.message).split("=")[-1] jwshelper = JWSHelper(PRIVATE_JWK) wia = jwshelper.sign( @@ -627,7 +628,6 @@ def test_request_endpoint(self, context): msg = json.loads(state_endpoint_response.message) assert msg["response"] == "Authentication successful" - def test_handle_error(self, context): error_message = "Error message!" error_resp = self.backend.handle_error(context, error_message) diff --git a/pyeudiw/tests/storage/test_db_engine.py b/pyeudiw/tests/storage/test_db_engine.py index f6faeb9b..7a8cfe36 100644 --- a/pyeudiw/tests/storage/test_db_engine.py +++ b/pyeudiw/tests/storage/test_db_engine.py @@ -23,7 +23,7 @@ "url": "mongodb://localhost:27017/", "conf": { "db_name": "eudiw", - "db_sessions_collection": "sessions", + "db_sessions_collection": "sessions", "db_attestations_collection": "chains" }, "connection_params": {} @@ -32,6 +32,7 @@ } } + class TestMongoDBEngine: @pytest.fixture(autouse=True) def create_engine_instance(self): @@ -42,7 +43,8 @@ def test_init_session(self): state = str(uuid.uuid4()) session_id = str(uuid.uuid4()) - document_id = self.engine.init_session(session_id=session_id, state=state) + document_id = self.engine.init_session( + session_id=session_id, state=state) assert document_id @@ -52,7 +54,8 @@ def test_init_session(self): def test_update_request_object(self): self.nonce = str(uuid.uuid4()) self.state = str(uuid.uuid4()) - request_object = {"request_object": "request_object", "nonce": self.nonce, "state": self.state} + request_object = {"request_object": "request_object", + "nonce": self.nonce, "state": self.state} replica_count = self.engine.update_request_object( self.document_id, request_object) @@ -60,8 +63,8 @@ def test_update_request_object(self): assert replica_count == 1 def test_update_request_object_with_unexistent_id_object(self): - nonce = str(uuid.uuid4()) - state = str(uuid.uuid4()) + str(uuid.uuid4()) + str(uuid.uuid4()) unx_document_id = str(uuid.uuid4()) request_object = {"request_object": "request_object"} diff --git a/pyeudiw/tests/storage/test_mongo_storage.py b/pyeudiw/tests/storage/test_mongo_storage.py index 80df071e..8a837626 100644 --- a/pyeudiw/tests/storage/test_mongo_storage.py +++ b/pyeudiw/tests/storage/test_mongo_storage.py @@ -9,7 +9,8 @@ class TestMongoStorage: @pytest.fixture(autouse=True) def create_storage_instance(self): self.storage = MongoStorage( - {"db_name": "eudiw", "db_sessions_collection": "sessions", "db_attestations_collection": "attestations"}, + {"db_name": "eudiw", "db_sessions_collection": "sessions", + "db_attestations_collection": "attestations"}, "mongodb://localhost:27017/", {} ) @@ -34,7 +35,8 @@ def test_entity_initialization(self): dpop_proof = {"dpop": "test"} attestation = {"attestation": "test"} - self.storage.add_dpop_proof_and_attestation(document_id, dpop_proof=dpop_proof, attestation=attestation) + self.storage.add_dpop_proof_and_attestation( + document_id, dpop_proof=dpop_proof, attestation=attestation) document = self.storage._retrieve_document_by_id(document_id) diff --git a/pyeudiw/trust/__init__.py b/pyeudiw/trust/__init__.py index 7d2941b3..7377f20c 100644 --- a/pyeudiw/trust/__init__.py +++ b/pyeudiw/trust/__init__.py @@ -1,55 +1,68 @@ from datetime import datetime from pyeudiw.federation.trust_chain_validator import StaticTrustChainValidator +from pyeudiw.federation.trust_chain_builder import TrustChainBuilder from pyeudiw.storage.db_engine import DBEngine from pyeudiw.trust.exceptions import NoTrustChainProvided + class TrustEvaluationHelper: def __init__(self, storage: DBEngine, **kwargs): - self.exp = 0 - self.trust_chain = [] + self.exp :int = 0 + self.trust_chain :list = [] self.storage = storage - self.entity_id = None - + self.entity_id :str = "" + for k, v in kwargs.items(): setattr(self, k, v) - + def inspect_evaluation_method(self): - # TODO: implement automatic detection of trust evaluation - # method based on internal trust evaluetion property + # TODO: implement automatic detection of trust evaluation + # method based on internal trust evaluetion property return self.federation - + def _handle_chain(self, trust_chain: list[str]): tc = StaticTrustChainValidator(trust_chain) self.entity_id = tc.get_entityID() - + _is_valid = tc.is_valid self.exp = tc.get_exp() if not _is_valid: - db_chain = self.storage.find_chain(self.entity_id)["federation"]["chain"] - + db_chain = self.storage.find_chain(self.entity_id)[ + "federation"]["chain"] + if db_chain is not None and \ - StaticTrustChainValidator(db_chain).is_valid: + StaticTrustChainValidator(db_chain).is_valid: return True _is_valid = tc.update() self.exp = tc.get_exp() self.trust_chain = tc.get_chain() - + if db_chain is None: - self.storage.add_chain(self.entity_id, tc.get_chain(), datetime.fromtimestamp(tc.get_exp())) + self.storage.add_chain( + self.entity_id, tc.get_chain(), datetime.fromtimestamp(tc.get_exp())) else: - self.storage.update_chain(self.entity_id, tc.get_chain(), datetime.fromtimestamp(tc.get_exp())) + self.storage.update_chain( + self.entity_id, tc.get_chain(), datetime.fromtimestamp(tc.get_exp())) return _is_valid - - def federation(self): - trust_chain = getattr(self, "trust_chain", None) + + def federation(self) -> list: + if self.trust_chain: + return self._handle_chain(self.trust_chain) + + # TODO - at least a TA entity id is required for a discovery process + # _tc = TrustChainBuilder( + # subject= self.entity_id, + # trust_anchor=trust_anchor_ec, + # trust_anchor_configuration=trust_anchor_ec + # ) + # if _tc.is_valid: + # self.trust_chain = _tc.serialize() + # return self.trust_chain - if trust_chain: - return self._handle_chain(trust_chain) + return [] - raise NoTrustChainProvided("This instance of TrustEvaluationHelper has no \"trust_chain\" field") - def x509(self): - pass \ No newline at end of file + raise NotImplementedError("X.509 is not supported in this release") diff --git a/pyeudiw/trust/exceptions.py b/pyeudiw/trust/exceptions.py index 6289e3ac..19fc8cf6 100644 --- a/pyeudiw/trust/exceptions.py +++ b/pyeudiw/trust/exceptions.py @@ -1,2 +1,2 @@ class NoTrustChainProvided(Exception): - pass \ No newline at end of file + pass From 0a5cb060f9fee337d4b360715208513deb70e138 Mon Sep 17 00:00:00 2001 From: peppelinux Date: Wed, 9 Aug 2023 23:53:15 +0200 Subject: [PATCH 50/53] v0.3.0 --- pyeudiw/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyeudiw/__init__.py b/pyeudiw/__init__.py index d3ec452c..493f7415 100644 --- a/pyeudiw/__init__.py +++ b/pyeudiw/__init__.py @@ -1 +1 @@ -__version__ = "0.2.0" +__version__ = "0.3.0" From ca621276419502c42e9bfdb827d59bc5a6a1a589 Mon Sep 17 00:00:00 2001 From: peppelinux Date: Thu, 10 Aug 2023 00:07:22 +0200 Subject: [PATCH 51/53] chore: cleanup --- .../schemas/wallet_relying_party.py | 6 +- pyeudiw/satosa/backend.py | 66 +++++++++++-------- pyeudiw/storage/db_engine.py | 4 +- pyeudiw/storage/mongo_storage.py | 14 ++-- .../test_static_trust_chain_validator.py | 9 +-- pyeudiw/tools/schema_utils.py | 6 +- 6 files changed, 60 insertions(+), 45 deletions(-) diff --git a/pyeudiw/federation/schemas/wallet_relying_party.py b/pyeudiw/federation/schemas/wallet_relying_party.py index 3b89c03a..b84578c5 100644 --- a/pyeudiw/federation/schemas/wallet_relying_party.py +++ b/pyeudiw/federation/schemas/wallet_relying_party.py @@ -74,8 +74,10 @@ def _check_algorithms(cls, algorithms: list[str], name: str, info: FieldValidati name, info) for alg in algorithms: if alg not in supported_algorithms: - raise ValueError(f"Unsupported algorithm: {alg} for {name}.\n " - f"Supported algorithms: {supported_algorithms}.\n") + raise ValueError( + f"Unsupported algorithm: {alg} for {name}. " + f"Supported algorithms: {supported_algorithms}." + ) return algorithms @field_validator( diff --git a/pyeudiw/satosa/backend.py b/pyeudiw/satosa/backend.py index 1d799849..af5838de 100644 --- a/pyeudiw/satosa/backend.py +++ b/pyeudiw/satosa/backend.py @@ -91,7 +91,7 @@ def __init__(self, auth_callback_func, internal_attributes, config, base_url, na logger.debug( lu.LOG_FMT.format( id="OpenID4VP init", - message=f"Loaded configuration:\n{json.dumps(config)}" + message=f"Loaded configuration: {json.dumps(config)}" ) ) @@ -186,14 +186,16 @@ def pre_request_endpoint(self, context, internal_request, **kwargs): session_id=session_id ) except Exception as e: - _msg = (f"Error while initializing session with state {state} and {session_id}.\n" - f"{e.__class__.__name__}: {e}") + _msg = ( + f"Error while initializing session with state {state} and {session_id}. " + f"{e.__class__.__name__}: {e}" + ) return self.handle_error(context, message=_msg, err_code="500") # PAR payload = { 'client_id': self.client_id, - 'request_uri': self.absolute_request_url + f'?id={state}', + 'request_uri': f"{self.absolute_request_url}?id={state}", } url_params = urlencode(payload, quote_via=quote_plus) @@ -211,7 +213,7 @@ def pre_request_endpoint(self, context, internal_request, **kwargs): qrcode = QRCode(res_url, **self.config['qrcode']) result = self.template.qrcode_page.render( - {"title": "frame the qrcode", 'qrcode_base64': qrcode.to_base64()} + {"title": "Frame the qrcode", 'qrcode_base64': qrcode.to_base64()} ) return Response(result, content="text/html; charset=utf8", status="200") @@ -253,12 +255,14 @@ def _validate_trust(self, jws: str) -> None: is_trusted = trust_eval.inspect_evaluation_method() if not is_trusted(): raise NotTrustedFederationError( - f"{trust_eval.entity_id} is not trusted") + f"{trust_eval.entity_id} is not trusted" + ) def _handle_vp(self, vp_token: str) -> dict: self._validate_trust(vp_token) valid, value = check_vp_token( - vp_token, None, self.metadata_jwks_by_kids) + vp_token, None, self.metadata_jwks_by_kids + ) if not valid: raise InvalidVPToken("Invalid vp_token") @@ -297,7 +301,6 @@ def redirect_endpoint(self, context, *args): raise BadRequestError(_msg) # TODO: get state, do lookup on the db -> if not -> exception - # TODO Fix this field handling state = decrypted_data.get("state", None) if not state: _msg = f"Response state missing" @@ -344,9 +347,11 @@ def redirect_endpoint(self, context, *args): if not nonce: nonce = result["nonce"] elif nonce != result["nonce"]: - return self.handle_error(context=self, - message=f"Presentation has divergent nonces:\n{nonce}!={result['nonce']}", - err_code="401") + return self.handle_error( + context=self, + message=f"Presentation has divergent nonces: {nonce} != {result['nonce']}", + err_code="401" + ) else: claims.append(result["claims"]) @@ -362,8 +367,10 @@ def redirect_endpoint(self, context, *args): for claim in claims: all_user_claims.update(claim) - self._log(context, level='debug', - message=f"Wallet disclosure: {all_user_claims}") + self._log( + context, level='debug', + message=f"Wallet disclosure: {all_user_claims}" + ) # TODO: define "issuer" ... it MUST be not an empty dictionary _info = {"issuer": {}} @@ -389,9 +396,10 @@ def _request_endpoint_dpop(self, context, *args) -> Union[JsonResponse, None]: # using the TA public key validate trust_chain and or x5c # take WIA - wia = unpad_jwt_payload(context.http_headers['HTTP_AUTHORIZATION']) - - dpop_jws = context.http_headers['HTTP_AUTHORIZATION'].split()[1] + + http_authz = context.http_headers['HTTP_AUTHORIZATION'] + wia = unpad_jwt_payload(http_authz) + dpop_jws = http_authz.split()[1] self._validate_trust(dpop_jws) # TODO: validate wia scheme using pydantic try: @@ -423,10 +431,9 @@ def _request_endpoint_dpop(self, context, *args) -> Union[JsonResponse, None]: ) # TODO: assert and configure the wallet capabilities - # TODO: assert and configure the wallet Attested Security Context + # TODO: assert and configure the wallet Attested Security Context else: - # TODO - check that this logging system works ... _msg = ( "The Wallet Instance didn't provide its Wallet Instance Attestation " "a default set of capabilities and a low security level are accorded." @@ -443,8 +450,10 @@ def request_endpoint(self, context, *args): try: state = context.qs_params["id"] except Exception as e: - _msg = "Error while retrieving id from qs_params: "\ + _msg = ( + "Error while retrieving id from qs_params: " f"{e.__class__.__name__}: {e}" + ) return self.handle_error(context, message=_msg, err_code="403") try: @@ -465,7 +474,7 @@ def request_endpoint(self, context, *args): "state": state, "iss": self.client_id, "iat": iat_now(), - "exp": iat_now() + (self.default_exp * 60) # in seconds + "exp": exp_from_now(minutes = 5) } try: @@ -476,8 +485,10 @@ def request_endpoint(self, context, *args): self.db_engine.update_request_object(document_id, data) self.db_engine.set_finalized(document_id) except ValueError as e: - _msg = "Error while retrieving request object from database: "\ - f"{e.__class__.__name__}: {e}" + _msg = ( + "Error while retrieving request object from database: " + f"{e.__class__.__name__}: {e}" + ) return self.handle_error(context, message=_msg, err_code="403") except Exception as e: _msg = f"Error while updating request object: {e}" @@ -486,7 +497,6 @@ def request_endpoint(self, context, *args): helper = JWSHelper(self.metadata_jwk) jwt = helper.sign(data) response = {"response": jwt} - return JsonResponse( response, status="200" @@ -497,10 +507,10 @@ def handle_error( context: dict, message: str, troubleshoot: str = "", - err="", - err_code="500", - template_path="templates", - error_template="error.html", + err = "", + err_code = "500", + template_path = "templates", + error_template = "error.html", ): # TODO: evaluate with UX designers if Jinja2 template @@ -531,7 +541,7 @@ def state_endpoint(self, context): session = self.db_engine.get_by_state_and_session_id( state=state, session_id=session_id) except ValueError as e: - _msg = f"Error while retrieving session by state {state} and session_id {session_id}.\n{e}" + _msg = f"Error while retrieving session by state {state} and session_id {session_id}: {e}" return self.handle_error(context, message=_msg, err_code="403") if session["finalized"]: diff --git a/pyeudiw/storage/db_engine.py b/pyeudiw/storage/db_engine.py index 074a0687..24248396 100644 --- a/pyeudiw/storage/db_engine.py +++ b/pyeudiw/storage/db_engine.py @@ -52,8 +52,8 @@ def init_session(self, session_id: str, state: str) -> str: document_id, session_id=session_id, state=state) except Exception as e: logger.critical( - f"Error while initializing session with document_id {document_id}." - f"Cannot write document with id {document_id} on {db_name}.\n" + f"Error while initializing session with document_id {document_id}. " + f"Cannot write document with id {document_id} on {db_name}: " f"{e.__class__.__name__}: {e}") return document_id diff --git a/pyeudiw/storage/mongo_storage.py b/pyeudiw/storage/mongo_storage.py index 0d3b4802..a622627b 100644 --- a/pyeudiw/storage/mongo_storage.py +++ b/pyeudiw/storage/mongo_storage.py @@ -21,12 +21,15 @@ def __init__(self, conf: dict, url: str, connection_params: dict = None) -> None def _connect(self): if not self.client or not self.client.server_info(): self.client = pymongo.MongoClient( - self.url, **self.connection_params) + self.url, **self.connection_params + ) self.db = getattr(self.client, self.storage_conf["db_name"]) self.sessions = getattr( - self.db, self.storage_conf["db_sessions_collection"]) + self.db, self.storage_conf["db_sessions_collection"] + ) self.attestations = getattr( - self.db, self.storage_conf["db_attestations_collection"]) + self.db, self.storage_conf["db_attestations_collection"] + ) def _retrieve_document_by_id(self, document_id: str) -> dict: self._connect() @@ -137,9 +140,7 @@ def set_finalized(self, document_id: str): def update_response_object(self, nonce: str, state: str, response_object: dict): document = self._retrieve_document_by_nonce_state(nonce, state) - document_id = document["_id"] - documentStatus = self.sessions.update_one( {"_id": document_id}, {"$set": @@ -189,8 +190,7 @@ def update_trust_attestation(self, entity_id: str, trust_chain: list[str], exp: "chain": trust_chain, "exp": exp } - }, + } } ) - return documentStatus diff --git a/pyeudiw/tests/federation/test_static_trust_chain_validator.py b/pyeudiw/tests/federation/test_static_trust_chain_validator.py index 13104e51..e59cdcfa 100644 --- a/pyeudiw/tests/federation/test_static_trust_chain_validator.py +++ b/pyeudiw/tests/federation/test_static_trust_chain_validator.py @@ -24,8 +24,9 @@ def test_is_valid(): invalid_intermediate, alg="RS256", typ="application/entity-statement+jwt" ) -invalid_intermediate_es_signed = intermediate_signer.sign_compact([ - intermediate_jwk]) +invalid_intermediate_es_signed = intermediate_signer.sign_compact( + [intermediate_jwk] +) invalid_trust_chain = [ leaf_ec_signed, @@ -134,5 +135,5 @@ def mock_method_es(*args, **kwargs): with mock.patch.object(tcv_test, "get_entity_configurations", mock_method_ec): assert tcv_test.StaticTrustChainValidator( - invalid_trust_chain, [ta_jwk.serialize()])._update_st(ta_es_signed - ) == leaf_ec_signed + invalid_trust_chain, [ta_jwk.serialize()] + )._update_st(ta_es_signed) == leaf_ec_signed diff --git a/pyeudiw/tools/schema_utils.py b/pyeudiw/tools/schema_utils.py index 69e2530c..9240de53 100644 --- a/pyeudiw/tools/schema_utils.py +++ b/pyeudiw/tools/schema_utils.py @@ -22,5 +22,7 @@ def check_algorithm(alg: str, info: FieldValidationInfo): if not isinstance(supported_algorithms, list): supported_algorithms = [] if alg not in supported_algorithms: - raise ValueError(f"Unsupported algorithm: {alg}.\n " - f"Supported algorithms: {supported_algorithms}.\n") + raise ValueError( + f"Unsupported algorithm: {alg}. " + f"Supported algorithms: {supported_algorithms}." + ) From 94c8d003bdd09ffbc1f10ca4c282e12e3601ddf1 Mon Sep 17 00:00:00 2001 From: peppelinux Date: Thu, 10 Aug 2023 00:08:34 +0200 Subject: [PATCH 52/53] fix: missing import --- pyeudiw/satosa/backend.py | 14 +++++++------- pyeudiw/storage/db_engine.py | 6 +++--- pyeudiw/storage/mongo_storage.py | 2 +- pyeudiw/trust/__init__.py | 14 ++++++-------- 4 files changed, 17 insertions(+), 19 deletions(-) diff --git a/pyeudiw/satosa/backend.py b/pyeudiw/satosa/backend.py index af5838de..df10b1be 100644 --- a/pyeudiw/satosa/backend.py +++ b/pyeudiw/satosa/backend.py @@ -21,7 +21,7 @@ from pyeudiw.satosa.response import JsonResponse from pyeudiw.tools.mobile import is_smartphone from pyeudiw.tools.qr_code import QRCode -from pyeudiw.tools.utils import iat_now +from pyeudiw.tools.utils import iat_now, exp_from_now from pyeudiw.openid4vp import check_vp_token from pyeudiw.openid4vp.exceptions import KIDNotFound from pyeudiw.storage.db_engine import DBEngine @@ -396,7 +396,7 @@ def _request_endpoint_dpop(self, context, *args) -> Union[JsonResponse, None]: # using the TA public key validate trust_chain and or x5c # take WIA - + http_authz = context.http_headers['HTTP_AUTHORIZATION'] wia = unpad_jwt_payload(http_authz) dpop_jws = http_authz.split()[1] @@ -474,7 +474,7 @@ def request_endpoint(self, context, *args): "state": state, "iss": self.client_id, "iat": iat_now(), - "exp": exp_from_now(minutes = 5) + "exp": exp_from_now(minutes=5) } try: @@ -507,10 +507,10 @@ def handle_error( context: dict, message: str, troubleshoot: str = "", - err = "", - err_code = "500", - template_path = "templates", - error_template = "error.html", + err="", + err_code="500", + template_path="templates", + error_template="error.html", ): # TODO: evaluate with UX designers if Jinja2 template diff --git a/pyeudiw/storage/db_engine.py b/pyeudiw/storage/db_engine.py index 24248396..bd949f8c 100644 --- a/pyeudiw/storage/db_engine.py +++ b/pyeudiw/storage/db_engine.py @@ -226,7 +226,7 @@ def overwrite(self, object_name: str, value_gen_fn: Callable[[], str]) -> dict: return cache_object - def exists_by_state_and_session_id(self, state: str, session_id :str = "") -> bool: + def exists_by_state_and_session_id(self, state: str, session_id: str = "") -> bool: for db_name, storage in self.storages: found = storage.exists_by_state_and_session_id( state=state, session_id=session_id) @@ -237,7 +237,7 @@ def exists_by_state_and_session_id(self, state: str, session_id :str = "") -> bo def get_by_state(self, state: str): return self.get_by_state_and_session_id(state=state) - def get_by_state_and_session_id(self, state: str, session_id :str = ""): + def get_by_state_and_session_id(self, state: str, session_id: str = ""): for db_name, storage in self.storages: try: document = storage._retrieve_document_by_state_and_session_id( @@ -246,7 +246,7 @@ def get_by_state_and_session_id(self, state: str, session_id :str = ""): except ValueError: logger.debug( f"Document object with state {state} and session_id {session_id} not found in db {db_name}") - + _msg = f"Document object with state {state} and session_id {session_id} not found" logger.error(_msg) raise ValueError(_msg) diff --git a/pyeudiw/storage/mongo_storage.py b/pyeudiw/storage/mongo_storage.py index a622627b..59a5510b 100644 --- a/pyeudiw/storage/mongo_storage.py +++ b/pyeudiw/storage/mongo_storage.py @@ -54,7 +54,7 @@ def _retrieve_document_by_nonce_state(self, nonce: str, state: str | None) -> di return document - def _retrieve_document_by_state_and_session_id(self, state: str, session_id :str = ""): + def _retrieve_document_by_state_and_session_id(self, state: str, session_id: str = ""): self._connect() query = {"state": state} diff --git a/pyeudiw/trust/__init__.py b/pyeudiw/trust/__init__.py index 7377f20c..9c068412 100644 --- a/pyeudiw/trust/__init__.py +++ b/pyeudiw/trust/__init__.py @@ -1,16 +1,14 @@ from datetime import datetime from pyeudiw.federation.trust_chain_validator import StaticTrustChainValidator -from pyeudiw.federation.trust_chain_builder import TrustChainBuilder from pyeudiw.storage.db_engine import DBEngine -from pyeudiw.trust.exceptions import NoTrustChainProvided class TrustEvaluationHelper: def __init__(self, storage: DBEngine, **kwargs): - self.exp :int = 0 - self.trust_chain :list = [] + self.exp: int = 0 + self.trust_chain: list = [] self.storage = storage - self.entity_id :str = "" + self.entity_id: str = "" for k, v in kwargs.items(): setattr(self, k, v) @@ -60,9 +58,9 @@ def federation(self) -> list: # ) # if _tc.is_valid: # self.trust_chain = _tc.serialize() - # return self.trust_chain - + # return self.trust_chain + return [] - + def x509(self): raise NotImplementedError("X.509 is not supported in this release") From 32bf96e097ae02474f2ce114fab2436c782800bf Mon Sep 17 00:00:00 2001 From: Salvatore Laiso <32564922+salvatorelaiso@users.noreply.github.com> Date: Thu, 10 Aug 2023 00:11:12 +0200 Subject: [PATCH 53/53] ci: html linting (#86) * ci: html linting * refactor: align linting script with CI --- .github/workflows/python-app.yml | 19 +++++++++++++++++++ linting.sh | 20 +++++++++++++++++--- 2 files changed, 36 insertions(+), 3 deletions(-) diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-app.yml index 891450bd..55315df5 100644 --- a/.github/workflows/python-app.yml +++ b/.github/workflows/python-app.yml @@ -64,3 +64,22 @@ jobs: - name: Bandit Security Scan run: | bandit -r -x pyeudiw/tests* pyeudiw/* + - name: Lint with html linter + run: | + echo -e '\nHTML:' + readarray -d '' array < <(find $SRC example -name "*.html" -print0) + echo "Running linter on (${#array[@]}): " + printf '\t- %s\n' "${array[@]}" + echo "Linter output:" + + for file in "${array[@]}" + do + echo -e "\n$file:" + html_lint.py "$file" | awk -v path="file://$PWD/$file:" '$0=path$0' | sed -e 's/: /:\n\t/'; + done + + for file in "${array[@]}" + do + errors=$(html_lint.py "$file" | grep -c 'Error') + if [ "$errors" -gt 0 ]; then exit 1; fi; + done diff --git a/linting.sh b/linting.sh index 6df0f3d7..ff4fc5d4 100755 --- a/linting.sh +++ b/linting.sh @@ -11,8 +11,22 @@ flake8 $SRC --max-line-length 120 --count --statistics bandit -r -x $SRC/test* $SRC/* echo -e '\nHTML:' -shopt -s globstar nullglob -for file in **/*.html +readarray -d '' array < <(find $SRC example -name "*.html" -print0) +echo "Running linter on (${#array[@]}): " +printf '\t- %s\n' "${array[@]}" +echo "Linter output:" + +for file in "${array[@]}" do - html_lint.py "$file" | awk -v path="file://$PWD/$file:" '$0=path$0' | sed -e 's/: /:\n\t/' + echo -e "\n$file:" + html_lint.py "$file" | awk -v path="file://$PWD/$file:" '$0=path$0' | sed -e 's/: /:\n\t/'; done + +errors=0 +for file in "${array[@]}" +do + errors=$((errors + $(html_lint.py "$file" | grep -c 'Error'))) +done + +echo -e "\nHTML errors: $errors" +if [ "$errors" -gt 0 ]; then exit 1; fi;

>FOSh-FHD`2NSeV)uD&_;5AYJ%Ago|7 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%0AuX}n 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