Interfaccia REST per il recupero delle informazioni crittografiche

GovWay gestisce l’endpoint dedicato all’esposizione delle informazioni crittografiche correnti, messe a disposizione dal servizio, in conformità al formato previsto dalla specifica OpenAPI riportata di seguito.

L’endpoint consente inoltre di richiedere, tramite un parametro opzionale della query string, le informazioni crittografiche associate a uno specifico signalId, abilitando l’accesso anche a eventuali dati storici correlati.

Listato 1 Specifica OpenAPI - Risorsa di pseudoanonimizzazione
 1openapi: 3.0.1
 2info:
 3  title: Risorsa di pseudoanonimizzazione implementata da GovWay
 4  version: 1.0.0
 5paths:
 6  /pseudonymization:
 7    get:
 8      summary: Gets a pseudonymization info
 9      description: Info about crypto hash function and seed
10      parameters:
11        - in: query
12          name: signalId
13          schema:
14            type: integer
15          required: false
16          description: SignalID
17      responses:
18        "200":
19          description: Success
20          content:
21            application/json:
22              schema:
23                type: object
24                properties:
25                  seed:
26                    example: Xzzh3pQqLp+VK7gG9NwR6w==
27                    type: string
28                  cryptoHashFunction:
29                    example: SHA-256
30                    type: string
31                  signalId:
32                    example: 13129
33                    type: integer
34                    format: int64
35                required:
36                  - seed
37                  - cryptoHashFunction
38                description: Success

Per il dettaglio sul formato dell’identificativo dell’algoritmo restituito nel campo cryptoHashFunction si rimanda alla sezione Formato dell’identificativo dell’algoritmo esposto sul servizio di pseudoanonimizzazione.

Il campo opzionale signalId esposto nella risposta indica il signalId del segnale di tipo SEEDUPDATE che ha introdotto il seme corrente; consente al consumatore di sincronizzarsi correttamente sapendo da quale segnale in poi il seme è applicabile. Per il primo seme storico (mai sostituito da un SEEDUPDATE) il valore esposto è 0. L’esposizione del campo è controllata dalla proprietà org.openspcoop2.protocol.modipa.signalHub.pseudonymization.exposeSignalId descritta nella sezione Esposizione del signalId sul servizio di pseudoanonimizzazione.

Il valore del campo seed deve essere utilizzato dal consumatore così come fornito, come stringa opaca e senza decodifica preventiva, secondo quanto descritto nella sezione Pseudoanonimizzazione: generazione dell’identificativo e verifica lato consumatore.