Interfaccia SOAP 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 WSDL riportata di seguito.

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

Listato 2 Specifica WSDL - Risorsa di pseudoanonimizzazione
 1     <?xml version="1.0" encoding="UTF-8"?>
 2     <wsdl:definitions
 3         name="SignalHubTestSOAP12"
 4         targetNamespace="http://govway.org/pdnd/signalhub"
 5         xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
 6         xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
 7         xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 8         xmlns:tns="http://govway.org/pdnd/signalhub">
 9
10         <!-- Types -->
11         <wsdl:types>
12             <xsd:schema targetNamespace="http://govway.org/pdnd/signalhub"
13                         elementFormDefault="qualified">
14
15                 <!-- Input element -->
16                 <xsd:element name="pseudonymization">
17                     <xsd:complexType>
18                         <xsd:sequence>
19                             <xsd:element name="signalId" type="xsd:string" minOccurs="0"/>
20                         </xsd:sequence>
21                     </xsd:complexType>
22                 </xsd:element>
23
24                 <!-- Output element -->
25                 <xsd:element name="pseudonymizationResponse">
26                     <xsd:complexType>
27                         <xsd:sequence>
28                             <xsd:element name="cryptoHashFunction" type="xsd:string"/>
29                             <xsd:element name="seed" type="xsd:string"/>
30                             <xsd:element name="signalId" type="xsd:long" minOccurs="0"/>
31                         </xsd:sequence>
32                     </xsd:complexType>
33                 </xsd:element>
34
35             </xsd:schema>
36         </wsdl:types>
37
38         <!-- Messages -->
39         <wsdl:message name="pseudonymization">
40             <wsdl:part name="parameters" element="tns:pseudonymization"/>
41         </wsdl:message>
42
43         <wsdl:message name="pseudonymizationResponse">
44             <wsdl:part name="parameters" element="tns:pseudonymizationResponse"/>
45         </wsdl:message>
46
47         <!-- Port Type -->
48         <wsdl:portType name="SignalHubTestSOAP12">
49             <wsdl:operation name="pseudonymization">
50                 <wsdl:input message="tns:pseudonymization"/>
51                 <wsdl:output message="tns:pseudonymizationResponse"/>
52             </wsdl:operation>
53         </wsdl:portType>
54
55         <!-- Binding -->
56         <wsdl:binding name="CryptoInfoBinding" type="tns:SignalHubTestSOAP12">
57             <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
58             <wsdl:operation name="pseudonymization">
59                 <soap12:operation soapAction="pseudonymization"/>
60                 <wsdl:input>
61                     <soap12:body use="literal"/>
62                 </wsdl:input>
63                 <wsdl:output>
64                     <soap12:body use="literal"/>
65                 </wsdl:output>
66             </wsdl:operation>
67         </wsdl:binding>
68
69         <!-- Service -->
70         <wsdl:service name="SignalHubTestSOAP12">
71             <wsdl:port name="CryptoInfoPort" binding="tns:CryptoInfoBinding">
72                 <soap12:address location="http://localhost:8080/crypto/GetSeed"/>
73             </wsdl:port>
74         </wsdl:service>
75
76     </wsdl:definitions>

Come definito nel WSDL il target namespace degli elementi inerenti alla pseudoanonimizzazione risulta essere http://govway.org/pdnd/signalhub. L’esposizione dell’operazione si adatta automaticamente alla versione del protocollo SOAP utilizzata nella richiesta ricevuta, garantendo piena compatibilità sia con SOAP 1.1 che con SOAP 1.2.

Il namespace utilizzato può essere personalizzato impostando la Proprietà pdnd.signalHub.namespace all’interno della schermata di configurazione dell’erogazione interessata come mostrato nella figura “Fig. 320

../../../_images/SignalHubErogazioneCustomNamespace.png

Fig. 320 Schermata di configurazione della proprietà per impostare un namespace personalizzato.

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

L’elemento 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 dell’elemento è controllata dalla proprietà org.openspcoop2.protocol.modipa.signalHub.pseudonymization.exposeSignalId descritta nella sezione Esposizione del signalId sul servizio di pseudoanonimizzazione.

Il valore dell’elemento 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.