Configurazione Avanzata

Per personalizzare il supporto a Signal-Hub, sono registrabili alcune proprietà da aggiungere nel file modipa_local.properties presente nella connfigurazione esterna di GovWay.

Abilitazione del supporto

Per disabilitare il supporto a Signal-Hub, è possibile inserire la seguente proprietà:

org.openspcoop2.protocol.modipa.signalHub.enabled=false

Opzionalità della pseudoanonimizzazione

Per rendere opzionale la pseudoanonimizzazione dell’id degli oggetti e far comparire la relativa checkbox sulla maschera di configurazione di signal-hub, abilitare la properties:

org.openspcoop2.protocol.modipa.signalHub.pseudonymization.choice.enabled=true

Funzioni di hash

È possibile modificare la lista degli algoritmi disponibili per la generazione dell’hash, così come l’algoritmo di default, attraverso le seguenti proprietà:

org.openspcoop2.protocol.modipa.signalHub.algorithms=SHA-256,SHA-512/256,SHA-384,SHA-512,SHA3-256,SHA3-384,SHA3-512,SHAKE128,SHAKE256 org.openspcoop2.protocol.modipa.signalHub.algorithms.default=SHA-256

Dimensione del seme

È possibile configurare le dimensioni accettate per il seme e la dimensione predefinita tramite le seguenti proprietà:

org.openspcoop2.protocol.modipa.signalHub.seed.size=16,32,64 org.openspcoop2.protocol.modipa.signalHub.seed.size.default=16

Periodo di rotazione

Le proprietà relative alla rotazione delle informazioni crittografiche permettono di abilitare o disabilitare la rotazione e impostare il numero di giorni del periodo di validità:

org.openspcoop2.protocol.modipa.signalHub.seed.lifetime.unlimited=false org.openspcoop2.protocol.modipa.signalHub.seed.lifetime.days.default=120

Storico delle informazioni crittografiche

Numero di versioni delle informazioni crittografiche da mantenere dopo ogni rotazione per un determinato servizio:

org.openspcoop2.protocol.modipa.signalHub.seed.history=1

Concatenazione messaggio e seme

Personalizzazione della concatenazione tra messaggio (objectId) e seme per la produzione dell’ID cifrato. Il valore è un template nel quale, a runtime, verranno sostituiti ${message} e ${salt} con rispettivamente l’ID dell’oggetto e il seme, prima della pseudoanonimizzazione:

org.openspcoop2.protocol.modipa.signalHub.hash.composition=${message}${salt}

Fruizione deposito segnale

Nome e versione dell’API della fruizione abilitata al deposito dei segnali:

org.openspcoop2.protocol.modipa.signalHub.api.name=api-pdnd-push-signals org.openspcoop2.protocol.modipa.signalHub.api.version=1

Formato dell’identificativo dell’algoritmo esposto sul servizio di pseudoanonimizzazione

L’endpoint di pseudoanonimizzazione (sia REST che SOAP) espone, nel campo cryptoHashFunction, l’identificativo dell’algoritmo di hash configurato sull’erogazione. Per default GovWay restituisce l’identificativo standard JCA (es. SHA-256, SHA-512/256, SHA3-256), direttamente utilizzabile dal consumatore come argomento di java.security.MessageDigest.getInstance(...). Nelle versioni precedenti veniva invece restituito il nome dell’enum interno org.openspcoop2.utils.digest.DigestType (es. SHA256, SHA512_256, SHA3_256).

Per consentire la retrocompatibilità con consumatori già integrati contro la vecchia versione di GovWay, è possibile riabilitare il comportamento precedente tramite la seguente proprietà, da aggiungere nel file di configurazione locale /etc/govway/modipa_local.properties (assumendo sia /etc/govway la directory di configurazione indicata in fase di installazione):

org.openspcoop2.protocol.modipa.signalHub.algorithms.exposedName.legacy=false

Quando impostata a true, GovWay espone il nome dell’enum interno org.openspcoop2.utils.digest.DigestType invece dell’identificativo standard JCA. Il valore predefinito è false. La mappatura tra i due formati è la seguente:

legacy=true (nome enum)

legacy=false (identificativo JCA, default)

SHA256

SHA-256

SHA512_256

SHA-512/256

SHA384

SHA-384

SHA512

SHA-512

SHA3_256

SHA3-256

SHA3_384

SHA3-384

SHA3_512

SHA3-512

SHAKE128

SHAKE128 (invariato)

SHAKE256

SHAKE256 (invariato)

Il flag globale può essere ridefinito puntualmente sulla singola erogazione attraverso la Proprietà modi.signalHub.algorithms.exposedName.legacy valorizzandola con true o false. Tale override consente di mantenere il comportamento legacy soltanto per specifiche erogazioni i cui consumatori non siano ancora stati allineati al nuovo formato standard.

Il razionale della scelta di esporre l’identificativo standard JCA, coerente con quanto demandato dal Manuale Operativo Signal Hub di PDND, è argomentato nella sezione Conformità alla specifica PDND.

Esposizione del signalId sul servizio di pseudoanonimizzazione

L’endpoint di pseudoanonimizzazione (sia REST che SOAP) può includere nel response un campo signalId che identifica il segnale di tipo SEEDUPDATE che ha introdotto il seme corrente. L’informazione consente al consumatore di sincronizzarsi correttamente dopo un primo accesso al servizio o dopo una perdita di sincronizzazione, sapendo da quale signalId in poi il seme restituito è applicabile. Per il primo seme storico (mai sostituito da un SEEDUPDATE) il valore esposto è 0.

L’esposizione del campo è controllata dalla seguente proprietà, da aggiungere nel file di configurazione locale /etc/govway/modipa_local.properties (assumendo sia /etc/govway la directory di configurazione indicata in fase di installazione):

org.openspcoop2.protocol.modipa.signalHub.pseudonymization.exposeSignalId=true

Il valore predefinito è false (campo non esposto), per garantire la retrocompatibilità con consumatori già integrati contro la vecchia versione di GovWay che validano in modo strict lo schema della risorsa di pseudoanonimizzazione. Impostando il valore a true il campo viene incluso nella risposta.

Il flag globale può essere ridefinito puntualmente sulla singola erogazione attraverso la Proprietà modi.signalHub.pseudonymization.exposeSignalId valorizzandola con true o false. Tale override consente di attivare l’esposizione del signalId soltanto per specifiche erogazioni i cui consumatori sono in grado di gestire il nuovo campo.