Colloquio TOTEM-SIRGESA - OSCAT
Transcript
Colloquio TOTEM-SIRGESA - OSCAT
Gestione della Carta Sanitaria Elettronica - TS-CNS Colloquio SIRGESA-TOTEM – Specifiche Tecniche Colloquio TOTEM-SIRGESA Specifiche Tecniche Versione 1.0 07/03/2013 RTI Funzione Redazione Capo progetto RTI (Aruba) Esperto di dominio (Actalis) Capo progetto CMS (Engineering) Esperto architetture (Engineering) Approvazione Capo progetto RTI Regione Toscana Funzione Nome Umberto Ferrara, Riccardo Casiraghi Massimo Agostiniani Fabio Bennati Nome Verifica Approvazione Nome file: CSE-ServiziAggiuntivi_SIRGESA_TOTEM_ST_1-0.odt Pag. 1 di 40 Gestione della Carta Sanitaria Elettronica - TS-CNS Colloquio SIRGESA-TOTEM – Specifiche Tecniche Indice generale AGGIORNAMENTI DELLE VERSIONI..................................................................3 1GENERALITÀ............................................................................................4 1.1Scopo........................................................................................................................................................................4 1.2Riferimenti................................................................................................................................................................4 1.3Definizioni e abbreviazioni.......................................................................................................................................4 1.4Allegati......................................................................................................................................................................4 2PREREQUISITI/VINCOLI..............................................................................5 3SCENARIO D'USO......................................................................................6 3.1Caso d'uso F001P1UC1: Installazione Servizio Aggiuntivo....................................................................................6 3.2Caso d'uso F001P1UC1-1: Esecuzione macro comando........................................................................................10 4SPECIFICHE INTERFACCIA SIRGESA-TOTEM....................................................13 4.1Autorizza Richiesta.................................................................................................................................................13 4.1.1Sirgesa Response AuthReq........................................................................................................................14 4.2Recupera Modello...................................................................................................................................................14 4.2.1Sirgesa Response Model............................................................................................................................15 4.2.2Schema di validazione del RuntimeServiceModel...............................................................................15 4.2.3Macro Comandi............................................................................................................................................17 4.2.3.1Crea Area Servizio Aggiuntivo.................................................................................................................18 4.2.3.2Elimina Area Servizio Aggiuntivo............................................................................................................20 4.2.3.3Crea Cartella.............................................................................................................................................21 4.2.3.4Elimina Cartella........................................................................................................................................23 4.2.3.5Crea File....................................................................................................................................................24 4.2.3.6Crea File BSO...........................................................................................................................................26 4.2.3.7Elimina File...............................................................................................................................................28 4.2.3.8Verifica File..............................................................................................................................................29 4.2.3.9Verifica Cartella........................................................................................................................................30 4.2.3.10Verifica Seriale Carta.............................................................................................................................31 4.2.4Esempio Risposta REST............................................................................................................................31 4.3Notify Esito.............................................................................................................................................................36 4.3.1Sirgesa Response Notify..........................................................................................................................36 4.4Validate...................................................................................................................................................................38 4.4.1Sirgesa Response Validate.......................................................................................................................39 Pag. 2 di 40 Gestione della Carta Sanitaria Elettronica - TS-CNS Colloquio SIRGESA-TOTEM – Specifiche Tecniche AGGIORNAMENTI DELLE VERSIONI Versione Data Motivo 0.9 draft a 1.0 28/01/13 07/03/13 Emissione Gestione nuovo parametro “parameters” + Correzione Modifiche – Aggiunta riga alle tabelle descrittive dei comandi nei sottoparagrafi del § 4.2.3 Struttura securityElement del comando “CreaFileBSO” - paragrafo 4.2.3.6 Pag. 3 di 40 Gestione della Carta Sanitaria Elettronica - TS-CNS Colloquio SIRGESA-TOTEM – Specifiche Tecniche 1 GENERALITÀ Nell'ambito della diffusione di servizi aggiuntivi sulla CNS Regione Toscana ha implementato per le CNS di cui è ente emettitore un servizio infrastrutturale utile alla semplificazione dell'inizializzazione dei servizi. Il servizio “SIstema Regionale di GEstione dei Servizi Aggiuntivi” (SIRGESA) ha il compito di inizializzare il servizio aggiuntivo su richiesta del “Sistema di Gestione dello Specifico Servizio (SGSS)”. Il servizio, una volta inizializzato potrà essere utilizzato da altri sistemi secondo le specifiche del servizio stesso. Il presente documento costituisce l’output del processo di definizione delle specifiche tecniche dell’interfaccia di colloquio tra SIRGESA ed i sistemi TOTEM, di cui si è dotata Regione Toscana, volto all’inizializzazione di un generico servizio aggiuntivo sulla carta CNS regionale. Il documento descrive: • Pre-requisiti • Scenario d'uso • Indicazione delle specifiche di interfaccia; 1.1 Scopo L’obiettivo di questo documento è quello di descrivere l’interfaccia e le modalità di interazione tra SIRGESA e TOTEM. 1.2 Riferimenti http://www.digitpa.gov.it/sites/default/files/LineeguidaCNS%28v3.0%29.pdf http://www.digitpa.gov.it/sites/default/files/FileSystemCNS_21112005.pdf http://www.digitpa.gov.it/sites/default/files/allegati_tec/CNS Functional Specification 1.1.6_02042011.pdf 1.3 Definizioni e abbreviazioni RT Regione Toscana SIRGESA SIstema Regionale di GEstione dei Servizi Aggiuntivi SGSS Sistema di Gestione dello Specifico Servizio CNS Carta Nazionale dei Servizi TOTEM Chiosco o punto informativo, è principalmente un computer disponibile all'uso pubblico APDU Application Protocol Data Unit ISO7816-4 Identification cards - Integrated circuit cards - Organization, security and commands for interchange JSON JavaScript Object Notation REST Representational state transfer 1.4 Allegati N.A. Pag. 4 di 40 Gestione della Carta Sanitaria Elettronica - TS-CNS Colloquio SIRGESA-TOTEM – Specifiche Tecniche 2 PREREQUISITI/VINCOLI Di seguito elenchiamo i pre-requisiti necessari all’attivazione del colloquio tra SIRGESA e TOTEM: • SIRGESA ha a disposizione un proprio certificato APP2APP (p12) composto di due chiavi una pubblica ed una privata di seguito indicate con SIRGESA_PK e SIRGESA_SK. • SGSS ha a disposizione un proprio certificato APP2APP (p12) composto di due chiavi una pubblica ed una privata di seguito indicate con SGSS_PK e SGSS_SK. • Il TOTEM ha ricevuto la chiave pubblica di SIRGESA (SIRGESA_PK) quale elementi necessario alla gestione del colloquio tra i due sistemi • Affinché l'inizializzazione del servizio possa avvenire è necessario che la postazione TOTEM, di seguito indicato genericamente come client, ove è presente la CNS abbia le seguenti caratteristiche: o connettività di rete o driver di colloquio con la carta secondo le specifiche CNS (ISO7816) o capacita di instaurare un colloquio secondo il protocollo http ovvero http over ssl in architettura REST • Il TOTEM richiama la url di autorizzazione richiesta esposta da SIRGESA per l'inizializzazione del servizio sulla carta solo se SGSS lo ha notificato dell'assenza del servizio sulla carta fornendogli i parametri necessari alla costruzione della richiesta. • Il TOTEM deve essere in grado di recuperare il seriale dalla carta CNS regionale e di colloquiare con esso secondo lo standard ISO 7816 (comandi APDU) Pag. 5 di 40 Gestione della Carta Sanitaria Elettronica - TS-CNS Colloquio SIRGESA-TOTEM – Specifiche Tecniche 3 SCENARIO D'USO 3.1 Caso d'uso F001P1UC1: Installazione Servizio Aggiuntivo ID: F001P1UC1 Titolo: Installazione Servizio Aggiuntivo Versione: 1.0 Stato: Draft Attori: Totem, SGSS, SIRGESA Breve descrizione: Il TOTEM rilevata l'asenza del servizio aggiuntivo sulla carta richiede al sistema SGSS le informazioni necessarie per procedere all'installazione del servizio sulla carta CNS regionale; Il TOTEM ricevute le informazioni colloquia con il sistema SIRGESA per essere pilotato nell'installazione dello specifico servizio aggiuntivo sulla carta. Completata l'installazione del servizio aggiuntivo il TOTEM torna a colloquiare con il sistema SGSS per gestire il servizio aggiuntivo sulla carta. Evento scatenante: Accesso dell'utente alle funzionalità di gestione del servizio aggiuntivo presso una postazione TOTEM e mancata presenza del servizio aggiuntivo sulla propria carta CNS regionale. Postcondizioni: Precondizioni: • Il TOTEM trova installato sulla carta CNS • Il client (TOTEM) ha connettività internet regionale, in esso inserita, il servizio • Il client ha ricevuto la chiave pubblica di aggiuntivo gestito da SGSS SIRGESA (SIRGESA_PK) quale elemento necessario alla gestione del colloquio tra i due sistemi • SIRGESA è una applicazione web • SIRGESA espone su internet alcune risorse web su cui il client farà pervenire delle richieste secondo protocollo http ovvero http over ssl in architettura REST. Attività: 1. Il TOTEM, rilevata l'assenza dello specifico servizio aggiuntivo sulla carta CNS regionale e ricevute da SGSS le informazione necessarie ad attivare il processo di installazione del servizio sulla carta, invia a SIRGESA (Autorizza Richiesta) una richiesta di autorizzazione all'installazione del servizio sulla carta; 2. Il Sistema SIRGESA riceve la richiesta di autorizzazione all'esecuzione dell'installazione del servizio corredata di tutte le informazioni necessarie a completare l’attività; La richiesta è corredata di un parametro denominato verifycheck che rappresenta l'hash dei parametri di richiesta firmato con la chiave privata di SGSS; 3. Il TOTEM riceve da SIRGESA la sessionkey associata alla propria richiesta e la modalità di esecuzione dell'azione richiesta: automatica o con previo consenso del possessore della carta; 4. Il TOTEM richiede a SIRGESA (Recupera Modello) il modello di esecuzione dell'azione autorizzata fornendo come propria chiave autorizzativa la sessionkey precedente ricevuta; 5. SIRGESA comunica al TOTEM il modello di esecuzione precedentemente generato ed associato alla specifica sessionkey; la risposta è corredata di un valore denominato verifycheck che rappresenta l'hash della risposta firmato con la chiave privata di SIRGESA; 6. Il TOTEM verificata l'autenticità della risposta, analizza il modello di esecuzione individuando in esso le unità di processo da eseguire sulla carta; 7. Il TOTEM per ciascuna delle unità di processo presenti procede alla sua interpretazione e alla esecuzione sulla carta dell'insieme di macro comandi in essa contenuti come descritto nel sottocaso d'uso (Esecuzione macro comando); 8. Il TOTEM completata positivamente l'esecuzione di tutte le unità di processo previste dal modello Pag. 6 di 40 Gestione della Carta Sanitaria Elettronica - TS-CNS Colloquio SIRGESA-TOTEM – Specifiche Tecniche di esecuzione trasmette a SIRGESA (Notify Esito) l'esito dell'esecuzione così come definito nel modello di esecuzione e la sessionkey autorizzativa; 9. SIRGESA comunica al TOTEM l'avvenuta registrazione dell'esito ed un insieme di valori utili a riprendere il colloquio con SGSS per la gestione del servizio aggiuntivo sulla carta; la risposta è corredata di un valore denominato verifycheck che rappresenta l'hash della risposta firmato con la chiave privata di SIRGESA; 10. Il caso d’uso termina. Flussi alternativi: Se la richiesta di autorizzazione inviata dal TOTEM a SIRGESA non ha esito positivo. 1. Il TOTEM, rilevata l'assenza dello specifico servizio aggiuntivo sulla carta CNS regionale e ricevute da SGSS le informazione necessarie ad attivare il processo di installazione del servizio sulla carta, invia a SIRGESA (Autorizza Richiesta) una richiesta di autorizzazione all'installazione del servizio sulla carta; 2. Il Sistema SIRGESA riceve la richiesta di autorizzazione all'esecuzione dell'installazione del servizio corredata di tutte le informazioni necessarie a completare l’attività; La richiesta è corredata di un parametro denominato verifycheck che rappresenta l'hash dei parametri di richiesta firmato con la chiave privata di SGSS; 3. Il TOTEM riceve da SIRGESA un esito negativo all'autorizzazione della richiesta ed interrompe il processo di gestione del servizio sulla carta dando opportuna notifica al possessore della carta; 4. Il caso d’uso termina. Flussi alternativi: Se la richiesta di Recupera Modello inviata dal TOTEM a SIRGESA non ha esito positivo. 1. Il TOTEM, rilevata l'assenza dello specifico servizio aggiuntivo sulla carta CNS regionale e ricevute da SGSS le informazione necessarie ad attivare il processo di installazione del servizio sulla carta, invia a SIRGESA (Autorizza Richiesta) una richiesta di autorizzazione all'installazione del servizio sulla carta; 2. Il Sistema SIRGESA riceve la richiesta di autorizzazione all'esecuzione dell'installazione del servizio corredata di tutte le informazioni necessarie a completare l’attività; La richiesta è corredata di un parametro denominato verifycheck che rappresenta l'hash dei parametri di richiesta firmato con la chiave privata di SGSS; 3. Il TOTEM riceve da SIRGESA la sessionkey associata alla propria richiesta e la modalità di esecuzione dell'azione richiesta: automatica o con previo consenso del possessore della carta; 4. Il TOTEM richiede a SIRGESA (Recupera Modello) il modello di esecuzione dell'azione autorizzata fornendo come propria chiave autorizzativa la sessionkey precedente ricevuta; 5. SIRGESA comunica al TOTEM un esito negativo in risposta alla richiesta effettuata; la risposta è corredata di un valore denominato verifycheck che rappresenta l'hash della risposta firmato con la chiave privata di SIRGESA; 6. Il TOTEM verificata l'autenticità della risposta interrompe il processo di gestione del servizio sulla carta dando opportuna notifica al possessore della carta; 7. Il caso d’uso termina. Flussi alternativi: Se la verifica di autenticità della risposta ricevuta da SIRGESA all'invocazione della risorsa Recupera Modello non ha esito positivo. 1. Il TOTEM, rilevata l'assenza dello specifico servizio aggiuntivo sulla carta CNS regionale e ricevute da SGSS le informazione necessarie ad attivare il processo di installazione del servizio sulla carta, invia a SIRGESA (Autorizza Richiesta) una richiesta di autorizzazione all'installazione del servizio sulla carta; 2. Il Sistema SIRGESA riceve la richiesta di autorizzazione all'esecuzione dell'installazione del servizio Pag. 7 di 40 Gestione della Carta Sanitaria Elettronica - TS-CNS Colloquio SIRGESA-TOTEM – Specifiche Tecniche 3. 4. 5. 6. 7. 8. 9. corredata di tutte le informazioni necessarie a completare l’attività; La richiesta è corredata di un parametro denominato verifycheck che rappresenta l'hash dei parametri di richiesta firmato con la chiave privata di SGSS; Il TOTEM riceve da SIRGESA la sessionkey associata alla propria richiesta e la modalità di esecuzione dell'azione richiesta: automatica o con previo consenso del possessore della carta; Il TOTEM richiede a SIRGESA (Recupera Modello) il modello di esecuzione dell'azione autorizzata fornendo come propria chiave autorizzativa la sessionkey precedente ricevuta; SIRGESA comunica al TOTEM il modello di esecuzione precedentemente generato ed associato alla specifica sessionkey; la risposta è corredata di un valore denominato verifycheck che rappresenta l'hash della risposta firmato con la chiave privata di SIRGESA; Il TOTEM non avendo verificata l'autenticità della risposta trasmette a SIRGESA (Notify Esito) l'esito negativo (94) e la sessionkey autorizzativa; SIRGESA comunica al TOTEM l'avvenuta registrazione dell'esito; Il TOTEM interrompe il processo di gestione del servizio sulla carta dando opportuna notifica al possessore della carta; Il caso d’uso termina. Flussi alternativi: Se il modello di esecuzione del servizio non è conforme allo schema previsto. 1. Il TOTEM, rilevata l'assenza dello specifico servizio aggiuntivo sulla carta CNS regionale e ricevute da SGSS le informazione necessarie ad attivare il processo di installazione del servizio sulla carta, invia a SIRGESA (Autorizza Richiesta) una richiesta di autorizzazione all'installazione del servizio sulla carta; 2. Il Sistema SIRGESA riceve la richiesta di autorizzazione all'esecuzione dell'installazione del servizio corredata di tutte le informazioni necessarie a completare l’attività; La richiesta è corredata di un parametro denominato verifycheck che rappresenta l'hash dei parametri di richiesta firmato con la chiave privata di SGSS; 3. Il TOTEM riceve da SIRGESA la sessionkey associata alla propria richiesta e la modalità di esecuzione dell'azione richiesta: automatica o con previo consenso del possessore della carta; 4. Il TOTEM richiede a SIRGESA (Recupera Modello) il modello di esecuzione dell'azione autorizzata fornendo come propria chiave autorizzativa la sessionkey precedente ricevuta; 5. SIRGESA comunica al TOTEM il modello di esecuzione precedentemente generato ed associato alla specifica sessionkey; la risposta è corredata di un valore denominato verifycheck che rappresenta l'hash della risposta firmato con la chiave privata di SIRGESA; 6. Il TOTEM verificata l'autenticità della risposta, analizza il modello di esecuzione e ne riscontra la non conformita allo schema previsto; 7. Il TOTEM trasmette a SIRGESA (Notify Esito) l'esito negativo (99) e la sessionkey autorizzativa; 8. SIRGESA comunica al TOTEM l'avvenuta registrazione dell'esito; 9. Il TOTEM interrompe il processo di gestione del servizio sulla carta dando opportuna notifica al possessore della carta; 10. Il caso d’uso termina. Flussi alternativi: Se una unità di processo definita nel modello non si completa con esito positivo ad esclusione dell'unità di verifica assenza servizio (codici errore diverso da “01”). 1. Il TOTEM, rilevata l'assenza dello specifico servizio aggiuntivo sulla carta CNS regionale e ricevute da SGSS le informazione necessarie ad attivare il processo di installazione del servizio sulla carta, invia a SIRGESA (Autorizza Richiesta) una richiesta di autorizzazione all'installazione del servizio sulla carta; 2. Il Sistema SIRGESA riceve la richiesta di autorizzazione all'esecuzione dell'installazione del servizio corredata di tutte le informazioni necessarie a completare l’attività; La richiesta è corredata di un parametro denominato verifycheck che rappresenta l'hash dei parametri di richiesta firmato con la Pag. 8 di 40 Gestione della Carta Sanitaria Elettronica - TS-CNS Colloquio SIRGESA-TOTEM – Specifiche Tecniche chiave privata di SGSS; 3. Il TOTEM riceve da SIRGESA la sessionkey associata alla propria richiesta e la modalità di esecuzione dell'azione richiesta: automatica o con previo consenso del possessore della carta; 4. Il TOTEM richiede a SIRGESA (Recupera Modello) il modello di esecuzione dell'azione autorizzata fornendo come propria chiave autorizzativa la sessionkey precedente ricevuta; 5. SIRGESA comunica al TOTEM il modello di esecuzione precedentemente generato ed associato alla specifica sessionkey; la risposta è corredata di un valore denominato verifycheck che rappresenta l'hash della risposta firmato con la chiave privata di SIRGESA; 6. Il TOTEM verificata l'autenticità della risposta, analizza il modello di esecuzione individuando in esso le unità di processo da eseguire sulla carta; 7. Il TOTEM per ciascuna delle unità di processo presenti procede alla sua interpretazione e alla esecuzione sulla carta dell'insieme di macro comandi in essa contenuti come descritto nel sottocaso d'uso (Esecuzione macro comando); 8. Il TOTEM rileva un esito negativo nell'esecuzione della singola unità di processo ed individua nella definizione della stessa all'interno del modello di esecuzione il codice di errore da trasmettere a SIRGESA; 9. Il TOTEM trasmette a SIRGESA (Notify Esito) l'esito negativo e la sessionkey autorizzativa; 10. SIRGESA comunica al TOTEM l'avvenuta registrazione dell'esito; 11. Il TOTEM interrompe il processo di gestione del servizio sulla carta dando opportuna notifica al possessore della carta; 12. Il caso d’uso termina. Flussi alternativi: Se l'unità di processo di verifica assenza servizio ritorna esito negativo (“01”). 1. Il TOTEM, rilevata l'assenza dello specifico servizio aggiuntivo sulla carta CNS regionale e ricevute da SGSS le informazione necessarie ad attivare il processo di installazione del servizio sulla carta, invia a SIRGESA (Autorizza Richiesta) una richiesta di autorizzazione all'installazione del servizio sulla carta; 2. Il Sistema SIRGESA riceve la richiesta di autorizzazione all'esecuzione dell'installazione del servizio corredata di tutte le informazioni necessarie a completare l’attività; La richiesta è corredata di un parametro denominato verifycheck che rappresenta l'hash dei parametri di richiesta firmato con la chiave privata di SGSS; 3. Il TOTEM riceve da SIRGESA la sessionkey associata alla propria richiesta e la modalità di esecuzione dell'azione richiesta: automatica o con previo consenso del possessore della carta; 4. Il TOTEM richiede a SIRGESA (Recupera Modello) il modello di esecuzione dell'azione autorizzata fornendo come propria chiave autorizzativa la sessionkey precedente ricevuta; 5. SIRGESA comunica al TOTEM il modello di esecuzione precedentemente generato ed associato alla specifica sessionkey; la risposta è corredata di un valore denominato verifycheck che rappresenta l'hash della risposta firmato con la chiave privata di SIRGESA; 6. Il TOTEM verificata l'autenticità della risposta, analizza il modello di esecuzione individuando in esso le unità di processo da eseguire sulla carta; 7. Il TOTEM per ciascuna delle unità di processo presenti procede alla sua interpretazione e alla esecuzione sulla carta dell'insieme di macro comandi in essa contenuti come descritto nel sottocaso d'uso (Esecuzione macro comando); 8. Il TOTEM rileva un esito negativo nell'esecuzione della singola unità di processo ed individua nella definizione della stessa all'interno del modello di esecuzione il codice di errore da trasmettere a SIRGESA (“01”: servizio già installato); 9. Il TOTEM trasmette a SIRGESA (Notify Esito) l'esito negativo (“01”) e la sessionkey autorizzativa; 10. SIRGESA comunica al TOTEM l'avvenuta registrazione dell'esito ed un insieme di valori utili a riprendere il colloquio con SGSS per la gestione del servizio aggiuntivo sulla carta; la risposta è corredata di un valore denominato verifycheck che rappresenta l'hash della risposta firmato con la chiave privata di SIRGESA; 11. Il caso d'uso termina. Pag. 9 di 40 Gestione della Carta Sanitaria Elettronica - TS-CNS Colloquio SIRGESA-TOTEM – Specifiche Tecniche Flussi alternativi: Se la comunicazione dell'esito dal TOTEM a SIRGESA (NotifyEsito) non si completa con esito positivo. 1. Il TOTEM, rilevata l'assenza dello specifico servizio aggiuntivo sulla carta CNS regionale e ricevute da SGSS le informazione necessarie ad attivare il processo di installazione del servizio sulla carta, invia a SIRGESA (Autorizza Richiesta) una richiesta di autorizzazione all'installazione del servizio sulla carta; 2. Il Sistema SIRGESA riceve la richiesta di autorizzazione all'esecuzione dell'installazione del servizio corredata di tutte le informazioni necessarie a completare l’attività; La richiesta è corredata di un parametro denominato verifycheck che rappresenta l'hash dei parametri di richiesta firmato con la chiave privata di SGSS; 3. Il TOTEM riceve da SIRGESA la sessionkey associata alla propria richiesta e la modalità di esecuzione dell'azione richiesta: automatica o con previo consenso del possessore della carta; 4. Il TOTEM richiede a SIRGESA (Recupera Modello) il modello di esecuzione dell'azione autorizzata fornendo come propria chiave autorizzativa la sessionkey precedente ricevuta; 5. SIRGESA comunica al TOTEM il modello di esecuzione precedentemente generato ed associato alla specifica sessionkey; la risposta è corredata di un valore denominato verifycheck che rappresenta l'hash della risposta firmato con la chiave privata di SIRGESA; 6. Il TOTEM verificata l'autenticità della risposta, analizza il modello di esecuzione individuando in esso le unità di processo da eseguire sulla carta; 7. Il TOTEM per ciascuna delle unità di processo presenti procede alla sua interpretazione e alla esecuzione sulla carta dell'insieme di macro comandi in essa contenuti come descritto nel sottocaso d'uso (Esecuzione macro comando); 8. Il TOTEM completata positivamente l'esecuzione di tutte le unità di processo previste dal modello di esecuzione trasmette a SIRGESA (Notify Esito) l'esito dell'esecuzione così come definito nel modello di esecuzione e la sessionkey autorizzativa; 9. SIRGESA comunica al TOTEM la mancata registrazione dell'esito ritornando un esito negativo; la risposta è corredata di un valore denominato verifycheck che rappresenta l'hash della risposta firmato con la chiave privata di SIRGESA; 10. Il TOTEM interrompe il processo di gestione del servizio sulla carta dando opportuna notifica al possessore della carta; 11. Il caso d’uso termina. 3.2 Caso d'uso F001P1UC1-1: Esecuzione macro comando ID: F001P1UC1-1 Titolo: Esecuzione Macro Comando Versione: 1.0 Stato: Draft Attori: Totem, SIRGESA Breve descrizione: Il TOTEM, analizzata l'unità di processo del modello di esecuzione, ne estrapola i macro comandi corredati da insiemi specifici di parametri di esecuzione. Per ciascun macro comando il Totem verifica che la smart card inserita abbia il numero seriale associato al macro-comando e procede a trasformarlo nell'insieme di comandi APDU che consentono l'attuazione del medesimo sulla carta. Il TOTEM per inoltrare i comandi APDU potrebbe avere necessità di eseguire una external authentication sulla carta e per eseguirla dovrà Pag. 10 di 40 Gestione della Carta Sanitaria Elettronica - TS-CNS Colloquio SIRGESA-TOTEM – Specifiche Tecniche richiedere a SIRGESA la criptazione del challenge ottenuto dalla carta. Completato l'invio dei comandi APDU alla carta il TOTEM procederà alla chiusura della sessione in external authentication. Evento scatenante: Il TOTEM ha ricevuto da SIRGESA un modello di esecuzione valido, analizzando una unità di processo in esso contenuta ha individuato un macro comando da eseguire sulla carta. Precondizioni: Postcondizioni: • Il TOTEM ha realizzato correttamente sulla carta il macro comando riportato nel modello di esecuzione. Attività: 1. Il TOTEM, analizza il comando ed estrapola i valori dei singoli parametri ad esso associati verificando coerenza e completezza; 2. Il TOTEM verifica che il seriale della carta su cui opera corrisponda al parametro “serialeCarta” presente all'interno del comando; 3. Il TOTEM richiede alla carta la generazione di un challenge per attivare l'external authentication; 4. Il TOTEM richiede a SIRGESA (Validate) la validazione del comando posto in esecuzione e la criptazione del challenge fornendo come propria chiave autorizzativa la sessionkey ricevuta; 5. SIRGESA comunica al TOTEM il challenge criptato; 6. Il TOTEM tramite il challenge criptato esegue l'external authentication sulla carta; 7. Il TOTEM trasforma il macro comando ed i parametri ad esso associato nei relativi comandi APDU, li invia alla carta e ne gestisce gli esiti; 8. Il TOTEM completata positivamente l'esecuzione di tutti i comandi APDU generati chiude la sessione di external authentication sulla carta; 9. Il TOTEM segnala la corretta esecuzione del macro comando sulla carta al gestore di esecuzione della unità di processo di cui il comando fa parte; 10. Il caso d’uso termina. Flussi alternativi: Se la verifica della coerenza del seriale della carta ha esito negativo. 1. Il TOTEM, analizza il comando ed estrapola i valori dei singoli parametri ad esso associati verificando coerenza e completezza; 2. Il TOTEM verifica che il seriale della carta su cui opera non corrisponde al parametro “serialeCarta” presente all'interno del comando; 3. Il TOTEM segnala la non corretta esecuzione del macro comando sulla carta al gestore di esecuzione della unità di processo di cui il comando fa parte; 4. Il caso d’uso termina. Flussi alternativi: Se la richiesta di Validate inviata dal TOTEM a SIRGESA non ha esito positivo. 1. Il TOTEM, analizza il comando ed estrapola i valori dei singoli parametri ad esso associati verificando coerenza e completezza; 2. Il TOTEM verifica che il seriale della carta su cui opera corrisponda al parametro “serialeCarta” presente all'interno del comando; 3. Il TOTEM richiede alla carta la generazione di un challenge per attivare l'external authentication; 4. Il TOTEM richiede a SIRGESA (Validate) la validazione del comando posto in esecuzione e la criptazione del challenge fornendo come propria chiave autorizzativa la sessionkey ricevuta; 5. SIRGESA comunica al TOTEM un esito negativo; 6. Il TOTEM segnala la non corretta esecuzione del macro comando sulla carta al gestore di esecuzione della unità di processo di cui il comando fa parte; 7. Il caso d’uso termina. Pag. 11 di 40 Gestione della Carta Sanitaria Elettronica - TS-CNS Colloquio SIRGESA-TOTEM – Specifiche Tecniche Flussi alternativi: Se l'esito dell'invio dal TOTEM alla carta di un comando APDU non ha l'esito previsto. 1. Il TOTEM, analizza il comando ed estrapola i valori dei singoli parametri ad esso associati verificando coerenza e completezza; 2. Il TOTEM verifica che il seriale della carta su cui opera corrisponda al parametro “serialeCarta” presente all'interno del comando; 3. Il TOTEM richiede alla carta la generazione di un challenge per attivare l'external authentication; 4. Il TOTEM richiede a SIRGESA (Validate) la validazione del comando posto in esecuzione e la criptazione del challenge fornendo come propria chiave autorizzativa la sessionkey ricevuta; 5. SIRGESA comunica al TOTEM il challenge criptato; 6. Il TOTEM tramite il challenge criptato esegue l'external authentication sulla carta; 7. Il TOTEM trasforma il macro comando ed i parametri ad esso associato nei relativi comandi APDU, li invia alla carta e ne gestisce gli esiti; 8. Il TOTEM registra un esito imprevisto come risultato dell'esecuzione di un comando APDU e quindi chiude la sessione di external authentication sulla carta; 9. Il TOTEM segnala la non corretta esecuzione del macro comando sulla carta al gestore di esecuzione della unità di processo di cui il comando fa parte; 10. Il caso d’uso termina. Pag. 12 di 40 Gestione della Carta Sanitaria Elettronica - TS-CNS Colloquio SIRGESA-TOTEM – Specifiche Tecniche 4 SPECIFICHE INTERFACCIA SIRGESA-TOTEM 4.1 Autorizza Richiesta Il SIRGESA mette a disposizione una risorsa web, in architettura REST su protocollo https, a cui il client (TOTEM) richiede l'autorizzazione all'esecuzione di una delle azioni previste sulla carta relativamente ad uno specifico servizio aggiuntivo. Le url da richiamare sono: Ambiente di pre-produzione https://<nome_server_pre-produzione>/sirgesa/rest/autorizzaRichiesta Ambiente di produzione https://<nome_server_produzione>/sirgesa/rest/autorizzaRichiesta Il sistema SIRGESA sulle indicate url: • non prevede l’identificazione del client • attraverso il parametro verifycheck verifica che i parametri di chiamata risultano inalterati e forniti da SGSS. Di seguito le caratteristiche di invocazione in termini di parametri passati in POST sulla url: PARAMETRI Azione serviceName transId urlRitorno serialNumber timestamp verifycheck DESCRIZIONE Azione richiesta sulla carta. Possibili valori: • INIT • REMOVE (ancora non attiva) • VERIFY (ancora non attiva) Nome del servizio aggiuntivo come censito su SIRGESA Identificativo di transazione nel sistema SGSS Risorsa web SGSS a cui il client ritorna l'esito dell'azione terminata l'esecuzione della stessa sulla carta (eventualmente vuoto) Numero seriale della carta Tempo di generazione della richiesta espresso nel formato dd/MM/yyyy-HH:mm:ss (*) Digest secondo l’algoritmo SHA-256 della concatenazione dei valori presenti nei parametri precedenti, criptato con la chiave privata di SGSS (SGSS_SK) e codificato in Base64 (**) (*) Verranno prese in considerazione ed elaborate solo le richieste pervenute al SIRGESA entro 100 secondi dal timestamp dichiarato nella chiamata. (**) Encode(Sign(Hash(Azione+serviceName+transId+urlRitorno+serialNumber+timestamp, SHA-256), SGSS_SK),BASE64) Di seguito riportiamo le caratteristiche della risposta: RESPONSE SirgesaResponseAuthReq DESCRIZIONE Rappresentazione JSON dell’oggetto SirgesaResponseAuthReq Pag. 13 di 40 Gestione della Carta Sanitaria Elettronica - TS-CNS Colloquio SIRGESA-TOTEM – Specifiche Tecniche 4.1.1 Sirgesa Response AuthReq La struttura dell’oggetto SirgesaResponseAuthReq viene di seguito rappresentata: ATTRIBUTI TIPO DESCRIZIONE Esito String Esito della operazione di autorizzazione azione sulla carta: “00” : autorizzata “92” : carta non valida / non riconosciuta “94” : colloquio sirgesa non validato “97” : servizio inesistente “98” : richiesta non conforme “99” : errore generico sessionkey String Identificativo della richiesta di autorizzazione inviata dal client (TOTEM) a SIRGESA e da questo verificata. La sessionkey equivale ad una chiave una-tantum a tempo (100 secondi) tramite la quale il sistema SIRGESA re-interrogato possa gestire in ogni momento i parametri della richiesta e fornire le informazioni necessarie al client. automatic String Permette di rendere automatica o meno l’esecuzione dell’azione richiesta sulla carta. Nel caso di valore false il client deve chiedere consenso al possessore delle carta prima di procedere all'esecuzione dell'azione richiesta sulla carta. Valori ammessi:”true” e “false” verifycheck String Digest secondo l’algoritmo SHA-256 della concatenazione dei valori presenti nei parametri precedenti, criptato con la chiave privata di SIRGESA (SIRGESA_SK) e codificato in Base64 (**) (**) Encode(Sign(Hash(esito+sessionkey+automatic, SHA-256), SIRGESA_SK),BASE64) 4.2 Recupera Modello SIRGESA mette a disposizione una risorsa web, in architettura REST su protocollo https, da cui il client (TOTEM) può recuperare il runtimeServiceModel del servizio aggiuntivo; tale modello contiene l’insieme delle operazioni che dovranno essere eseguite sulla carta per portare a termine l’azione richiesta (es. Installazione del servizio). Le url da richiamare sono: Ambiente di pre-produzione https://<nome_server_pre-produzione>/sirgesa/rest/getModel Ambiente di produzione https://<nome_server_produzione>/sirgesa/rest/getModel Il sistema SIRGESA sulle indicate url: - non prevede l’identificazione del client - attraverso il parametro sessionkey, che non è altro che una chiave a tempo* fornita in precedenza al client dal sistema SIRGESA, viene recupera l’azione richiesta, il numero seriale della carta a cui tale chiave è associata e per cui viene generato il runtimeServiceModel. - La risposta SIRGESA alla richiesta contiene un attributo verifycheck che consente al client di verificare che i restanti attributi forniti sono generati da SIRGESA e non sono stati alterati durante il traporto. Di seguito riportiamo le caratteristiche di invocazione in termini di parametri passati in POST sulla chiamata: Pag. 14 di 40 Gestione della Carta Sanitaria Elettronica - TS-CNS Colloquio SIRGESA-TOTEM – Specifiche Tecniche PARAMETRI DESCRIZIONE sessionKey Identificativo della richiesta di inizializzazione inviata dal client a SIRGESA e da questo verificata. La sessionkey equivale ad una chiave una-tantum a tempo* tramite la quale il sistema SIRGESA reinterrogato possa gestire in ogni momento i parametri della richiesta e fornire le informazioni necessarie al client. (*) Verranno prese in considerazione ed elaborate solo le richieste pervenute al SIRGESA entro 100 secondi dal timestamp dichiarato nella chiamata “Autorizza Richiesta”. Di seguito riportiamo le caratteristiche della risposta: RESPONSE DESCRIZIONE SirgesaResponseModel Rappresentazione JSON dell’oggetto SirgesaResponseModel 4.2.1 Sirgesa Response Model La struttura dell’oggetto SirgesaResponseModel viene di seguito rappresentata: ATTRIBUTI TIPO DESCRIZIONE sessionkey String Identificativo della richiesta di autorizzazione inviata dal client (TOTEM) a SIRGESA e da questo verificata. runtimeServiceModel String Rappresentazione xml del modello di comandi da eseguire a runtime sulla carta per la realizzazione della azione richiesta per lo specifico servizio aggiuntivo. Tale rappresentazione rispetta lo schema riportato nel paragrafo seguente esito String Esito della operazione di recupero del runtime Service Model: “00” : successo “90” : ip di provenienza della chiamata non conforme “91” : sessione inesistente “95” : sessione scaduta “99” : errore generico verifycheck String Digest secondo l’algoritmo SHA-256 della concatenazione dei valori presenti nei parametri precedenti, criptato con la chiave privata di SIRGESA (SIRGESA_SK) e codificato in Base64 (**) (**) Encode(Sign(Hash(sessionkey+runtimeServiceModel+esito, SHA-256), SIRGESA_SK),BASE64) 4.2.2 Schema di validazione del RuntimeServiceModel Di seguito riportiamo lo schema di validazione del Runtime Service Model ricevuto da SIRGESA. <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="service" type="serviceType"/> <xs:complexType name="serviceType"> <xs:sequence> <xs:element maxOccurs="unbounded" name="action" type="actionType"/> </xs:sequence> Pag. 15 di 40 Gestione della Carta Sanitaria Elettronica - TS-CNS Colloquio SIRGESA-TOTEM – Specifiche Tecniche <xs:attribute name="name" type="xs:string" use="required"/> </xs:complexType> <xs:complexType name="actionType"> <xs:sequence> <xs:element maxOccurs="unbounded" name="unit" type="unitType"/> </xs:sequence> <xs:attribute name="name" type="xs:string" use="required"/> <xs:attribute name="successCode" type="xs:string" use="required"/> <xs:attribute name="failCode" type="xs:string" use="required"/> </xs:complexType> <xs:complexType name="unitType"> <xs:sequence> <xs:element maxOccurs="unbounded" name="command" type="commandType"/> </xs:sequence> <xs:attribute name="name" type="xs:string" use="required"/> <xs:attribute name="failCode" type="xs:string" use="required"/> </xs:complexType> <xs:complexType name="commandType"> <xs:sequence> <xs:element minOccurs="0" maxOccurs="unbounded" name="parameter" type="parameterType"/> </xs:sequence> <xs:attribute name="name" type="nameCommandType" use="required"/> <xs:attribute name="expectedCode" type="xs:string" use="required"/> </xs:complexType> <xs:complexType name="parameterType"> <xs:choice> <xs:element name="runtimeValue" type="runtimeValueType"/> <xs:element name="staticValue" type="staticValueType"/> </xs:choice> <xs:attribute name="name" type="xs:string" use="required"/> </xs:complexType> <xs:complexType name="staticValueType"> <xs:attribute name="value" type="xs:hexBinary" use="required"/> </xs:complexType> <xs:complexType name="runtimeValueType"> <xs:sequence> <xs:element minOccurs="0" maxOccurs="unbounded" name="key" type="xs:string"/> </xs:sequence> <xs:attribute name="function" type="xs:string" use="required" /> </xs:complexType> <xs:simpleType name="nameCommandType"> <xs:restriction base="xs:string"> <xs:enumeration value="creaAreaServizioAggiuntivo"/> <xs:enumeration value="eliminaAreaServizioAggiuntivo"/> <xs:enumeration value="creaCartella"/> <xs:enumeration value="eliminaCartella"/> <xs:enumeration value="creaFile"/> Pag. 16 di 40 Gestione della Carta Sanitaria Elettronica - TS-CNS Colloquio SIRGESA-TOTEM – Specifiche Tecniche <xs:enumeration value="creaFileBSO"/> <xs:enumeration value="eliminaFile"/> <xs:enumeration value="verificaFile"/> <xs:enumeration value="verificaCartella"/> <xs:enumeration value="verificaSerialeCarta"/> </xs:restriction> </xs:simpleType> </xs:schema> 4.2.3 Macro Comandi Di seguito l'elenco dei macro comandi gestiti nel modello del generico Servizio Aggiuntivo da SIRGESA. COMMANDTYPE MACRO COMANDO 01x Crea Area Servizio Aggiuntivo 02x Elimina Area Servizio Aggiuntivo 03x Crea Cartella 04x Elimina Cartella 05x Crea File 06x Crea File BSO 07x Elimina File 08x Verifica File 09x Verifica Cartella 0Ax Verifica Seriale Carta Pag. 17 di 40 Gestione della Carta Sanitaria Elettronica - TS-CNS Colloquio SIRGESA-TOTEM – Specifiche Tecniche 4.2.3.1 Crea Area Servizio Aggiuntivo Il comando consente la creazione della cartella specifica del servizio aggiuntivo applicando a quest’ultima la tipologia di sicurezza richiesta. Tutti i parametri sono di tipo byte o array di byte espressi con il tipo hexBinary. PARAMETRI DESCRIZIONE sessionkey Identificativo della richiesta di autorizzazione inviata dal client (TOTEM) a SIRGESA e da questo verificata. nomeCartella FID AID securityElement Nome della cartella da creare sotto l’area DF2 Identificativo della cartella come comunicato al CNIPA e quindi associato allo specifico servizio espresso tramite due byte. Application identifier espresso al messimo tramite 16 byte. Modalità di sicurezza ida attivare sull’area del servizio aggiuntivo. Viene rappresentato tramite una sequenza di nove bytes, posizionalmente correlati a specifiche Access Condition secondo la tabella seguente: Byte N. 1 2 3 4 5 6 7 8 9 Access Condition UPDATE APPEND DEACTIVATE ACTIVATE DELETE ADMIN CREATE - ciascuno indicante la specifica condition secondo il seguente formalismo: Byte Value 00x 01x…1Fx FFx Condition ALWAYS BSO ID NEVER Pag. 18 di 40 Gestione della Carta Sanitaria Elettronica - TS-CNS Colloquio SIRGESA-TOTEM – Specifiche Tecniche PARAMETRI DESCRIZIONE Modalità di comunicazione sicura da attivare nell’esecuzione delle operazioni sull’oggetto; nel secureMessaging caso non debba essere attivata l’array di byte avrà lunghezza 0. Viene rappresentato tramite una sequenza di 24 byte, posizionalmente correlati a specifiche SM Element Condition secondo la tabella seguente: Byte N. 1,2 3 4 5..12 13 14 15 16 17..24 SM Condition ENC_UPDATE/APPEND SIG_UPDATE/APPEND ENC_ADMIN SIG_ADMIN ENC_CREATE SIG_CREATE - ciascuno indicante la specifica condition secondo il seguente formalismo: Byte Value 00x 01x…1Fx FFx serialeCarta commandType Condition ALWAYS BSO ID NEVER Numero seriale della carta su cui eseguire il comando Identificativo del comando richiesto. Valorizzato con la costante 01x Digest secondo l’algoritmo SHA-256 della concatenazione dei valori presenti nei parametri commandCheck precedenti in un unico array di byte, firmato con la chiave privata di SIRGESA (SIRGESA_SK). Sign( Hash( sessionkey+nomeCartella+FID+AID+securityElement+secureMessagingElement+serialeCarta+ commandType, SHA-256), SIRGESA_SK) parameters Concatenazione dei seguenti parametri: nomeCartella+FID+AID+securityElement+secureMessagingElement Pag. 19 di 40 Gestione della Carta Sanitaria Elettronica - TS-CNS Colloquio SIRGESA-TOTEM – Specifiche Tecniche 4.2.3.2 Elimina Area Servizio Aggiuntivo Il comando consente l’eliminazione della cartella specifica del servizio aggiuntivo. Tutti i parametri sono di tipo byte o array di byte espressi con il tipo hexBinary. PARAMETRI DESCRIZIONE sessionkey Identificativo della richiesta di autorizzazione inviata dal client (TOTEM) a SIRGESA e da questo verificata. nomeCartella FID serialeCarta Nome della cartella da eliminare sotto l’area DF2 Identificativo della cartella come comunicato al CNIPA e quindi associato allo specifico servizio espresso tramite due byte. Numero seriale della carta su cui eseguire il comando commandType Identificativo del comando richiesto. Valorizzato con la costante 02x commandCheck Digest secondo l’algoritmo SHA-256 della concatenazione dei valori presenti nei parametri precedenti in un unico array di byte, firmato con la chiave privata di SIRGESA (SIRGESA_SK). Sign( Hash( sessionkey+nomeCartella+FID+serialeCarta+commandType, SHA-256), SIRGESA_SK) parameters Concatenazione dei seguenti parametri: nomeCartella+FID+serialeCarta Pag. 20 di 40 Gestione della Carta Sanitaria Elettronica - TS-CNS Colloquio SIRGESA-TOTEM – Specifiche Tecniche 4.2.3.3 Crea Cartella Il comando consente la creazione di una cartella con specifico FID e nome all’interno dell’area dello specifico servizio in uno specifico path e applicando a quest’ultima la tipologia di sicurezza richiesta.Tutti i parametri sono di tipo byte o array di byte espressi con il tipo hexBinary. PARAMETRI DESCRIZIONE sessionkey Identificativo della richiesta di autorizzazione inviata dal client (TOTEM) a SIRGESA e da questo verificata. nomeCartella Nome della cartella da creare path Path della cartella rispetto alla DF2 della carta FID Identificativo della cartella come indicato nelle specifiche tecniche della struttura del servizio aggiuntivo, espresso tramite due byte. AID Application id della cartella espresso al messimo tramite 16 byte. Modalità di sicurezza ida attivare sulla cartella. securityElement Viene rappresentato tramite una sequenza di nove bytes, posizionalmente correlati a specifiche Access Condition secondo la tabella seguente: Byte N. 1 2 3 4 5 6 7 8 9 Access Condition UPDATE APPEND DEACTIVATE ACTIVATE DELETE ADMIN CREATE - ciascuno indicante la specifica condition secondo il seguente formalismo: Byte Value 00x 01x…1Fx FFx Condition ALWAYS BSO ID NEVER Pag. 21 di 40 Gestione della Carta Sanitaria Elettronica - TS-CNS Colloquio SIRGESA-TOTEM – Specifiche Tecniche PARAMETRI DESCRIZIONE Modalità di comunicazione sicura da attivare nell’esecuzione delle operazioni sull’oggetto; nel secureMessaging caso non debba essere attivata l’array di byte avrà lunghezza 0. Viene rappresentato tramite una sequenza di 24 byte, posizionalmente correlati a specifiche SM Element Condition secondo la tabella seguente: Byte N. 1,2 3 4 5..12 13 14 15 16 17..24 SM Condition ENC_UPDATE/APPEND SIG_UPDATE/APPEND ENC_ADMIN SIG_ADMIN ENC_CREATE SIG_CREATE - ciascuno indicante la specifica condition secondo il seguente formalismo: Byte Value 00x 01x…1Fx FFx serialeCarta commandType Condition ALWAYS BSO ID NEVER Numero seriale della carta su cui eseguire il comando Identificativo del comando richiesto. Valorizzato con la costante 03x Digest secondo l’algoritmo SHA-256 della concatenazione dei valori presenti nei parametri commandCheck precedenti in un unico array di byte, firmato con la chiave privata di SIRGESA (SIRGESA_SK). Sign( Hash( sessionkey+nomeCartella+path+FID+AID+securityElement+secureMessagingElement+serialeCarta+ commandType, SHA-256), SIRGESA_SK) parameters Concatenazione dei seguenti parametri: nomeCartella+path+FID+AID+securityElement+secureMessagingElement Pag. 22 di 40 Gestione della Carta Sanitaria Elettronica - TS-CNS Colloquio SIRGESA-TOTEM – Specifiche Tecniche 4.2.3.4 Elimina Cartella Il comando consente l’eliminazione di una cartella all’interno dell’area specifica del servizio aggiuntivo. Tutti i parametri sono di tipo byte o array di byte espressi con il tipo hexBinary. PARAMETRI DESCRIZIONE sessionkey Identificativo della richiesta di autorizzazione inviata dal client (TOTEM) a SIRGESA e da questo verificata. nomeCartella Nome della cartella da eliminare path Path della cartella rispetto alla DF2 della carta FID Identificativo della cartella come comunicato al CNIPA e quindi associato allo specifico servizio espresso tramite due byte. serialeCarta Numero seriale della carta su cui eseguire il comando commandType Identificativo del comando richiesto. Valorizzato con la costante 04x commandCheck Digest secondo l’algoritmo SHA-256 della concatenazione dei valori presenti nei parametri precedenti in un unico array di byte, firmato con la chiave privata di SIRGESA (SIRGESA_SK). Sign( Hash( sessionkey+nomeCartella+path+FID+serialeCarta+commandType, SHA-256), SIRGESA_SK) parameters Concatenazione dei seguenti parametri: nomeCartella+path+FID Pag. 23 di 40 Gestione della Carta Sanitaria Elettronica - TS-CNS Colloquio SIRGESA-TOTEM – Specifiche Tecniche 4.2.3.5 Crea File Il comando consente la creazione di un elementary file con specifico FID e nome all’interno dell’area dello specifico servizio in uno specifico path e applicando a quest’ultimo la tipologia di sicurezza richiesta. Tutti i parametri sono di tipo byte o array di byte espressi con il tipo hexBinary. PARAMETRI DESCRIZIONE sessionkey Identificativo della richiesta di autorizzazione inviata dal client (TOTEM) a SIRGESA e da questo verificata. nomeFile Nome del file elementare da creare path Path della cartella all’interno della quale creare il file rispetto alla DF2 della carta FID Identificativo del file come indicato nelle specifiche tecniche della struttura del servizio aggiuntivo, espresso tramite due byte. size Dimensione massima del file tipo Tipologia del file da creare espressa secondo la tabella seguente: Valore 01x 02x 05x 06x recordSize Tipologia TRASPARENT FIXED VARIABLE CYCLIC Dimensione del singolo record nel caso di tipo FIXED, 0 in tutti gli altri casi Modalità di sicurezza ida attivare sul file. Viene rappresentato tramite una sequenza di nove securityElement bytes, posizionalmente correlati a specifiche Access Condition secondo la tabella seguente: Byte N. 1 2 3 4 5 6 7 8,9 Access Condition READ UPDATE APPEND DEACTIVATE ACTIVATE DELETE ADMIN - ciascuno indicante la specifica condition secondo il seguente formalismo: Byte Value 00x 01x…1Fx FFx Condition ALWAYS BSO ID NEVER Pag. 24 di 40 Gestione della Carta Sanitaria Elettronica - TS-CNS Colloquio SIRGESA-TOTEM – Specifiche Tecniche PARAMETRI DESCRIZIONE Modalità di comunicazione sicura da attivare nell’esecuzione delle operazioni sull’oggetto; nel secureMessaging caso non debba essere attivata l’array di byte avrà lunghezza 0. Viene rappresentato tramite una sequenza di 24 byte, posizionalmente correlati a specifiche SM Element Condition secondo la tabella seguente: Byte N. 1 2 3 4 5 6 7..12 13 14 15..22 23 24 SM Condition ENC_READ_OUT SIG_READ_OUT ENC_UPDATE SIG_UPDATE ENC_APPEND SIG_APPEND ENC_ADMIN SIG_ADMIN ENC_READ_IN SIG_READ_IN ciascuno indicante la specifica condition secondo il seguente formalismo: Byte Value 00x 01x…1Fx FFx serialeCarta commandType Condition ALWAYS BSO ID NEVER Numero seriale della carta su cui eseguire il comando Identificativo del comando richiesto. Valorizzato con la costante 05x Digest secondo l’algoritmo SHA-256 della concatenazione dei valori presenti nei parametri commandCheck precedenti in un unico array di byte, firmato con la chiave privata di SIRGESA (SIRGESA_SK). Sign( Hash( sessionkey+nomeFile+path+FID+size+tipo+recordSize+securityElement+secureMessagingElement+ serialeCarta+commandType, SHA-256), SIRGESA_SK) parameters Concatenazione dei seguenti parametri: nomeFile+path+FID+size+tipo+recordSize+securityElement+secureMessagingElement Pag. 25 di 40 Gestione della Carta Sanitaria Elettronica - TS-CNS Colloquio SIRGESA-TOTEM – Specifiche Tecniche 4.2.3.6 Crea File BSO Il comando consente la creazione di un file di tipo BSO con specifico ID e nome all’interno dell’area dello specifico servizio in uno specifico path e applicando a quest’ultimo la tipologia di sicurezza richiesta. Tutti i parametri sono di tipo byte o array di byte espressi con il tipo hexBinary. PARAMETRI DESCRIZIONE sessionkey Identificativo della richiesta di autorizzazione inviata dal client (TOTEM) a SIRGESA e da questo verificata. nomeFile path ID maxErrors tipo Nome del file elementare da creare Path della cartella all’interno della quale creare il file BSO rispetto alla DF2 della carta Identificativo del file come indicato nelle specifiche tecniche della struttura del servizio aggiuntivo, espresso tramite un byte. Numero massimo di errori consentito Tipologia del file BSO da creare espresso con tre byte secondo la tabella seguente (dove i tre byte indicano rispettivamente in sequenza: class, option e algorithm del file BSO – si faccia riferimento alle specifiche CNS per ulteriori dettagli): Valore 20220Cx 21020Cx 202288x 210288x 002188x 010188x 008382x 108303x 108382x 208303x 000287x 00027Fx validityCounter minimumLength securityContent Tipologia RSA_PRI_MOD_CRIPT RSA_PRI_EXP_CRIPT RSA_PRI_MOD_SIGN RSA_PRI_EXP_SIGN RSA_PUB_MOD RSA_PUB_EXP 3DES_AUTH 3DES_SM_CRIPT 3DES_SM_AUTH 3DES_CRIPT PIN LOGICAL Indicatore che serve a limitare l’uso di un diritto di accesso a specifici ambiti (00x, FFx significano nessuna limitazione) Indica la lunghezza minima espressa con un byte; in casi di oggetto di tipo PIN e la lunghezza minima del challenge per gli oggetti che ne fanno uso. Nel caso di PIN indica la lunghezza del PIN. Per gli altri oggetti impostata a 00x. Rappresenta il contenuto del file BSO espresso sottoforma di array di byte Pag. 26 di 40 Gestione della Carta Sanitaria Elettronica - TS-CNS Colloquio SIRGESA-TOTEM – Specifiche Tecniche PARAMETRI DESCRIZIONE Modalità di sicurezza ida attivare sul file. Viene rappresentato tramite una sequenza di sette byte, securityElement posizionalmente correlati a specifiche Access Condition secondo la tabella seguente: Byte N. 1 2 3 4,5,6 7 8,9 Access Condition USE CHANGE UNBLOCK GENKEYPAIR - ciascuno indicante la specifica condition secondo il seguente formalismo: Byte Value 00x 01x…1Fx FFx Condition ALWAYS BSO ID NEVER Modalità di comunicazione sicura da attivare nell’esecuzione delle operazioni sull’oggetto; nel caso secureMessaging non debba essere attivata l’array di byte avrà lunghezza 0. Viene rappresentato tramite una sequenza di 8 byte, posizionalmente correlati a specifiche SM Element Condition secondo la tabella seguente: Byte N. 1 2 3 4 5 6 7 8 SM Condition ENC_USE_IN SIG_USE_IN ENC_CHANGE SIG_CHANGE ENC_UNBLOCK SIG_UNBLOCK ENC_USE_OUT SIG_USE_OUT ciascuno indicante la specifica condition secondo il seguente formalismo: Byte Value 00x 01x…1Fx FFx serialeCarta commandType Condition ALWAYS BSO ID NEVER Numero seriale della carta su cui eseguire il comando Identificativo del comando richiesto. Valorizzato con la costante 06x Digest secondo l’algoritmo SHA-256 della concatenazione dei valori presenti nei parametri commandCheck precedenti in un unico array di byte, firmato con la chiave privata di SIRGESA (SIRGESA_SK). Sign( Hash( sessionkey+nomeFile+path+ID+maxErrors+tipo+validityCounter+minimumLength+securityElement+ secureMessagingElement+serialeCarta+commandType, SHA-256), SIRGESA_SK) Pag. 27 di 40 Gestione della Carta Sanitaria Elettronica - TS-CNS Colloquio SIRGESA-TOTEM – Specifiche Tecniche PARAMETRI parameters DESCRIZIONE Concatenazione dei seguenti parametri: nomeFile+path+ID+maxErrors+tipo+validityCounter+minimumLength+securityElement+ secureMessagingElement Pag. 28 di 40 Gestione della Carta Sanitaria Elettronica - TS-CNS Colloquio SIRGESA-TOTEM – Specifiche Tecniche 4.2.3.7 Elimina File Il comando consente l’eliminazione di un file all’interno dell’area specifica del servizio aggiuntivo. Tutti i parametri sono di tipo byte o array di byte espressi con il tipo hexBinary. PARAMETRI DESCRIZIONE sessionkey Identificativo della richiesta di autorizzazione inviata dal client (TOTEM) a SIRGESA e da questo verificata. nomeFile path FID serialeCarta Nome del file elementare da eliminare Path della cartella all’interno della quale eliminare il file rispetto alla DF2 della carta Identificativo del file come comunicato al CNIPA e quindi associato allo specifico servizio espresso tramite due byte. Numero seriale della carta su cui eseguire il comando commandType Identificativo del comando richiesto. Valorizzato con la costante 07x commandCheck Digest secondo l’algoritmo SHA-256 della concatenazione dei valori presenti nei parametri precedenti in un unico array di byte, firmato con la chiave privata di SIRGESA (SIRGESA_SK). Sign( Hash( sessionkey+nomeFile+path+FID+serialeCarta+commandType, SHA-256), SIRGESA_SK) parameters Concatenazione dei seguenti parametri: nomeFile+path+FID Pag. 29 di 40 Gestione della Carta Sanitaria Elettronica - TS-CNS Colloquio SIRGESA-TOTEM – Specifiche Tecniche 4.2.3.8 Verifica File Il comando consente di verificare la presenza di un file all’interno dell’area specifica del servizio aggiuntivo. Tutti i parametri sono di tipo byte o array di byte espressi con il tipo hexBinary. PARAMETRI sessionkey path FID serialeCarta DESCRIZIONE Identificativo della richiesta di autorizzazione inviata dal client (TOTEM) a SIRGESA e da questo verificata. Path della cartella all’interno della quale verificare la presenza del file rispetto alla DF2 della carta Identificativo del file come comunicato al CNIPA e quindi associato allo specifico servizio espresso tramite due byte. Numero seriale della carta su cui eseguire il comando commandType Identificativo del comando richiesto. Valorizzato con la costante 08x commandCheck Digest secondo l’algoritmo SHA-256 della concatenazione dei valori presenti nei parametri precedenti in un unico array di byte, firmato con la chiave privata di SIRGESA (SIRGESA_SK). Sign( Hash( sessionkey+path+FID+serialeCarta+commandType, SHA-256), SIRGESA_SK) parameters Concatenazione dei seguenti parametri: path+FID Pag. 30 di 40 Gestione della Carta Sanitaria Elettronica - TS-CNS Colloquio SIRGESA-TOTEM – Specifiche Tecniche 4.2.3.9 Verifica Cartella Il comando consente di verificare la presenza di una cartella all’interno dell’area specifica del servizio aggiuntivo.Tutti i parametri sono di tipo byte o array di byte espressi con il tipo hexBinary. PARAMETRI sessionkey path FID serialeCarta DESCRIZIONE Identificativo della richiesta di autorizzazione inviata dal client (TOTEM) a SIRGESA e da questo verificata. Path della cartella all’interno della quale verificare la presenza del file rispetto alla DF2 della carta Identificativo del file come comunicato al CNIPA e quindi associato allo specifico servizio espresso tramite due byte. Numero seriale della carta su cui eseguire il comando commandType Identificativo del comando richiesto. Valorizzato con la costante 09x commandCheck Digest secondo l’algoritmo SHA-256 della concatenazione dei valori presenti nei parametri precedenti in un unico array di byte, firmato con la chiave privata di SIRGESA (SIRGESA_SK). Sign( Hash( sessionkey+path+FID+serialeCarta+commandType, SHA-256), SIRGESA_SK) parameters Concatenazione dei seguenti parametri: path+FID Pag. 31 di 40 Gestione della Carta Sanitaria Elettronica - TS-CNS Colloquio SIRGESA-TOTEM – Specifiche Tecniche 4.2.3.10 Verifica Seriale Carta Il comando consente di verificare che il seriale della carta corrisponda al seriale passato come parametro. Tutti i parametri sono di tipo byte o array di byte espressi con il tipo hexBinary. PARAMETRI DESCRIZIONE sessionkey Identificativo della richiesta di autorizzazione inviata dal client (TOTEM) a SIRGESA e da questo verificata. serialeCarta Seriale da verificare se corrispondente con quello della carta. commandType Identificativo del comando richiesto. Valorizzato con la costante 0Ax commandCheck Digest secondo l’algoritmo SHA-256 della concatenazione dei valori presenti nei parametri precedenti in un unico array di byte, firmato con la chiave privata di SIRGESA (SIRGESA_SK). Sign( Hash( sessionkey+serial+commandType, SHA-256), SIRGESA_SK) parameters Valorizzato con un array di byte vuoto 4.2.4 Esempio Risposta REST Di seguito si riporta un esempio di risposta prodotta da SIRGESA. {"runtimeServiceModel":"\u003cservice name\u003d\"ISEE\"\u003e\u003caction failCode\u003d\"99\" name\u003d\"INIT\" successCode\u003d\"00\"\u003e\u003cunit failCode\u003d\"96\" name\u003d\"VerificaSerialeCarta\"\u003e\u003ccommand expectedCode\u003d\"1\" name\u003d\"verificaSerialeCarta\"\u003e\u003cparameter name\u003d\"sessionKey\"\u003e\u003cstaticValue value\u003d\"62373234616561312d386137662d396662332d656632372d36316334383139613 4326139\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"serialeCarta\"\u003e\u003cstaticValue value\u003d\"36303930303034323932363439303031\"/\u003e\u003c/parameter\u003e\u 003cparameter name\u003d\"commandType\"\u003e\u003cstaticValue value\u003d\"0A\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"commandCheck\"\u003e\u003cstaticValue value\u003d\"41eaaa53720ce57b13cf222a527cdb4f6150d577f2d4c6134cd2f8ddf165de945 58251c573fd798f3f703011f0855e7b721a11540355af9ab5459a20f314201f52aa1e626dd3232 8e3fcf898af8318af48216d05fbdcef7d3fd6af6fc87f5d7f5bd7716df0e88179ee021605c9485 93062bde04b90f485fd021714795b3e6534\"/\u003e\u003c/parameter\u003e\u003c/comma nd\u003e\u003c/unit\u003e\u003cunit failCode\u003d\"01\" name\u003d\"VerificaPresenzaServizio\"\u003e\u003ccommand expectedCode\u003d\"0\" name\u003d\"verificaCartella\"\u003e\u003cparameter name\u003d\"sessionKey\"\u003e\u003cstaticValue value\u003d\"62373234616561312d386137662d396662332d656632372d36316334383139613 4326139\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"path\"\u003e\u003cstaticValue value\u003d\"\"/\u003e\u003c/parameter\u003e\u003cparameter Pag. 32 di 40 Gestione della Carta Sanitaria Elettronica - TS-CNS Colloquio SIRGESA-TOTEM – Specifiche Tecniche name\u003d\"FID\"\u003e\u003cstaticValue value\u003d\"1F21\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"serialeCarta\"\u003e\u003cstaticValue value\u003d\"36303930303034323932363439303031\"/\u003e\u003c/parameter\u003e\u 003cparameter name\u003d\"commandType\"\u003e\u003cstaticValue value\u003d\"09\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"commandCheck\"\u003e\u003cstaticValue value\u003d\"58cc5cbbdf4c60388c9ef4db04d732519023ee05281cff5468b5ff7b9770ca7ff 52000c92f648ed9a7f188cfd9b6b64af2396ce0ed3b7a57f6adb26651f2dca431fe639f43e5654 5f9ed4b7d8e65ff0ca2f39b531443b156adcd44fd86d1fd29d4f4249efa8af1a10ccae255c4e65 621aac2293a3369b71dbb2ff352d87d54e6\" /\u003e\u003c/parameter\u003e\u003c/command\u003e\u003c/unit\u003e\u003cunit name\u003d\"InstallazioneServizio\" failCode\u003d\"99\"\u003e\u003ccommand expectedCode\u003d\"1\" name\u003d\"creaAreaServizioAggiuntivo\"\u003e\u003cparameter name\u003d\"sessionKey\"\u003e\u003cstaticValue value\u003d\"62373234616561312d386137662d396662332d656632372d36316334383139613 4326139\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"nomeCartella\"\u003e\u003cstaticValue value\u003d\"44465f49534545\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"FID\"\u003e\u003cstaticValue value\u003d\"1F21\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"AID\"\u003e\u003cstaticValue value\u003d\"44465f49534545\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"securityElement\"\u003e\u003cstaticValue value\u003d\"FFFFFFFF03FFFFFFFF\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"secureMessagingElement\"\u003e\u003cstaticValue value\u003d\"\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"serialeCarta\"\u003e\u003cstaticValue value\u003d\"36303930303034323932363439303031\"/\u003e\u003c/parameter\u003e\u 003cparameter name\u003d\"commandType\"\u003e\u003cstaticValue value\u003d\"01\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"commandCheck\"\u003e\u003cstaticValue value\u003d\"791664fb88c471339822bf20c229b1e9bc13427160b9db912b65718ad8b8370b7 9923dd9ca1d499130171056cb9e8255417761dd6bd5e4e862ce422e5963d38e310db86cafea440 5c3249bef650edb856f2c73f145f7b899c40b434e5ef6ad1e859e639c62e19fd2d805550f3ceea 31b99645fedc2fd99df556cf7d02207a0af\" /\u003e\u003c/parameter\u003e\u003c/command\u003e\u003ccommand expectedCode\u003d\"1\" name\u003d\"creaFileBSO\"\u003e\u003cparameter name\u003d\"sessionKey\"\u003e\u003cstaticValue value\u003d\"62373234616561312d386137662d396662332d656632372d36316334383139613 4326139\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"nomeFile\"\u003e\u003cstaticValue value\u003d\"42534f5f495345455f41646d696e5075624b65794d6f64\"/\u003e\u003c/par ameter\u003e\u003cparameter name\u003d\"path\"\u003e\u003cstaticValue value\u003d\"1F21\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"ID\"\u003e\u003cstaticValue value\u003d\"07\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"maxErrors\"\u003e\u003cstaticValue value\u003d\"0A\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"tipo\"\u003e\u003cstaticValue value\u003d\"002188\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"validityCounter\"\u003e\u003cstaticValue value\u003d\"00\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"minimumLength\"\u003e\u003cstaticValue value\u003d\"00\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"securityContent\"\u003e\u003cstaticValue value\u003d\"00BEECADE0222DD3F908DC108CBA4CA880E5A18358053C338CF7EDB3A3634CF35 132742997948CBAC418BF86CE260D57A2CBBAD890CB7856A8BF56D68A3F38121D71582CEFE7A85 F186651731DA0C281777AFC91002E3DC23496A246C05DEC65F9F63ACE002FD242C0015A0158CBE Pag. 33 di 40 Gestione della Carta Sanitaria Elettronica - TS-CNS Colloquio SIRGESA-TOTEM – Specifiche Tecniche 324594D318E3F1DC38F2EA9C141A5944B1A53\"/\u003e\u003c/parameter\u003e\u003cpara meter name\u003d\"securityElement\"\u003e\u003cstaticValue value\u003d\"00FFFFFFFFFFFF\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"secureMessagingElement\"\u003e\u003cstaticValue value\u003d\"\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"serialeCarta\"\u003e\u003cstaticValue value\u003d\"36303930303034323932363439303031\"/\u003e\u003c/parameter\u003e\u 003cparameter name\u003d\"commandType\"\u003e\u003cstaticValue value\u003d\"06\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"commandCheck\"\u003e\u003cstaticValue value\u003d\"34616e75f7203cfc62bdf8ffccaf641c4784049dee1df1316db06e4fad91ce6f7 4e509de59865d1e7fb2d1a037b00388fa0169e7b08eb0a3201dc1b2ebf7721ded45250ef36f3b0 c6bf43c353cc543b9e057c5faa840219a1e5d7c17e0dbe2883877aef3c76e700bacfbe02ca79c5 e3491da0169b8ce52df4ab191ab3a35f52c\" /\u003e\u003c/parameter\u003e\u003c/command\u003e\u003ccommand expectedCode\u003d\"1\" name\u003d\"creaFileBSO\"\u003e\u003cparameter name\u003d\"sessionKey\"\u003e\u003cstaticValue value\u003d\"62373234616561312d386137662d396662332d656632372d36316334383139613 4326139\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"nomeFile\"\u003e\u003cstaticValue value\u003d\"42534f5f495345455f41646d696e5075624b6579457870\"/\u003e\u003c/par ameter\u003e\u003cparameter name\u003d\"path\"\u003e\u003cstaticValue value\u003d\"1F21\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"ID\"\u003e\u003cstaticValue value\u003d\"07\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"maxErrors\"\u003e\u003cstaticValue value\u003d\"0A\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"tipo\"\u003e\u003cstaticValue value\u003d\"010188\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"validityCounter\"\u003e\u003cstaticValue value\u003d\"00\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"minimumLength\"\u003e\u003cstaticValue value\u003d\"00\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"securityContent\"\u003e\u003cstaticValue value\u003d\"010001\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"securityElement\"\u003e\u003cstaticValue value\u003d\"00FFFFFFFFFFFF\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"secureMessagingElement\"\u003e\u003cstaticValue value\u003d\"\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"serialeCarta\"\u003e\u003cstaticValue value\u003d\"36303930303034323932363439303031\"/\u003e\u003c/parameter\u003e\u 003cparameter name\u003d\"commandType\"\u003e\u003cstaticValue value\u003d\"06\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"commandCheck\"\u003e\u003cstaticValue value\u003d\"6b97ce3cad5f34c2ccd085310a16734dd552150a079aff4a56f2e18557a103b81 c44ac16b8fad953fb4a73bb37f5807aa3aae63455886be43d084edd9d3d6576d5435637d04ee90 4c7f2f3953817ffcc09b4995363c11401dbbfc92f93b092f9f8db5d17f44c92e832731552141e1 53e9ca4d908ff613fb59a5cf4bc6cd4b792\" /\u003e\u003c/parameter\u003e\u003c/command\u003e\u003ccommand expectedCode\u003d\"1\" name\u003d\"creaFile\"\u003e\u003cparameter name\u003d\"sessionKey\"\u003e\u003cstaticValue value\u003d\"62373234616561312d386137662d396662332d656632372d36316334383139613 4326139\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"nomeFile\"\u003e\u003cstaticValue value\u003d\"45465f495345455f494e464f5f4150504c\"/\u003e\u003c/parameter\u003e \u003cparameter name\u003d\"path\"\u003e\u003cstaticValue value\u003d\"1F21\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"FID\"\u003e\u003cstaticValue value\u003d\"0001\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"size\"\u003e\u003cstaticValue Pag. 34 di 40 Gestione della Carta Sanitaria Elettronica - TS-CNS Colloquio SIRGESA-TOTEM – Specifiche Tecniche value\u003d\"0190\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"tipo\"\u003e\u003cstaticValue value\u003d\"01\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"recordSize\"\u003e\u003cstaticValue value\u003d\"00\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"securityElement\"\u003e\u003cstaticValue value\u003d\"0007FFFFFFFFFFFFFF\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"secureMessagingElement\"\u003e\u003cstaticValue value\u003d\"\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"serialeCarta\"\u003e\u003cstaticValue value\u003d\"36303930303034323932363439303031\"/\u003e\u003c/parameter\u003e\u 003cparameter name\u003d\"commandType\"\u003e\u003cstaticValue value\u003d\"05\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"commandCheck\"\u003e\u003cstaticValue value\u003d\"ae44d602de49c35beee3c186264563c297ccc5fc5cc11bcb928d69f2f73f726fc 5d170132685e8cad998adea07f213a8c10ae92ed3e76fc21b06cf22f014a8baa9c5c3b7eeebf81 4d8e9ec787030694d5b62ae5b27c9eb2b181daf8d9fa1c71aa687e2c38cccfd1ab7746c5f6f815 a0751e5bdb3ece8e48c3f10be3ffbc71355\" /\u003e\u003c/parameter\u003e\u003c/command\u003e\u003ccommand expectedCode\u003d\"1\" name\u003d\"creaFile\"\u003e\u003cparameter name\u003d\"sessionKey\"\u003e\u003cstaticValue value\u003d\"62373234616561312d386137662d396662332d656632372d36316334383139613 4326139\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"nomeFile\"\u003e\u003cstaticValue value\u003d\"45465f495345455f48415348\"/\u003e\u003c/parameter\u003e\u003cpara meter name\u003d\"path\"\u003e\u003cstaticValue value\u003d\"1F21\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"FID\"\u003e\u003cstaticValue value\u003d\"0002\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"size\"\u003e\u003cstaticValue value\u003d\"0014\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"tipo\"\u003e\u003cstaticValue value\u003d\"01\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"recordSize\"\u003e\u003cstaticValue value\u003d\"00\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"securityElement\"\u003e\u003cstaticValue value\u003d\"0007FFFFFFFFFFFFFF\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"secureMessagingElement\"\u003e\u003cstaticValue value\u003d\"\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"serialeCarta\"\u003e\u003cstaticValue value\u003d\"36303930303034323932363439303031\"/\u003e\u003c/parameter\u003e\u 003cparameter name\u003d\"commandType\"\u003e\u003cstaticValue value\u003d\"05\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"commandCheck\"\u003e\u003cstaticValue value\u003d\"8f50fa70a9a30c46e2872d22512f438364cbf1cc1bf756e6b723867bb204be450 25331a6a71e6a3459d59fa94a8c5a400c1280504df4b9a6d1744b30587fb15061c5f23744bac7a 93fdd01850f053177b804ab2ae4372c799855b44fd798bc5d1f15848ccaf4fec60f652f7077453 06c2e9da6702d2784dacb816e39f8348ed2\" /\u003e\u003c/parameter\u003e\u003c/command\u003e\u003ccommand expectedCode\u003d\"1\" name\u003d\"creaFile\"\u003e\u003cparameter name\u003d\"sessionKey\"\u003e\u003cstaticValue value\u003d\"62373234616561312d386137662d396662332d656632372d36316334383139613 4326139\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"nomeFile\"\u003e\u003cstaticValue value\u003d\"45465f495345455f5349474e4154555245\"/\u003e\u003c/parameter\u003e \u003cparameter name\u003d\"path\"\u003e\u003cstaticValue value\u003d\"1F21\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"FID\"\u003e\u003cstaticValue value\u003d\"0003\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"size\"\u003e\u003cstaticValue Pag. 35 di 40 Gestione della Carta Sanitaria Elettronica - TS-CNS Colloquio SIRGESA-TOTEM – Specifiche Tecniche value\u003d\"0080\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"tipo\"\u003e\u003cstaticValue value\u003d\"01\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"recordSize\"\u003e\u003cstaticValue value\u003d\"00\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"securityElement\"\u003e\u003cstaticValue value\u003d\"0007FFFFFFFFFFFFFF\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"secureMessagingElement\"\u003e\u003cstaticValue value\u003d\"\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"serialeCarta\"\u003e\u003cstaticValue value\u003d\"36303930303034323932363439303031\"/\u003e\u003c/parameter\u003e\u 003cparameter name\u003d\"commandType\"\u003e\u003cstaticValue value\u003d\"05\"/\u003e\u003c/parameter\u003e\u003cparameter name\u003d\"commandCheck\"\u003e\u003cstaticValue value\u003d\"509c242ed4ed11a64e713c579d8aa8543cdb0ebd222b84ba7186fed685fffa4f1 12d7f8cf4244f1ad140ecbcd0a6b7cfbe9e9750959baa7299267ea987ea1fb76b264ab3c4ca16c 52c03804ce3d92c233f1e2a27de21112b0375c81bfb7e7601eae455d146bdf8e6d19ec483cd89f f9326c357462b0d1caaaa6a8ef7a1950de1\" /\u003e\u003c/parameter\u003e\u003c/command\u003e\u003c/unit\u003e\u003c/actio n\u003e\u003c/service\u003e","esito":"00","verifycheck":"GcuGJrqUYa4OK3WT713PW TCcFmpsjN9B6Itt+0MDWrpzgaXpI9oUDMp9F+7mRZM2+ufW9KGyuzxia7w4emr9Ap5pXl9cXhNfFEY L0n3QwPqqtLwX+oWqCIC0KXfksS7cYlYqq3irLSINRlawoD5tTRPvHDNDitbS8ABEl9tberA\u003d ","sessionKey":"b724aea1-8a7f-9fb3-ef27-61c4819a42a9"} Pag. 36 di 40 Gestione della Carta Sanitaria Elettronica - TS-CNS Colloquio SIRGESA-TOTEM – Specifiche Tecniche 4.3 Notify Esito SIRGESA mette a disposizione una risorsa web, in architettura REST su protocollo https, a cui il client (TOTEM) comunica l'esito dell'esecuzione del runtimeServiceModel sulla carta e da cui recupera le informazioni necessarie a gestire il colloquio di gestione del servzio aggiuntivo con il sistema SGSS. Le url da richiamare sono: Ambiente di pre-produzione https://<nome_server_pre-produzione>/sirgesa/rest/notifySirgesa Ambiente di produzione https://<nome_server_produzione>/sirgesa/rest/notifySirgesa Il sistema SIRGESA sulle indicate url: - non prevede l’identificazione del client - attraverso il parametro sessionkey, che non è altro che una chiave a tempo*, il sistema verifica la possibilità di eseguire la registrazione dell'esito. - La risposta SIRGESA alla richiesta contiene un attributo verifycheck che consente al client di verificare che i restanti attributi forniti sono generati da SIRGESA e non sono stati alterati durante il traporto. Di seguito riportiamo le caratteristiche di invocazione in termini di parametri passati in POST sulla chiamata: PARAMETRI DESCRIZIONE sessionkey Identificativo della richiesta di autorizzazione* inviata dal client (TOTEM) a SIRGESA e da questo verificata. esito Esito della operazione di esecuzione del runtime Service Model: “00” : servizio installato correttamente “01”: servizio già installato “94”: colloquio sirgesa non validato “95” : sessione scaduta “96” : seriale della carta non conforme alla richiesta iniziale “99” : errore nell’inizializzazione del servizio sulla carta (*) Verranno prese in considerazione ed elaborate solo le richieste pervenute al SIRGESA entro 100 secondi dal timestamp dichiarato nella chiamata e associato al sessionkey. Di seguito riportiamo le caratteristiche della risposta: RESPONSE SirgesaResponseNotify DESCRIZIONE Rappresentazione JSON dell’oggetto SirgesaResponseNotify 4.3.1 Sirgesa Response Notify La struttura dell’oggetto SirgesaResponseNotify viene di seguito rappresentata: ATTRIBUTI nomeServizioAggiuntivo transId TIPO DESCRIZIONE String Nome del servizio aggiuntivo come censito su SIRGESA String Identificativo di transazione per SGSS Pag. 37 di 40 Gestione della Carta Sanitaria Elettronica - TS-CNS Colloquio SIRGESA-TOTEM – Specifiche Tecniche serialNumber Esito verifycheck4SGSS sessionkey esitoNotifica urlRitorno verifycheck String Numero seriale della carta String Esito della operazione di inizializzazione del servizio sulla carta: “00” : servizio sulla carta inizializzato correttamente “01” : servizio sulla carta già presente “90” : ip di provenienza della chiamata non conforme “91” : sessione inesistente “93” : operazione interrotta dall'utente (Annulla sull'applet) “94” : colloquio sirgesa non validato “95” : sessione scaduta “96” : seriale carta non conforme alla richiesta iniziale “99” : errore nell’inizializzazione del servizio sulla carta String Digest secondo l’algoritmo SHA-256 della concatenazione dei valori presenti nei parametri precedenti, criptato con la chiave privata di SIRGESA (SIRGESA_SK) e codificato in Base64 (**) String Identificativo della richiesta di inizializzazione inviata da SGSS a SIRGESA e da questo verificata. La sessionkey equivale ad una chiave una-tantum a tempo (100 secondi) tramite la quale il sistema SIRGESA re-interrogato possa gestire in ogni momento i parametri della richiesta e fornire le informazioni necessarie alla applet. String Esito della notifica: “true” : notifica completata correttamente “false” : errore in fase di notifica String Risorsa web SGSS a cui il client ritorna l'esito dell'azione terminata l'esecuzione della stessa sulla carta (eventualmente vuoto) String Digest secondo l’algoritmo SHA-256 della concatenazione dei valori presenti nei parametri precedenti, criptato con la chiave privata di SIRGESA (SIRGESA_SK) e codificato in Base64 (***) (**) Encode(Sign(Hash(nomeServizioAggiuntivo+transId+serialNumber+esito, SHA-256), SIRGESA_SK), BASE64) (***) Encode(Sign(Hash(nomeServizioAggiuntivo+transId+serialNumber+esito+verifycheck4SGSS+sessionkey +esitoNotifica+urlRitorno, SHA-256), SIRGESA_SK), BASE64) Pag. 38 di 40 Gestione della Carta Sanitaria Elettronica - TS-CNS Colloquio SIRGESA-TOTEM – Specifiche Tecniche 4.4 Validate SIRGESA mette a disposizione una risorsa web, in architettura REST su protocollo https, a cui il client (TOTEM), per ciascun comando presente nel modello di esecuzione della azione richiesta, richiede la validazione del comando da eseguire, della sessionkey ad esso collegata e la criptazione del challenge ricevuto dalla carta per attivare una external authentication. Le url da richiamare sono: Ambiente di pre-produzione http://<nome_server_pre-produzione>/sirgesa/rest/validate Ambiente di produzione https://<nome_server_produzione>/sirgesa/rest/validate Il sistema SIRGESA sulle indicate url: - non prevede l’identificazione del client - Attraverso il parametro commandCheck SIRGESA è in grado di autenticare come proprio il comando ed i parametri che verranno eseguiti sulla carta dopo aver attivato la external authentication. Di seguito riportiamo le caratteristiche di invocazione in termini di parametri passati in POST sulla chiamata: PARAMETRI DESCRIZIONE sessionkey Identificativo della richiesta di autorizzazione* inviata dal client (TOTEM) a SIRGESA e da questo verificata. parameters Parametri del comando da validare concatenati secondo l'ordine espresso nel runtimeServiceModel ed espressi in forma esadecimale. serialeCarta Numero seriale della carta da validare commandType Identificativo del comando da validare espresso in forma esadecimale commandCheck Digest secondo l’algoritmo SHA-256 della concatenazione dei valori presenti nei parametri precedenti in un unico array di byte, firmato con la chiave privata di SIRGESA (SIRGESA_SK). Sign( Hash( sessionkey+parameters+serialeCarta+commandType, SHA-256), SIRGESA_SK) opCommand input Rappresenta lo scopo per il quale si richiede l'attivazione del modulo di criptazione regionale. Può assumere i valori: authdf2: consente di cripatare un challenge generato dalla carta e fornito sul parametro input per attivare un external authentication sulla carta. decrdf2: consente di criptare il dato fornito in input per la generazione di un comando criptato da utilizzare durante uan sessione in secure messaging. Dato da criptare espresso in forma esadecimale (*) Verranno prese in considerazione ed elaborate solo le richieste pervenute al SIRGESA entro 100 secondi dal timestamp dichiarato nella chiamata iniziale. Pag. 39 di 40 Gestione della Carta Sanitaria Elettronica - TS-CNS Colloquio SIRGESA-TOTEM – Specifiche Tecniche Di seguito riportiamo le caratteristiche della risposta: RESPONSE DESCRIZIONE SirgesaResponseValidate Rappresentazione JSON dell’oggetto SirgesaResponseValidate 4.4.1 Sirgesa Response Validate La struttura dell’oggetto SirgesaResponseValidate viene di seguito rappresentata: ATTRIBUTI Esito response TIPO DESCRIZIONE String Esito della operazione di validazione: “00” : validazione eseguita correttamente “89” : modulo di criptazione regionale non raggiungibile “90” : ip di provenienza della chiamata non conforme “91” : sessione inesistente “94” : comando sirgesa non validato “95” : sessione scaduta “96” : seriale carta non conforme “98” : richiesta non conforme “99” : errore generico String Risposta ottenuta dal modulo di criptazione regionale. Il formato dell'attributo response di tipo stringa rispetta il seguente formalismo: response := <opCommand>out:<data> <data> := *<messaggio di errore>|<crypted input> Pag. 40 di 40