13.4. Endpoint delle Fonti Autentiche¶
13.4.1. Catalogo degli e-Service PDND delle Fonti Autentiche¶
Le Fonti Autentiche pubbliche DEVONO realizzare e rendere disponibile tramite PDND il seguente e-service al fine di rilasciare al Fornitore di Attestati Elettronici gli Attributi dell'Utente necessari per l'emissione di un Attestato Elettronico.
L'e-service è descritto tramite una specifica OpenAPI in cui sono dettagliati i messaggi di richiesta, risposta ed errore.
Nota
La Specifica OpenAPI è disponibile qui.
Questa specifica OpenAPI può essere estesa dalle Fonti Autentiche, infatti, l'array attributeClaims PUÒ contenere proprietà aggiuntive specifiche di una particolare Credenziale. Queste proprietà aggiuntive, così come definito nella specifica OpenAPI, saranno inserite nella Credenziale dal Credential Issuer.
13.4.1.1. Get Attribute Claims¶
Descrizione |
Questo servizio fornisce al Fornitore di Attestati Elettronici tutti gli attributi dell'Utente necessari per il rilascio di un Attestato Elettronico. |
|---|---|
Erogatore |
Fonte Autentica |
Fruitore |
Fornitore di Attestato Elettronico |
Nota
- La Fonte Autentica e il Credential Issuer DEVONO implementare la logica necessaria per tenere traccia delle richieste e delle risposte scambiate tramite questo e-Service, al fine di essere in grado di correlarle con la relativa emissione di un Attestato Elettronico. In particolare,
entrambi DEVONO salvare il valore
object_idcontenuto nel payload della risposta per gestire i Segnali relativi alla disponibilità degli Attributi utili all'emissione in deferred di un Attestato Elettronico (vedere Elaborazione dei Segnali). Qualsiasi notifica successiva relativa a un set di dati specifico DEVE essere gestita tramiteobject_id.la Fonte Autentica DEVE registrare il valore datetime fornito all'interno del parametro
last_updated, che indica data e orario dell'ultima volta che gli Attributi dell'Utente sono stati aggiornati nel database della Fonte Autentica;il Credential Issuer DEVE leggere il valore
last_updatedricevuto nella risposta per essere in grado di verificare se gli Attributi dell'Utente sono cambiati dall'ultima emissione di un Attestato Elettronico.
13.4.1.2. Mapping degli Stati del Ciclo di Vita degli Attestati Elettronici¶
Per garantire la coerenza tra il "Ciclo di Vita degli Attestati Elettronici" documentato in Ciclo di Vita degli Attestati Elettronici e l'Enum status delle OpenAPI, la seguente mappatura e logica operativa DEVE essere applicata per il campo status negli attributeClaims.
Direzionalità e Responsabilità: I cambiamenti di stato di un Attestato Elettronico a livello di Fornitore di Attestati Elettronici NON implicano un cambiamento presso la Fonte Autentica. Al contrario, qualsiasi cambiamento di stato di un dataset presso la Fonte Autentica DEVE essere elaborato dal Fornitore di Attestati Elettronici per aggiornare lo stato tecnico dell'Attestato Elettronico.
Guida Operativa:
Validità Tecnica vs Amministrativa: Gli Attestati Elettronici distinguono tra una validità tecnica stabilita dal Fornitore di Attestati Elettronici (claim
iatedexp) e una validità amministrativa determinata dalla Fonte Autentica (claimissuance_dateedexpiry_date).Gerarchia delle Scadenze: La scadenza tecnica (
exp) NON DEVE essere successiva alla scadenza amministrativa (expiry_date). Per esempio, una patente di guida può essere amministrativamente valida per 10 anni, mentre l'Attestato Elettronico emesso può avere una scadenza tecnica di 1 anno.Riemissione: Se un Attestato Elettronico raggiunge la sua scadenza tecnica (
exp) ma il dataset è ancora amministrativamente valido, lo stato OpenAPI rimaneVALID, consentendo all'Attestato Elettronico di essere riemesso più volte entro l'arco temporale amministrativo.Verifica dei Metadati: Il Fornitore di Attestati Elettronici DEVE verificare l'effettiva usabilità controllando sia i claim tecnici che le date amministrative.
Irreversibilità: Dopo una transizione a
INVALID, l'Attestato Elettronico non può tornare a uno statoVALID. È richiesta una nuova emissione per un nuovo dataset. Questo si applica sia alla revoca esplicita che alla scadenza amministrativa.Elaborazione dei Segnali: I Segnali DEVONO essere elaborati sequenzialmente. Se un Segnale invalida un Attestato Elettronico, i successivi Segnali di correzione per lo stesso oggetto vengono ignorati.
Mapping degli Stati e Logica dei Casi:
Il Fornitore di Attestati Elettronici DEVE aggiornare lo status dell'Attestato Elettronico in base ai Segnali ricevuti dalla Fonte Autentica via Signal Hub (signalType=UPDATE):
Revoca: Se un dataset viene revocato presso la Fonte Autentica (stato
INVALID), il Fornitore di Attestati Elettronici DEVE revocare gli Attestati Elettronici che utilizzano quel dataset (transizione di stato daVALID/SUSPENDEDaINVALID).Sospensione: Se un dataset viene sospeso presso la Fonte Autentica (stato
SUSPENDED), il Fornitore di Attestati Elettronici DEVE sospendere gli Attestati Elettronici (transizione di stato daVALIDaSUSPENDED).Ripristino: Se un dataset sospeso torna a essere
VALIDpresso la Fonte Autentica, il Fornitore di Attestati Elettronici DEVE ripristinare la validità dell'Attestato Elettronico (transizione di stato daSUSPENDEDaVALID).Modifica: Se un dataset viene modificato ma rimane
VALIDpresso la Fonte Autentica, il Fornitore di Attestati Elettronici — rilevando il cambiamento tramite il campolast_updated— assegna lo stato tecnicoATTRIBUTE_UPDATEall'Attestato Elettronico. Questo avvia un flusso di riemissione quando l'Istanza del Wallet controlla lo stato.- Scadenza Amministrativa:
Scenario A (Basato sui metadati): Se
expiry_dateè stata condivisa con il Fornitore di Attestati Elettronici nei metadati, la Fonte Autentica NON invia Segnali alla scadenza; il Fornitore di Attestati Elettronici gestisce il ciclo di vita in modo indipendente garantendo che l'exptecnico sia <=expiry_date.Scenario B (Basato sui segnali): Se
expiry_dateNON è presente nei metadati e il dataset scade, la Fonte Autentica DEVE impostare il suo stato suINVALIDe inviare un Segnale via Signal Hub; il Fornitore di Attestati Elettronici revoca quindi gli Attestati Elettronici (transizione di stato aINVALID).
13.4.1.3. Esempio di risposta della Authentic Source¶
La risposta ha come HTTP Content-Type application/jwt. mDi seguito un esempio concreto con dati fittizi per chiarire forma e contenuto attesi.
{
"userClaims": {
"given_name": "Mario",
"family_name": "Rossi",
"birth_date": "1980-01-10",
"birth_place": "Roma",
"tax_id_code": "TINIT-RSSMRA80A01H501Z",
"personal_administrative_number": "12345A123A"
},
"attributeClaims": [
{
"object_id": "6F9619FF-8B86-D011-B42D-00C04FC964FF",
"status": "VALID",
"last_updated": "2025-09-15T10:30:00Z",
"institute_name": "Nome Istituto Universitario",
"programme_type_name": "Laurea Magistrale",
"degree_course_name": "Computer Science - Informatica",
"academic_qualification_date": "2025-06-25",
"...": ""
},
{
"object_id": "7A0720AB-9C97-E122-C53E-11D05FD075GG",
"status": "VALID",
"last_updated": "2023-01-10T08:00:00Z",
"institute_name": "Nome Istituto Universitario",
"programme_type_name": "Laurea Triennale",
"degree_course_name": "Informatica",
"academic_qualification_date": "2022-11-27",
"...": ""
}
],
"metadataClaims": [
{
"object_id": "6F9619FF-8B86-D011-B42D-00C04FC964FF",
"issuance_date": "2025-06-25"
},
{
"object_id": "7A0720AB-9C97-E122-C53E-11D05FD075GG",
"issuance_date": "2022-11-27"
}
]
}
In sintesi:
userClaims: dati anagrafici dell'utente (nome, cognome, data/luogo di nascita, codice fiscale o numero di identificazione). Almeno uno tra
tax_id_codeepersonal_administrative_numberè richiesto se si forniscono user claims.attributeClaims: array di dataset; ogni elemento DEVE contenere
object_id,status(VALID | INVALID | SUSPENDED),last_updated(formato ISO 8601), più eventuali attributi aggiuntivi specifici del dataset (es.nationality,residence_address).metadataClaims: array di metadati per dataset (
object_idobbligatorio;issuance_dateeexpiry_dateopzionali).interval: obbligatorio se non è presente il parametro
claimsnella richiesta; indica i secondi da attendere prima di ripetere la richiesta (es. 864000 = 10 giorni).
La risposta in caso di successo (HTTP 200) restituisce un oggetto CredentialClaimsResponse formattato come Payload JSON.
13.4.1.3.1. Verifica della Firma e Gestione Chiavi¶
Essendo il token di risposta firmato, il Credential Issuer (Fruitore) DEVE verificare la firma per garantire l'integrità e l'autenticità dei dati ricevuti dalla Fonte Autentica.
Il processo di verifica e recupero delle chiavi DEVE seguire rigorosamente il pattern standard definito per gli e-Service PDND. Si rimanda all'Appendice tecnica (Sezione e-Service PDND) per i dettagli sulla validazione del JWT e per le specifiche sul recupero della chiave pubblica dell'Erogatore tramite API di Interoperabilità.
Avvertimento
Non sono ammessi meccanismi alternativi di distribuzione del materiale crittografico (es. endpoint .well-known pubblici esposti direttamente dalla Fonte Autentica o distribuzione out-of-band). La gestione del trust DEVE rimanere centralizzata all'interno del perimetro dell'infrastruttura PDND come descritto nei riferimenti sopra citati.