6.3. Catalogo degli Attestati Elettronici¶
Il Catalogo degli Attestati Elettronici è il registro di tutti gli Attestati Elettronici disponibili riconosciuti all'interno dell'ecosistema IT-Wallet. È pubblicato dal Trust Anchor ed è pubblicamente disponibile per tutte le Entità attraverso un endpoint di Federazione specializzato. Funge da punto di riferimento unico per tutti gli attori coinvolti nel processo di emissione, verifica e utilizzo degli Attestati Elettronici.
Il Catalogo degli Attestati Elettronici mira a:
Facilitare la discovery degli Attestati Elettronici per gli Utenti.
Standardizzare la descrizione tecnica e funzionale degli Attestati Elettronici.
Abilitare l'interoperabilità tra diversi Fornitori di Attestati Elettronici e Relying Party.
Semplificare il processo di integrazione per i Fornitori di Wallet e le Relying Party.
Garantire la fiducia nell'ecosistema attraverso informazioni certificate.
Fornire trasparenza sull'ecosistema degli Attestati Elettronici disponibili.
Le principali Entità coinvolte nel Catalogo degli Attestati Elettronici sono:
Trust Anchor: Gestisce e mantiene il Catalogo degli Attestati Elettronici, garantendone l'autenticità e l'integrità.
Organismo di Supervisione: Interagisce con il Trust Anchor e il Catalogo degli Attestati Elettronici per monitorare la fase di registrazione garantendo sicurezza e privacy secondo le normative nazionali/europee, mantenendo tutte le informazioni affidabili e aggiornate.
Fornitori di Attestati Elettronici: Le entità autorizzate a emettere Attestati Elettronici, registrandoli nel Catalogo.
Relying Party: Utilizzano il Catalogo degli Attestati Elettronici per raccogliere tutte le informazioni necessarie sugli Attestati Elettronici che intendono richiedere durante la fase di presentazione.
Fornitori di Wallet: Accedono al Catalogo degli Attestati Elettronici per identificare gli Attestati Elettronici disponibili e per recuperare tutte le informazioni necessarie per integrarli nelle loro Soluzioni Tecniche.
Utenti: Gli Utenti che utilizzano indirettamente il Catalogo degli Attestati Elettronici attraverso le loro Istanze del Wallet per visualizzare e richiedere Attestati Elettronici.
Fonti Autentiche: Le Entità che detengono i dati originali attestati negli Attestati Elettronici. Forniscono supporto ai Fornitori di Attestati Elettronici nella registrazione degli stessi nel Catalogo.
Fig. 6.6 Diagramma Entità-Relazione del Catalogo degli Attestati Elettronici.¶
La seguente tabella riassume le principali informazioni che DEVONO essere fornite dal Catalogo degli Attestati Elettronici:
Informazioni relative a |
Descrizione |
---|---|
Metadati dell'Attestato Elettronico |
Informazioni identificative essenziali e caratteristiche dell'Attestato Elettronico, tra cui:
|
Fornitori di Attestati Elettronici |
Dettagli sull'organizzazione autorizzata a emettere l'Attestato Elettronico, come:
|
Fonti Autentiche |
Informazioni sulla Fonte Autentica dei dati, come:
|
Specifiche Tecniche |
Dettagli tecnici, tra cui:
|
Termini di Utilizzo |
Condizioni e limitazioni per l'utilizzo dell'Attestato Elettronico, come:
|
Attributi dell'Utente e Riferimenti Tassonomici |
Informazioni sul contenuto e sulla classificazione:
|
Il Trust Anchor DEVE pubblicare e mantenere aggiornate tutte le informazioni all'endpoint .well-known del Catalogo degli Attestati Elettronici garantendo l'affidabilità, l'autenticità e l'integrità dei dati. In particolare, il Catalogo degli Attestati Elettronici, gli attributi e la tassonomia DEVONO essere disponibili attraverso l'endpoint .well-known/credential-catalogue
.
6.3.1. Categorie di Attestati Elettronici¶
Gli Attestati Elettronici riconosciuti all'interno dell'ecosistema IT-Wallet sono classificati gerarchicamente e standardizzati secondo i seguenti domini e categorie principali. Categorie aggiuntive POSSONO essere aggiunte man mano che l'ecosistema IT-Wallet cresce.
Dominio |
Categoria |
Descrizione |
---|---|---|
IDENTITY |
|
Attestati Elettronici che stabiliscono o verificano l'identità di una persona, inclusi documenti di identità fisici e digitali legalmente riconosciuti dalle leggi nazionali. |
AUTHORIZATION |
|
Attestati Elettronici che concedono permessi specifici, diritti o autorizzazioni per svolgere determinate attività o accedere ad aree ristrette. |
EDUCATION |
|
Credenziali relative a titoli di studio, qualifiche e certificati professionali. |
HEALTH |
|
Attestati Elettronici relativi all'accesso all'assistenza sanitaria, alla storia medica, alla copertura assicurativa e ai documenti relativi alla salute. |
FINANCIAL |
|
Attestati Elettronici che attestano lo stato finanziario, i livelli di reddito, la tassazione o la situazione economica di individui o famiglie. |
MEMBERSHIP |
|
Attestati Elettronici che confermano l'affiliazione a organizzazioni, la partecipazione a programmi o lo stato di appartenenza. |
ATTESTATION |
|
Attestati Elettronici che forniscono dichiarazioni ufficiali, conferme di stato o certificazioni rilasciate dalle autorità. |
6.3.2. Struttura del Catalogo degli Attestati Elettronici¶
Il contenuto del Catalogo degli Attestati Elettronici è protetto in un JWS che contiene i seguenti parametri dell'header JOSE:
Header JOSE |
Descrizione |
Riferimento |
---|---|---|
typ |
OBBLIGATORIO. DEVE essere valorizzato con la stringa |
[RFC 7515 Sezione 4.1.9]. |
alg |
OBBLIGATORIO. Un identificativo di algoritmo di firma digitale come da registro IANA "JSON Web Signature and Encryption Algorithms". DEVE essere uno degli algoritmi supportati nella Sezione Algoritmi Crittografici e NON DEVE essere impostato a |
[RFC 7515 Sezione 4.1.1]. |
kid |
OBBLIGATORIO. Identificativo univoco della chiave pubblica. |
[RFC 7515 Sezione 4.1.4]. |
x5c |
OPZIONALE. Contiene il Certificato di chiave pubblica X.509 o la catena di Certificati [RFC 5280] corrispondente alla chiave utilizzata per firmare digitalmente il JWS. Quando il valore del parametro dell'header kid è presente, DEVE riferirsi alla stessa chiave pubblica crittografica della foglia attestata dal Certificato X.509. |
[RFC 7515 Sezione 4.1.6.]. |
cty |
OBBLIGATORIO. DEVE essere impostato a |
[RFC 7515 Sezione 4.1.6.]. |
Il payload JWS contiene i seguenti parametri:
Nome |
Descrizione |
---|---|
catalog_version |
OBBLIGATORIO. Versione del formato del Catalogo degli Attestati Elettronici. |
iss |
OBBLIGATORIO. Identificativo del Fornitore del Catalogo degli Attestati Elettronici. |
last_modified |
OBBLIGATORIO. Timestamp dell'ultima modifica al Catalogo degli Attestati Elettronici. |
taxonomy_uri |
OBBLIGATORIO. URI del documento di riferimento della tassonomia degli attributi. |
taxonomy_uri#integrity |
OPZIONALE. Digest crittografico del documento di tassonomia per la verifica dell'integrità. |
credentials |
OBBLIGATORIO. Array contenente le definizioni degli Attestati Elettronici. |
Ogni elemento dell'array credentials
contiene almeno le seguenti informazioni:
Nome del Campo |
Descrizione |
---|---|
version |
OBBLIGATORIO. Versione della definizione dell'Attestato Elettronico. |
credential_type |
OBBLIGATORIO. Identificativo univoco del tipo di Attestato Elettronico. |
legal_type |
OBBLIGATORIO. Classificazione legale della Credenziale (es., |
localization |
OPZIONALE. Impostazioni di localizzazione, inclusi:
|
name |
OBBLIGATORIO. Nome human-readable dell'Attestato Elettronico. Un suffisso |
description |
OBBLIGATORIO. Descrizione human-readable dell'Attestato Elettronico. Un suffisso |
restriction_policy |
OPZIONALE. Restrizioni legali sulle Soluzioni tecniche di Fornitori di Wallet e/o di Attestati Elettronici autorizzati a richiedere/emettere un Attestato Elettronico.
|
pricing_policy |
OPZIONALE. Informazioni sui tariffari dell'Attestato Elettronico, come ad esempio:
|
validity_info |
Informazioni sulla validità dell'Attestato Elettronico, inclusi almeno:
|
authentication |
OBBLIGATORIO. Requisiti di autenticazione dell'Attestato Elettronico
|
purposes |
OBBLIGATORIO. Array di scopi o ambiti specifici per cui l'Attestato Elettronico può essere utilizzato, definendo contesti di utilizzo specifici e attributi richiesti per ciascuno scopo, come:
|
issuers |
OBBLIGATORIO. Array di informazioni rilevanti sui Fornitori di Attestato Elettronico autorizzati, inclusi dati amministrativi e tecnici come il nome dell'Organizzazione, un riferimento al documento di specifiche API e meccanismi di emissione supportati (ad esempio il supporto al deferred flow). |
authentic_sources |
OBBLIGATORIO. Array di informazioni rilevanti sulle Fonti Autentiche autorizzate, inclusi dati amministrativi e tecnici relativi alla fornitura di dati ai Fornitori di Attestato Elettronico. |
formats |
OBBLIGATORIO. Array di formati tecnici supportati degli Attestati Elettronici. |
display_properties |
OBBLIGATORIO. Proprietà di presentazione visiva degli Attestati Elettronici, ad es.:
|
claims |
OBBLIGATORIO. Array di claims contenuti nell'Attestato Elettronico. |
L'esempio corrispondente del Catalogo degli Attestati Elettronici decodificato in JSON sia per l'header che per il payload è il seguente:
{
"typ":"JOSE",
"alg":"ES256",
"kid":"e9bc097a-ce51-4036-9562-d2ade882db0d",
"cty":"application/json"
}
{
"catalog_version": "1.0",
"iss": "https://trust-registry.eid-wallet.example.it",
"last_modified": "2025-03-15T12:00:00Z",
"taxonomy_uri": "https://trust-registry.eid-wallet.example.it/.well-known/credential-taxonomy",
"taxonomy_uri#integrity": "sha256-LmXfh-9cLlJNXN-TsMk-PmKjZ5t0WRL5ca_xGgX3c1V",
"credentials": [
{
"version": "1.0",
"credential_type": "mDL",
"legal_type": "pub-eaa",
"localization": {
"default_locale": "it",
"available_locales": ["en", "it", "fr", "de"],
"base_uri": "https://trust-registry.eid-wallet.example.it/.well-known/l10n/mdl/",
"version": "1.0.0"
},
"name_l10n_id": "credential.mdl.name",
"description_l10n_id": "credential.mdl.description",
"restriction_policy": {
"allowed_wallet_ids": [
"https://wallet-provider.example.org/wallet_solution",
"https://wallet-provider2.example.org/wallet_solution"
],
"allowed_issuer_ids": [
"https://issuer.example.org"
]
},
"pricing_policy": {
"models": [
{
"pricing_type": "verification_based",
"price": 0.01,
"currency": "EUR"
}
],
"pricing_model_uri": "https://example.com/pricing"
},
"validity_info": {
"max_validity_days": 365,
"status_methods": ["status_list"],
"allowed_states": [
"valid",
"revoked",
"suspended"
]
},
"authentication": {
"user_auth_required": true,
"min_loa": "high",
"supported_schemes": ["it-wallet"]
},
"purposes": [
{
"id": "driving-authorization",
"description_l10n_id": "purpose.driving_authorization.description",
"category": "AUTHORIZATION",
"subcategory": "DRIVING_LICENSE",
"claims_required": ["family_name", "given_name", "issue_date", "expiry_date", "issuing_authority", "document_number", "portrait", "driving_privileges", "un_distinguishing_sign"],
"claim_recommended": ["birth_date", "un_distinguishing_sign", "issuing_country", "issuing_jurisdiction"]
},
{
"id": "person-identification",
"description_l10n_id": "purpose.person_identification.description",
"category": "IDENTITY",
"subcategory": "PERSON_IDENTIFICATION",
"claims_required": ["family_name", "given_name", "birth_date", "portrait", "document_number"],
"claim_recommended": ["expiry_date", "issuing_authority"]
}
],
"issuers": [
{
"id": "https://issuer.example.org",
"organization_name": "Digital Credential Issuer of Example",
"organization_code": "ci_example_it",
"organization_country": "IT",
"contacts": [
"mailto:informazioni@example.it",
"mailto:protocollo@pec.example.it"
],
"legal_type": "pub-eaa",
"homepage_uri": "https://issuer.example.org",
"logo_uri": "https://issuer.example.org/logo.svg",
"policy_uri": "https://issuer.example.org/privacy",
"tos_uri": "https://issuer.example.org/terms",
"service_documentation": "https://issuer.example.org/.well-known/service-doc",
"issuance_flows": {
"deferred_flow": true,
"max_deferred_issuance_time_minutes": 1440,
"notification_methods": ["push", "polling"]
}
}
],
"authentic_sources": [
{
"id": "https://authentic-sources.example.org",
"organization_name": "Authentic Source of Example",
"organization_code": "as_example_it",
"organization_country": "IT",
"contacts": [
"mailto:informazioni@example.it",
"mailto:protocollo@pec.example.it"
],
"homepage_uri": "https://authsource.example.com/",
"logo_uri": "https://authsource.example.com/img/logo.svg",
"source_type": "public",
"service_documentation": "https://authentic-sources.example.org/.well-known/service-doc",
"data_provision": {
"immediate_flow": false,
"deferred_flow": true,
"max_response_time_minutes": 60,
"notification_methods": ["push"]
}
}
],
"formats": [
{
"configuration_id": "dc_sd_jwt_mDL",
"format": "dc+sd-jwt",
"schema_uri": "https://trust-registry.eid-wallet.example.it/.well-known/schemas/sd-jwt/mDL",
"schema_uri#integrity": "sha256-c8b708728e4c5756e35c03aeac257ca878d1f717d7b61f621be4d36dbd9b9c16"
},
{
"configuration_id": "mso_mdoc_mDL",
"format": "mso_mdoc",
"schema_uri": "https://trust-registry.eid-wallet.example.it/.well-known/schemas/mdoc/mDL",
"schema_uri#integrity": "sha256-c8b708728e4c5756e35c03aeac257ca878d1f717d7b61f621be4d36dbd9b9c16"
}
],
"display_properties": {
"templates": [
{
"authentic_source_id": "https://authentic-sources.example.org",
"template_uri": "https://authsource.example.com/.well-known/templates/mDL.svg",
"template_uri#integrity": "sha256-8cLlJNXN-TsMk-PmKjZ5t0WRL5ca_xGgX3c1VLmXfh-9c",
"properties": {
"orientation": "landscape",
"color_scheme": "light",
"contrast": "high"
}
}
],
"background_color": "#008558",
"text_color": "#FFFFFF",
"logo_uri": "https://trust-registry.eid-wallet.example.it/.well-known/logos/mDL.svg"
},
"claims": [
{
"name": "family_name",
"taxonomy_ref": "IDENTITY.PERSONAL_DATA.family_name",
"display_name_l10n_id": "claims.family_name.name",
"namespaces": ["org.iso.18013.5.1"]
},
{
"name": "given_name",
"taxonomy_ref": "IDENTITY.PERSONAL_DATA.given_name",
"display_name_l10n_id": "claims.given_name.name",
"namespaces": ["org.iso.18013.5.1"]
},
{
"name": "birth_date",
"taxonomy_ref": "IDENTITY.PERSONAL_DATA.birthdate",
"display_name_l10n_id": "claims.birth_date.name",
"namespaces": ["org.iso.18013.5.1"]
},
{
"name": "issue_date",
"taxonomy_ref": "COMMON.VALIDITY.issuance_date",
"display_name_l10n_id": "claims.issue_date.name",
"namespaces": ["org.iso.18013.5.1"]
},
{
"name": "expiry_date",
"taxonomy_ref": "COMMON.VALIDITY.expiry_date",
"display_name_l10n_id": "claims.expiry_date.name",
"namespaces": ["org.iso.18013.5.1"]
},
{
"name": "issuing_authority",
"taxonomy_ref": "IDENTITY.DOCUMENTS.issuing_authority",
"display_name_l10n_id": "claims.issuing_authority.name",
"namespaces": ["org.iso.18013.5.1"]
},
{
"name": "document_number",
"taxonomy_ref": "IDENTITY.DOCUMENTS.document_number",
"display_name_l10n_id": "claims.document_number.name",
"namespaces": ["org.iso.18013.5.1"]
},
{
"name": "portrait",
"taxonomy_ref": "IDENTITY.BIOMETRIC.facial_image",
"display_name_l10n_id": "claims.portrait.name",
"namespaces": ["org.iso.18013.5.1"]
},
{
"name": "driving_privileges",
"taxonomy_ref": "AUTHORIZATION.DRIVING_LICENSE.categories",
"display_name_l10n_id": "claims.driving_privileges.name",
"namespaces": ["org.iso.18013.5.1"]
},
{
"name": "un_distinguishing_sign",
"taxonomy_ref": "AUTHORIZATION.DRIVING_LICENSE.country_code",
"display_name_l10n_id": "claims.un_distinguishing_sign.name",
"namespaces": ["org.iso.18013.5.1"]
},
{
"name": "administrative_number",
"taxonomy_ref": "IDENTITY.DOCUMENTS.administrative_number",
"display_name_l10n_id": "claims.administrative_number.name",
"namespaces": ["org.iso.18013.5.1"]
},
{
"name": "issuing_country",
"taxonomy_ref": "IDENTITY.DOCUMENTS.issuing_country",
"display_name_l10n_id": "claims.issuing_country.name",
"namespaces": ["org.iso.18013.5.1"]
},
{
"name": "issuing_jurisdiction",
"taxonomy_ref": "IDENTITY.DOCUMENTS.issuing_jurisdiction",
"display_name_l10n_id": "claims.issuing_jurisdiction.name",
"namespaces": ["org.iso.18013.5.1"]
}
]
}
]
}
Nota
Per una gestione migliore e più efficiente della localizzazione delle informazioni contenute nel Catalogo degli Attestati Elettronici, un'Entità che lo consulta DOVREBBE:
Scaricare la versione base del Catalogo degli Attestati Elettronici (compatta, senza localizzazioni) utilizzando l'endpoint
.well-known/credential-catalogue
.Determinare la lingua preferita dell'Utente.
Scaricare solo i bundle di localizzazione necessari.
Unire dinamicamente il contenuto localizzato con la struttura del Catalogo degli Attestati Elettronici.
Un esempio non normativo di output di un bundle di localizzazione è fornito di seguito:
{ "driving_license.name": "Patente di Guida", "driving_license.description": "Patente di guida ufficiale valida in Italia e nell'UE", "purpose.driving_authorization.name": "Abilitazione alla guida", "purpose.driving_authorization.description": "Verifica di Abilitazione alla guida", "claims.given_name.name": "Nome", "...": "..." }
I bundle di localizzazione DEVONO essere disponibili all'URI specificato nel claim localization_info.bundles_base_uri del Catalogo degli Attestati Elettronici. Ogni bundle locale DEVE essere accessibile seguendo il pattern di denominazione {locale_code}.json, dove {locale_code} è sostituito con il codice di localizzazione corrispondente dall'array available_locales.
Un esempio non normativo dell'URI di localizzazione italiana per il bundle mDL è https://trust-registry.eid-wallet.example.it/.well-known/l10n/mdl/it.json.
Le Entità DOVREBBERO verificare l'integrità dei bundle di localizzazione scaricati utilizzando il metodo di digest e i valori specificati nel claim localization_info.integrity. Questo garantisce che i dati di localizzazione non siano stati manomessi durante la trasmissione.
6.3.3. Tassonomia degli Attributi¶
Il Catalogo degli Attestati Elettronici DEVE includere anche un URI di riferimento alla Tassonomia degli Attributi che fornisce, in un'unica risorsa, le informazioni semantiche di tutti gli attributi registrati e disponibili all'interno dell'ecosistema IT-Wallet. DEVE essere neutrale rispetto al formato della Credenziale e ha lo scopo di facilitare le integrazioni degli Attestati Elettronici nelle Soluzioni Tecniche IT-Wallet.
Un esempio non normativo della Tassonomia degli Attributi è fornito di seguito.
{
"version": "1.0",
"last_modified": "2025-04-10T12:00:00Z",
"id": "urn:taxonomy:claims",
"localization": {
"default_locale": "it",
"available_locales": ["en", "it", "fr", "de"],
"base_uri": "https://trust-registry.eid-wallet.example.it/.well-known/l10n/taxonomy/claims/",
"version": "1.0.0"
},
"name_l10n_id": "taxonomy.claims.name",
"description_l10n_id": "taxonomy.claims.description",
"domains": [
{
"id": "IDENTITY",
"name_l10n_id": "domain.identity.name",
"description_l10n_id": "domain.identity.description",
"categories": [
{
"id": "PERSONAL_DATA",
"name_l10n_id": "category.personal_data.name",
"description_l10n_id": "category.personal_data.description",
"claims": [
{
"id": "given_name",
"name_l10n_id": "claim.given_name.name",
"description_l10n_id": "claim.given_name.description",
"sensitivity": "RESTRICTED",
"type": "simple"
},
{
"id": "family_name",
"name_l10n_id": "claim.family_name.name",
"description_l10n_id": "claim.family_name.description",
"sensitivity": "RESTRICTED",
"type": "simple"
},
{
"id": "birthdate",
"name_l10n_id": "claim.birthdate.name",
"description_l10n_id": "claim.birthdate.description",
"sensitivity": "RESTRICTED",
"type": "simple"
},
{
"id": "place_of_birth",
"name_l10n_id": "claim.place_of_birth.name",
"description_l10n_id": "claim.place_of_birth.description",
"sensitivity": "RESTRICTED",
"type": "structured"
}
]
},
{
"id": "CONTACT_INFO",
"name_l10n_id": "category.contact_info.name",
"description_l10n_id": "category.contact_info.description",
"claims": [
{
"id": "email",
"name_l10n_id": "claim.email.name",
"description_l10n_id": "claim.email.description",
"sensitivity": "RESTRICTED",
"type": "simple"
},
{
"id": "phone_number",
"name_l10n_id": "claim.phone_number.name",
"description_l10n_id": "claim.phone_number.description",
"sensitivity": "RESTRICTED",
"type": "simple"
},
{
"id": "address",
"name_l10n_id": "claim.address.name",
"description_l10n_id": "claim.address.description",
"sensitivity": "RESTRICTED",
"type": "structured"
}
]
},
{
"id": "IDENTIFIERS",
"name_l10n_id": "category.identifiers.name",
"description_l10n_id": "category.identifiers.description",
"claims": [
{
"id": "tax_id",
"name_l10n_id": "claim.tax_id.name",
"description_l10n_id": "claim.tax_id.description",
"sensitivity": "RESTRICTED",
"type": "simple"
},
{
"id": "personal_administrative_number",
"name_l10n_id": "claim.personal_administrative_number.name",
"description_l10n_id": "claim.personal_administrative_number.description",
"sensitivity": "RESTRICTED",
"type": "simple"
}
]
},
{
"id": "BIOMETRIC",
"name_l10n_id": "category.biometric.name",
"description_l10n_id": "category.biometric.description",
"claims": [
{
"id": "portrait",
"name_l10n_id": "claim.portrait.name",
"description_l10n_id": "claim.portrait.description",
"sensitivity": "SENSITIVE",
"type": "simple"
}
]
},
{
"id": "DOCUMENTS",
"name_l10n_id": "category.documents.name",
"description_l10n_id": "category.documents.description",
"claims": [
{
"id": "document_type",
"name_l10n_id": "claim.document_type.name",
"description_l10n_id": "claim.document_type.description",
"sensitivity": "PUBLIC",
"type": "simple"
},
{
"id": "document_number",
"name_l10n_id": "claim.document_number.name",
"description_l10n_id": "claim.document_number.description",
"sensitivity": "RESTRICTED",
"type": "simple"
},
{
"id": "issuing_authority",
"name_l10n_id": "claim.issuing_authority.name",
"description_l10n_id": "claim.issuing_authority.description",
"sensitivity": "PUBLIC",
"type": "simple"
},
{
"id": "issuing_country",
"name_l10n_id": "claim.issuing_country.name",
"description_l10n_id": "claim.issuing_country.description",
"sensitivity": "PUBLIC",
"type": "simple"
},
{
"id": "issuing_jurisdiction",
"name_l10n_id": "claim.issuing_jurisdiction.name",
"description_l10n_id": "claim.issuing_jurisdiction.description",
"sensitivity": "PUBLIC",
"type": "simple"
}
]
}
]
},
{
"id": "AUTHORIZATION",
"name_l10n_id": "domain.authorization.name",
"description_l10n_id": "domain.authorization.description",
"categories": [
{
"id": "DRIVING_LICENSE",
"name_l10n_id": "category.driving_license.name",
"description_l10n_id": "category.driving_license.description",
"claims": [
{
"id": "driving_privileges",
"name_l10n_id": "claim.driving_privileges.name",
"description_l10n_id": "claim.driving_privileges.description",
"sensitivity": "PUBLIC",
"type": "structured"
},
{
"id": "vehicle_category_code",
"name_l10n_id": "claim.vehicle_category_code.name",
"description_l10n_id": "claim.vehicle_category_code.description",
"sensitivity": "PUBLIC",
"type": "simple"
}
]
}
]
},
{
"id": "FINANCIAL",
"name_l10n_id": "domain.financial.name",
"description_l10n_id": "domain.financial.description",
"categories": [
{
"id": "INCOME",
"name_l10n_id": "category.income.name",
"description_l10n_id": "category.income.description",
"claims": [
{
"id": "income_indicator",
"name_l10n_id": "claim.income_indicator.name",
"description_l10n_id": "claim.income_indicator.description",
"sensitivity": "RESTRICTED",
"type": "simple"
},
{
"id": "income_certificate_type",
"name_l10n_id": "claim.income_certificate_type.name",
"description_l10n_id": "claim.income_certificate_type.description",
"sensitivity": "RESTRICTED",
"type": "simple"
},
{
"id": "reference_period",
"name_l10n_id": "claim.reference_period.name",
"description_l10n_id": "claim.reference_period.description",
"sensitivity": "RESTRICTED",
"type": "simple"
}
]
}
]
},
{
"id": "COMMON",
"name_l10n_id": "domain.common.name",
"description_l10n_id": "domain.common.description",
"categories": [
{
"id": "VALIDITY",
"name_l10n_id": "category.validity.name",
"description_l10n_id": "category.validity.description",
"claims": [
{
"id": "issuance_date",
"name_l10n_id": "claim.issuance_date.name",
"description_l10n_id": "claim.issuance_date.description",
"sensitivity": "PUBLIC",
"type": "simple"
},
{
"id": "expiry_date",
"name_l10n_id": "claim.expiry_date.name",
"description_l10n_id": "claim.expiry_date.description",
"sensitivity": "PUBLIC",
"type": "simple"
},
{
"id": "validity_period",
"name_l10n_id": "claim.validity_period.name",
"description_l10n_id": "claim.validity_period.description",
"sensitivity": "PUBLIC",
"type": "simple"
}
]
}
]
}
]
}
6.3.4. Endpoint del Catalogo degli Attestati Elettronici¶
L'Endpoint del Catalogo degli Attestati Elettronici DEVE essere un URI HTTPS well-known [RFC 8615] che fornisce accesso pubblico alle informazioni relative agli Attestati Elettronici disponibili in IT-Wallet.
6.3.4.1. Richiesta del Catalogo degli Attestati Elettronici¶
La Richiesta del Catalogo degli Attestati Elettronici DEVE essere una GET HTTP utilizzando il media type application/jose
come nel seguente esempio non normativo.
GET /.well-known/credential-catalogue HTTP/1.1
Host: www.trust-registry.eid-wallet.example.it
Content-Type: application/jose
Nota
Come miglioramento futuro, il Trust Anchor PUÒ implementare un endpoint dinamico che consenta di filtrare gli Attestati Elettronici per tipo, offrendo al contempo capacità di paginazione, per supportare una navigazione più efficiente e flessibile del Catalogo degli Attestati Elettronici.
6.3.4.2. Risposta del Catalogo degli Attestati Elettronici¶
La Risposta del Catalogo degli Attestati Elettronici DEVE essere un JWS che contiene i parametri elencati nella tabella dei parametri del Catalogo degli Attestati Elettronici.
Un esempio non normativo della risposta è fornito di seguito.
ewogICAidHlwIjoiSk9TRSIsCiAgICJhbGciOiJFUzI1NiIsCiAgICJraWQiOiJlOWJjMDk3YS1jZTUxLTQwMzYtOTU2Mi1kMmFkZTg4MmRiMGQiLAogICAiY3R5IjoiYXBwbGljYXRpb24vanNvbiIKfQ==.ew0KICAgImNhdGFsb2dfdmVyc2lvbiI6ICIxLjAiLA0KICAgImlzcyI6ICJodHRwczovL3RydXN0LXJlZ2lzdHJ5LmVpZC13YWxsZXQuZXhhbXBsZS5pdCIsDQogICAibGFzdF9tb2RpZmllZCI6ICIyMDI1LTAzLTE1VDEyOjAwOjAwWiIsDQogICAidGF4b25vbXlfdXJpIjogImh0dHBzOi8vdHJ1c3QtcmVnaXN0cnkuZWlkLXdhbGxldC5leGFtcGxlLml0Ly53ZWxsLWtub3duL2NyZWRlbnRpYWwtdGF4b25vbXkiLA0KICAgInRheG9ub215X3VyaSNpbnRlZ3JpdHkiOiAic2hhMjU2LUxtWGZoLTljTGxKTlhOLVRzTWstUG1Lalo1dDBXUkw1Y2FfeEdnWDNjMVYiLCAgIA0KICAgImNyZWRlbnRpYWxzIjogWw0KICAgICAgew0KICAgICAgICAgInZlcnNpb24iOiAiMS4wIiwNCiAgICAgICAgICJjcmVkZW50aWFsX3R5cGUiOiAibURMIiwNCiAgICAgICAgICJsZWdhbF90eXBlIjogInB1Yi1lYWEiLA0KICAgICAgICAgImxvY2FsaXphdGlvbiI6IHsNCiAgICAgICAgICAgICJkZWZhdWx0X2xvY2FsZSI6ICJpdCIsDQogICAgICAgICAgICAiYXZhaWxhYmxlX2xvY2FsZXMiOiBbImVuIiwgIml0IiwgImZyIiwgImRlIl0sDQogICAgICAgICAgICAiYmFzZV91cmkiOiAiaHR0cHM6Ly90cnVzdC1yZWdpc3RyeS5laWQtd2FsbGV0LmV4YW1wbGUuaXQvLndlbGwta25vd24vbDEwbi9tZGwvIiwNCiAgICAgICAgICAgICJ2ZXJzaW9uIjogIjEuMC4wIg0KICAgICAgICAgfSwNCiAgICAgICAgICJuYW1lX2wxMG5faWQiOiAiY3JlZGVudGlhbC5tZGwubmFtZSIsDQogICAgICAgICAiZGVzY3JpcHRpb25fbDEwbl9pZCI6ICJjcmVkZW50aWFsLm1kbC5kZXNjcmlwdGlvbiIsDQogICAgICAgICAicmVzdHJpY3Rpb25fcG9saWN5Ijogew0KICAgICAgICAgICAgImFsbG93ZWRfd2FsbGV0X2lkcyI6IFsNCiAgICAgICAgICAgICAgICJodHRwczovL3dhbGxldC1wcm92aWRlci5leGFtcGxlLm9yZy93YWxsZXRfc29sdXRpb24iLA0KICAgICAgICAgICAgICAgImh0dHBzOi8vd2FsbGV0LXByb3ZpZGVyMi5leGFtcGxlLm9yZy93YWxsZXRfc29sdXRpb24iDQogICAgICAgICAgICBdLA0KICAgICAgICAgICAgImFsbG93ZWRfaXNzdWVyX2lkcyI6IFsNCiAgICAgICAgICAgICAgICJodHRwczovL2lzc3Vlci5leGFtcGxlLm9yZyINCiAgICAgICAgICAgIF0NCiAgICAgICAgIH0sDQogICAgICAgICAicHJpY2luZ19wb2xpY3kiOiB7DQogICAgICAgICAgICAgIm1vZGVscyI6IFsNCiAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgInByaWNpbmdfdHlwZSI6ICJ2ZXJpZmljYXRpb25fYmFzZWQiLA0KICAgICAgICAgICAgICAgICAicHJpY2UiOiAwLjAxLA0KICAgICAgICAgICAgICAgICAiY3VycmVuY3kiOiAiRVVSIg0KICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgIF0sDQogICAgICAgICAgICAgInByaWNpbmdfbW9kZWxfdXJpIjogImh0dHBzOi8vZXhhbXBsZS5jb20vcHJpY2luZyINCiAgICAgICAgICAgfSwNCiAgICAgICAgICJ2YWxpZGl0eV9pbmZvIjogew0KICAgICAgICAgICAgIm1heF92YWxpZGl0eV9kYXlzIjogMzY1LA0KICAgICAgICAgICAgInN0YXR1c19tZXRob2RzIjogWyJzdGF0dXNfbGlzdCJdLA0KICAgICAgICAgICAgImFsbG93ZWRfc3RhdGVzIjogWw0KICAgICAgICAgICAgICAgInZhbGlkIiwNCiAgICAgICAgICAgICAgICJyZXZva2VkIiwNCiAgICAgICAgICAgICAgICJzdXNwZW5kZWQiDQogICAgICAgICAgICBdDQogICAgICAgICB9LCAgICAgICANCiAgICAgICAgICJhdXRoZW50aWNhdGlvbiI6IHsNCiAgICAgICAgICAgICJ1c2VyX2F1dGhfcmVxdWlyZWQiOiB0cnVlLA0KICAgICAgICAgICAgIm1pbl9sb2EiOiAiaGlnaCIsDQogICAgICAgICAgICAic3VwcG9ydGVkX3NjaGVtZXMiOiBbIml0LXdhbGxldCJdDQogICAgICAgICB9LA0KICAgICAgICAgInB1cnBvc2VzIjogWw0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgImlkIjogImRyaXZpbmctYXV0aG9yaXphdGlvbiIsDQogICAgICAgICAgICAgICAiZGVzY3JpcHRpb25fbDEwbl9pZCI6ICJwdXJwb3NlLmRyaXZpbmdfYXV0aG9yaXphdGlvbi5kZXNjcmlwdGlvbiIsDQogICAgICAgICAgICAgICAiY2F0ZWdvcnkiOiAiQVVUSE9SSVpBVElPTiIsDQogICAgICAgICAgICAgICAic3ViY2F0ZWdvcnkiOiAiRFJJVklOR19MSUNFTlNFIiwNCiAgICAgICAgICAgICAgICJjbGFpbXNfcmVxdWlyZWQiOiBbImZhbWlseV9uYW1lIiwgImdpdmVuX25hbWUiLCAiaXNzdWVfZGF0ZSIsICJleHBpcnlfZGF0ZSIsICJpc3N1aW5nX2F1dGhvcml0eSIsICJkb2N1bWVudF9udW1iZXIiLCAicG9ydHJhaXQiLCAiZHJpdmluZ19wcml2aWxlZ2VzIiwgInVuX2Rpc3Rpbmd1aXNoaW5nX3NpZ24iXSwNCiAgICAgICAgICAgICAgICJjbGFpbV9yZWNvbW1lbmRlZCI6IFsiYmlydGhfZGF0ZSIsICJ1bl9kaXN0aW5ndWlzaGluZ19zaWduIiwgImlzc3VpbmdfY291bnRyeSIsICJpc3N1aW5nX2p1cmlzZGljdGlvbiJdDQogICAgICAgICAgICANCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAiaWQiOiAicGVyc29uLWlkZW50aWZpY2F0aW9uIiwNCiAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbl9sMTBuX2lkIjogInB1cnBvc2UucGVyc29uX2lkZW50aWZpY2F0aW9uLmRlc2NyaXB0aW9uIiwNCiAgICAgICAgICAgICAgICJjYXRlZ29yeSI6ICJJREVOVElUWSIsDQogICAgICAgICAgICAgICAic3ViY2F0ZWdvcnkiOiAiUEVSU09OX0lERU5USUZJQ0FUSU9OIiwNCiAgICAgICAgICAgICAgICJjbGFpbXNfcmVxdWlyZWQiOiBbImZhbWlseV9uYW1lIiwgImdpdmVuX25hbWUiLCAiYmlydGhfZGF0ZSIsICJwb3J0cmFpdCIsICJkb2N1bWVudF9udW1iZXIiXSwNCiAgICAgICAgICAgICAgICJjbGFpbV9yZWNvbW1lbmRlZCI6IFsiZXhwaXJ5X2RhdGUiLCAiaXNzdWluZ19hdXRob3JpdHkiXQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgXSwNCiAgICAgICAgICJpc3N1ZXJzIjogWw0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgImlkIjogImh0dHBzOi8vaXNzdWVyLmV4YW1wbGUub3JnIiwNCiAgICAgICAgICAgICAgICJvcmdhbml6YXRpb25fbmFtZSI6ICJEaWdpdGFsIENyZWRlbnRpYWwgSXNzdWVyIG9mIEV4YW1wbGUiLA0KICAgICAgICAgICAgICAgIm9yZ2FuaXphdGlvbl9jb2RlIjogImNpX2V4YW1wbGVfaXQiLA0KICAgICAgICAgICAgICAgIm9yZ2FuaXphdGlvbl9jb3VudHJ5IjogIklUIiwNCiAgICAgICAgICAgICAgICJjb250YWN0cyI6IFsNCiAgICAgICAgICAgICAgICAgICJtYWlsdG86aW5mb3JtYXppb25pQGV4YW1wbGUuaXQiLA0KICAgICAgICAgICAgICAgICAgIm1haWx0bzpwcm90b2NvbGxvQHBlYy5leGFtcGxlLml0Ig0KICAgICAgICAgICAgICAgXSwNCiAgICAgICAgICAgICAgICJsZWdhbF90eXBlIjogInB1Yi1lYWEiLA0KICAgICAgICAgICAgICAgImhvbWVwYWdlX3VyaSI6ICJodHRwczovL2lzc3Vlci5leGFtcGxlLm9yZyIsDQogICAgICAgICAgICAgICAibG9nb191cmkiOiAiaHR0cHM6Ly9pc3N1ZXIuZXhhbXBsZS5vcmcvbG9nby5zdmciLA0KICAgICAgICAgICAgICAgInBvbGljeV91cmkiOiAiaHR0cHM6Ly9pc3N1ZXIuZXhhbXBsZS5vcmcvcHJpdmFjeSIsDQogICAgICAgICAgICAgICAidG9zX3VyaSI6ICJodHRwczovL2lzc3Vlci5leGFtcGxlLm9yZy90ZXJtcyIsDQogICAgICAgICAgICAgICAic2VydmljZV9kb2N1bWVudGF0aW9uIjogImh0dHBzOi8vaXNzdWVyLmV4YW1wbGUub3JnLy53ZWxsLWtub3duL3NlcnZpY2UtZG9jIiwNCiAgICAgICAgICAgICAgICJpc3N1YW5jZV9mbG93cyI6IHsNCiAgICAgICAgICAgICAgICAgICJkZWZlcnJlZF9mbG93IjogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICJtYXhfZGVmZXJyZWRfaXNzdWFuY2VfdGltZV9taW51dGVzIjogMTQ0MCwNCiAgICAgICAgICAgICAgICAgICJub3RpZmljYXRpb25fbWV0aG9kcyI6IFsicHVzaCIsICJwb2xsaW5nIl0NCiAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgIF0sDQogICAgICAgICAiYXV0aGVudGljX3NvdXJjZXMiOiBbDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAiaWQiOiAiaHR0cHM6Ly9hdXRoZW50aWMtc291cmNlcy5leGFtcGxlLm9yZyIsDQogICAgICAgICAgICAgICAib3JnYW5pemF0aW9uX25hbWUiOiAiQXV0aGVudGljIFNvdXJjZSBvZiBFeGFtcGxlIiwNCiAgICAgICAgICAgICAgICJvcmdhbml6YXRpb25fY29kZSI6ICJhc19leGFtcGxlX2l0IiwNCiAgICAgICAgICAgICAgICJvcmdhbml6YXRpb25fY291bnRyeSI6ICJJVCIsDQogICAgICAgICAgICAgICAiY29udGFjdHMiOiBbDQogICAgICAgICAgICAgICAgICAibWFpbHRvOmluZm9ybWF6aW9uaUBleGFtcGxlLml0IiwNCiAgICAgICAgICAgICAgICAgICJtYWlsdG86cHJvdG9jb2xsb0BwZWMuZXhhbXBsZS5pdCINCiAgICAgICAgICAgICAgIF0sDQogICAgICAgICAgICAgICAiaG9tZXBhZ2VfdXJpIjogImh0dHBzOi8vYXV0aHNvdXJjZS5leGFtcGxlLmNvbS8iLA0KICAgICAgICAgICAgICAgImxvZ29fdXJpIjogImh0dHBzOi8vYXV0aHNvdXJjZS5leGFtcGxlLmNvbS9pbWcvbG9nby5zdmciLA0KICAgICAgICAgICAgICAgInNvdXJjZV90eXBlIjogInB1YmxpYyIsDQogICAgICAgICAgICAgICAic2VydmljZV9kb2N1bWVudGF0aW9uIjogImh0dHBzOi8vYXV0aGVudGljLXNvdXJjZXMuZXhhbXBsZS5vcmcvLndlbGwta25vd24vc2VydmljZS1kb2MiLA0KICAgICAgICAgICAgICAgImRhdGFfcHJvdmlzaW9uIjogew0KICAgICAgICAgICAgICAgICAgImltbWVkaWF0ZV9mbG93IjogZmFsc2UsDQogICAgICAgICAgICAgICAgICAiZGVmZXJyZWRfZmxvdyI6IHRydWUsDQogICAgICAgICAgICAgICAgICAibWF4X3Jlc3BvbnNlX3RpbWVfbWludXRlcyI6IDYwLA0KICAgICAgICAgICAgICAgICAgIm5vdGlmaWNhdGlvbl9tZXRob2RzIjogWyJwdXNoIl0NCiAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgIF0sDQogICAgICAgICAiZm9ybWF0cyI6IFsNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICJjb25maWd1cmF0aW9uX2lkIjogImRjX3NkX2p3dF9tREwiLA0KICAgICAgICAgICAgICAgImZvcm1hdCI6ICJkYytzZC1qd3QiLA0KICAgICAgICAgICAgICAgInNjaGVtYV91cmkiOiAiaHR0cHM6Ly90cnVzdC1yZWdpc3RyeS5laWQtd2FsbGV0LmV4YW1wbGUuaXQvLndlbGwta25vd24vc2NoZW1hcy9zZC1qd3QvbURMIiwNCiAgICAgICAgICAgICAgICJzY2hlbWFfdXJpI2ludGVncml0eSI6ICJzaGEyNTYtYzhiNzA4NzI4ZTRjNTc1NmUzNWMwM2FlYWMyNTdjYTg3OGQxZjcxN2Q3YjYxZjYyMWJlNGQzNmRiZDliOWMxNiINCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAiY29uZmlndXJhdGlvbl9pZCI6ICJtc29fbWRvY19tREwiLA0KICAgICAgICAgICAgICAgImZvcm1hdCI6ICJtc29fbWRvYyIsDQogICAgICAgICAgICAgICAic2NoZW1hX3VyaSI6ICJodHRwczovL3RydXN0LXJlZ2lzdHJ5LmVpZC13YWxsZXQuZXhhbXBsZS5pdC8ud2VsbC1rbm93bi9zY2hlbWFzL21kb2MvbURMIiwNCiAgICAgICAgICAgICAgICJzY2hlbWFfdXJpI2ludGVncml0eSI6ICJzaGEyNTYtYzhiNzA4NzI4ZTRjNTc1NmUzNWMwM2FlYWMyNTdjYTg3OGQxZjcxN2Q3YjYxZjYyMWJlNGQzNmRiZDliOWMxNiINCiAgICAgICAgICAgIH0NCiAgICAgICAgIF0sDQogICAgICAgICAiZGlzcGxheV9wcm9wZXJ0aWVzIjogew0KICAgICAgICAgICAgInRlbXBsYXRlcyI6IFsNCiAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICJhdXRoZW50aWNfc291cmNlX2lkIjogImh0dHBzOi8vYXV0aGVudGljLXNvdXJjZXMuZXhhbXBsZS5vcmciLA0KICAgICAgICAgICAgICAgICAgInRlbXBsYXRlX3VyaSI6ICJodHRwczovL2F1dGhzb3VyY2UuZXhhbXBsZS5jb20vLndlbGwta25vd24vdGVtcGxhdGVzL21ETC5zdmciLA0KICAgICAgICAgICAgICAgICAgInRlbXBsYXRlX3VyaSNpbnRlZ3JpdHkiOiAic2hhMjU2LThjTGxKTlhOLVRzTWstUG1Lalo1dDBXUkw1Y2FfeEdnWDNjMVZMbVhmaC05YyIsDQogICAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6IHsNCiAgICAgICAgICAgICAgICAgICAgICJvcmllbnRhdGlvbiI6ICJsYW5kc2NhcGUiLA0KICAgICAgICAgICAgICAgICAgICAgImNvbG9yX3NjaGVtZSI6ICJsaWdodCIsDQogICAgICAgICAgICAgICAgICAgICAiY29udHJhc3QiOiAiaGlnaCINCiAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIF0sDQogICAgICAgICAgICAiYmFja2dyb3VuZF9jb2xvciI6ICIjMDA4NTU4IiwNCiAgICAgICAgICAgICJ0ZXh0X2NvbG9yIjogIiNGRkZGRkYiLA0KICAgICAgICAgICAgImxvZ29fdXJpIjogImh0dHBzOi8vdHJ1c3QtcmVnaXN0cnkuZWlkLXdhbGxldC5leGFtcGxlLml0Ly53ZWxsLWtub3duL2xvZ29zL21ETC5zdmciDQogICAgICAgICB9LA0KICAgICAgICAgImNsYWltcyI6IFsNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICJuYW1lIjogImZhbWlseV9uYW1lIiwNCiAgICAgICAgICAgICAgICJ0YXhvbm9teV9yZWYiOiAiSURFTlRJVFkuUEVSU09OQUxfREFUQS5mYW1pbHlfbmFtZSIsDQogICAgICAgICAgICAgICAiZGlzcGxheV9uYW1lX2wxMG5faWQiOiAiY2xhaW1zLmZhbWlseV9uYW1lLm5hbWUiLA0KICAgICAgICAgICAgICAgIm5hbWVzcGFjZXMiOiBbIm9yZy5pc28uMTgwMTMuNS4xIl0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAibmFtZSI6ICJnaXZlbl9uYW1lIiwNCiAgICAgICAgICAgICAgICJ0YXhvbm9teV9yZWYiOiAiSURFTlRJVFkuUEVSU09OQUxfREFUQS5naXZlbl9uYW1lIiwNCiAgICAgICAgICAgICAgICJkaXNwbGF5X25hbWVfbDEwbl9pZCI6ICJjbGFpbXMuZ2l2ZW5fbmFtZS5uYW1lIiwNCiAgICAgICAgICAgICAgICJuYW1lc3BhY2VzIjogWyJvcmcuaXNvLjE4MDEzLjUuMSJdDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIm5hbWUiOiAiYmlydGhfZGF0ZSIsDQogICAgICAgICAgICAgICAidGF4b25vbXlfcmVmIjogIklERU5USVRZLlBFUlNPTkFMX0RBVEEuYmlydGhkYXRlIiwNCiAgICAgICAgICAgICAgICJkaXNwbGF5X25hbWVfbDEwbl9pZCI6ICJjbGFpbXMuYmlydGhfZGF0ZS5uYW1lIiwNCiAgICAgICAgICAgICAgICJuYW1lc3BhY2VzIjogWyJvcmcuaXNvLjE4MDEzLjUuMSJdDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIm5hbWUiOiAiaXNzdWVfZGF0ZSIsDQogICAgICAgICAgICAgICAidGF4b25vbXlfcmVmIjogIkNPTU1PTi5WQUxJRElUWS5pc3N1YW5jZV9kYXRlIiwNCiAgICAgICAgICAgICAgICJkaXNwbGF5X25hbWVfbDEwbl9pZCI6ICJjbGFpbXMuaXNzdWVfZGF0ZS5uYW1lIiwNCiAgICAgICAgICAgICAgICJuYW1lc3BhY2VzIjogWyJvcmcuaXNvLjE4MDEzLjUuMSJdDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIm5hbWUiOiAiZXhwaXJ5X2RhdGUiLA0KICAgICAgICAgICAgICAgInRheG9ub215X3JlZiI6ICJDT01NT04uVkFMSURJVFkuZXhwaXJ5X2RhdGUiLA0KICAgICAgICAgICAgICAgImRpc3BsYXlfbmFtZV9sMTBuX2lkIjogImNsYWltcy5leHBpcnlfZGF0ZS5uYW1lIiwNCiAgICAgICAgICAgICAgICJuYW1lc3BhY2VzIjogWyJvcmcuaXNvLjE4MDEzLjUuMSJdDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIm5hbWUiOiAiaXNzdWluZ19hdXRob3JpdHkiLA0KICAgICAgICAgICAgICAgInRheG9ub215X3JlZiI6ICJJREVOVElUWS5ET0NVTUVOVFMuaXNzdWluZ19hdXRob3JpdHkiLA0KICAgICAgICAgICAgICAgImRpc3BsYXlfbmFtZV9sMTBuX2lkIjogImNsYWltcy5pc3N1aW5nX2F1dGhvcml0eS5uYW1lIiwNCiAgICAgICAgICAgICAgICJuYW1lc3BhY2VzIjogWyJvcmcuaXNvLjE4MDEzLjUuMSJdDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIm5hbWUiOiAiZG9jdW1lbnRfbnVtYmVyIiwNCiAgICAgICAgICAgICAgICJ0YXhvbm9teV9yZWYiOiAiSURFTlRJVFkuRE9DVU1FTlRTLmRvY3VtZW50X251bWJlciIsDQogICAgICAgICAgICAgICAiZGlzcGxheV9uYW1lX2wxMG5faWQiOiAiY2xhaW1zLmRvY3VtZW50X251bWJlci5uYW1lIiwNCiAgICAgICAgICAgICAgICJuYW1lc3BhY2VzIjogWyJvcmcuaXNvLjE4MDEzLjUuMSJdDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIm5hbWUiOiAicG9ydHJhaXQiLA0KICAgICAgICAgICAgICAgInRheG9ub215X3JlZiI6ICJJREVOVElUWS5CSU9NRVRSSUMuZmFjaWFsX2ltYWdlIiwNCiAgICAgICAgICAgICAgICJkaXNwbGF5X25hbWVfbDEwbl9pZCI6ICJjbGFpbXMucG9ydHJhaXQubmFtZSIsDQogICAgICAgICAgICAgICAibmFtZXNwYWNlcyI6IFsib3JnLmlzby4xODAxMy41LjEiXQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICJuYW1lIjogImRyaXZpbmdfcHJpdmlsZWdlcyIsDQogICAgICAgICAgICAgICAidGF4b25vbXlfcmVmIjogIkFVVEhPUklaQVRJT04uRFJJVklOR19MSUNFTlNFLmNhdGVnb3JpZXMiLA0KICAgICAgICAgICAgICAgImRpc3BsYXlfbmFtZV9sMTBuX2lkIjogImNsYWltcy5kcml2aW5nX3ByaXZpbGVnZXMubmFtZSIsDQogICAgICAgICAgICAgICAibmFtZXNwYWNlcyI6IFsib3JnLmlzby4xODAxMy41LjEiXQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICJuYW1lIjogInVuX2Rpc3Rpbmd1aXNoaW5nX3NpZ24iLA0KICAgICAgICAgICAgICAgInRheG9ub215X3JlZiI6ICJBVVRIT1JJWkFUSU9OLkRSSVZJTkdfTElDRU5TRS5jb3VudHJ5X2NvZGUiLA0KICAgICAgICAgICAgICAgImRpc3BsYXlfbmFtZV9sMTBuX2lkIjogImNsYWltcy51bl9kaXN0aW5ndWlzaGluZ19zaWduLm5hbWUiLA0KICAgICAgICAgICAgICAgIm5hbWVzcGFjZXMiOiBbIm9yZy5pc28uMTgwMTMuNS4xIl0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAibmFtZSI6ICJhZG1pbmlzdHJhdGl2ZV9udW1iZXIiLA0KICAgICAgICAgICAgICAgInRheG9ub215X3JlZiI6ICJJREVOVElUWS5ET0NVTUVOVFMuYWRtaW5pc3RyYXRpdmVfbnVtYmVyIiwNCiAgICAgICAgICAgICAgICJkaXNwbGF5X25hbWVfbDEwbl9pZCI6ICJjbGFpbXMuYWRtaW5pc3RyYXRpdmVfbnVtYmVyLm5hbWUiLA0KICAgICAgICAgICAgICAgIm5hbWVzcGFjZXMiOiBbIm9yZy5pc28uMTgwMTMuNS4xIl0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAibmFtZSI6ICJpc3N1aW5nX2NvdW50cnkiLA0KICAgICAgICAgICAgICAgInRheG9ub215X3JlZiI6ICJJREVOVElUWS5ET0NVTUVOVFMuaXNzdWluZ19jb3VudHJ5IiwNCiAgICAgICAgICAgICAgICJkaXNwbGF5X25hbWVfbDEwbl9pZCI6ICJjbGFpbXMuaXNzdWluZ19jb3VudHJ5Lm5hbWUiLA0KICAgICAgICAgICAgICAgIm5hbWVzcGFjZXMiOiBbIm9yZy5pc28uMTgwMTMuNS4xIl0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAibmFtZSI6ICJpc3N1aW5nX2p1cmlzZGljdGlvbiIsDQogICAgICAgICAgICAgICAidGF4b25vbXlfcmVmIjogIklERU5USVRZLkRPQ1VNRU5UUy5pc3N1aW5nX2p1cmlzZGljdGlvbiIsDQogICAgICAgICAgICAgICAiZGlzcGxheV9uYW1lX2wxMG5faWQiOiAiY2xhaW1zLmlzc3VpbmdfanVyaXNkaWN0aW9uLm5hbWUiLA0KICAgICAgICAgICAgICAgIm5hbWVzcGFjZXMiOiBbIm9yZy5pc28uMTgwMTMuNS4xIl0NCiAgICAgICAgICAgIH0NCiAgICAgICAgIF0NCiAgICAgIH0NCiAgIF0NCn0.kBvX6LppO1m35KdSg3_p_WP1i-cONPjFQuKBDtTIpOYkrEb7zarqtKEqWMJcw3GWhDnIIs8a2Jy4_ng0fokqug