La croce del FSE

di il
17 risposte

La croce del FSE

Buonasera,
Mi trovo a dover interagire con i webservice di sogei per il Fascicolo Sanitario elettronico.
Precedentemente ho realizzato i client per ricetta dematerializzata, 730, covid anch'essi basati su webservice sogei semplicemente da riga di comando utilizzando curl, senza avere avuto a che fare con le cose "incapocchiate" di java e consimili.
In questo caso ho qualche difficolta' a realizzare uno dei webservice necessari perche' la documentazione di sogei e' una chiavica e l'esempio nel progetto sopaui fornito con il kit di sviluppo non funziona, per cui non avendo un template funzionante, mi e' molto difficile realizzare una chiamata utilizzando curl.
Esiste qualcun altro, di cui avete notizia o che conoscete, che si e' trovato nella condizione di realizzare i webservice per il fascicolo sanitario elettronico in ambiente linux ?
Altro problema sara' poi quello dell'accesso con curl con autenticazione non basic ma da startcard, ma quello lo affrontero' dopo avere risolto questa questione.
Grazie a chiunque potra' darmi quale indicazione.

17 Risposte

  • Re: La croce del FSE

    Sebbene non ci sia stata alcuna risposta, aggiorno la richiesta perche' ho risolto la questione del template, ma cumunque curl continua a non funzionare.
    A questo punto chiederei se c'e' qualcuno che mi puo' dire se e' impossibile utilizzare quel web service con curl , perche' cosi
    eviterei di perdere tempo cercano una soluzione che non esiste.
    Grazie.
  • Re: La croce del FSE

    Aggiorno la situazione visto che anche se non ci sono state risposte, qualche visita c'e' stata e forse qualcuno potra' darmi una mano su quest'altra questione.
    Ho risolto il problema dell'accesso, adesso curl effettua correttamente la chiamata.
    E' rimasta pero' un'ultima questione: l'accesso di curl al web service con la tessera TS-CNS. anziche' con le credenziali nome_utente e password.
    Qualcuno ha esperienza al riguardo o mi puo' dare l'indicazione se una strada percorribile o meno ?
    Grazie.
  • Re: La croce del FSE

    F34
    Grazie ad Antonio Musarra ho capito dove sbagliavo.
    Adesso la connessione con curl al web service con TS-CNS funziona.
    Il problema era il driver standard di Linux che sembrava funzionare, ma dichiarava degli URI errati, per cui openssl non riusciva ad estrarre il certificato e la chiave dalla card.
    Lo stress di questi N giorni passati a consultare le specifiche di openssl gnutls curl e tutto il resto, mi ha reso un guru nel campo dell'accesso a webservice con PCS11
    Spero che questa mia esperienza possa un giorno essere utile a qualcuno.
  • Re: La croce del FSE

    Ciao HATFIELD, partendo dalla tua risposta al mio post (https://www.iprogrammatori.it/forum-programmazione/php/autenticazione-soap-con-smartcard-cns-tessera-sanitaria-t50304.html), ho trovato il tuo post originale sul FSE.

    Prima di tutto ti ringrazio per averlo creato, mantenuto aggiornandolo ad ogni tuo passo avanti. Come hai già detto tu nei post precedenti, la documentazione di SOGEI è pessima e la loro assistenza ancora di più.

    Noi abbiamo il certificato presente sulla TS-CNS e la relativa CHIAVE, quello che non riusciamo a capire è come utilizzare queste due informazioni per collegarci al wsdl che sono indicati nella documentazione. In che modo hai creato la connessione curl al web service passandogli i certificati e la chiave? Puoi farci un esempio ad esempio con fseRecuperoInformativa.wsdl? Grazie
  • Re: La croce del FSE

    lord112 ha scritto:


    Ciao HATFIELD, partendo dalla tua risposta al mio post (https://www.iprogrammatori.it/forum-programmazione/php/autenticazione-soap-con-smartcard-cns-tessera-sanitaria-t50304.html), ho trovato il tuo post originale sul FSE.

    Prima di tutto ti ringrazio per averlo creato, mantenuto aggiornandolo ad ogni tuo passo avanti. Come hai già detto tu nei post precedenti, la documentazione di SOGEI è pessima e la loro assistenza ancora di più.

    Noi abbiamo il certificato presente sulla TS-CNS e la relativa CHIAVE, quello che non riusciamo a capire è come utilizzare queste due informazioni per collegarci al wsdl che sono indicati nella documentazione. In che modo hai creato la connessione curl al web service passandogli i certificati e la chiave? Puoi farci un esempio ad esempio con fseRecuperoInformativa.wsdl? Grazie
    Purtroppo credo che il problema non sia la connessione, ma la creazione delle richieste, in quanto per la connessione esiste una libreria che da linea di comando consente di trasmettere la richiesta al server sogei.
    Per gestire la trasmissione dei referti (che e' la cosa piu' rognosa) dovresti essere in grado di
    1 creare il referto in formato CDA2
    2 firmare il file XML con modalita' XADES
    3 creare la testata della richiesta del servizio con l'indicazione dei metadati
    4 trasmettere testata+xml al servizio (qui la libreria puo' risolvere il problema)
    Puoi farci un esempio ad esempio con fseRecuperoInformativa.wsdl
    Dovresti prima simularla con SOPAUI utilizzando il progetto che sogei fornisce nel KIT.
    Fa' attenzione che per fare funzionare correttamete tutte le richieste del progetto bisogna settare ad on il parametro Preeemptive Authorization (o una cosa del genere) nel tag AUTH che e' in basso sulla finestra di richiesta.
    Si', fseRecuperoInformativa e' il servizio piu' semplice per cominciare dei test.
    Per ogni servizio nel progetto SOPAUI c'e' un esempio di richiesta che puo' essere lanciato, a questo punto l'esempio non e' altro che il testo che vedi nella finestra di richiesta.
    Comincia con il testare tutti gli esempi e fai in modo che funzionino, dopo di che devi trovare il modo (sotto windows non saprei suggerirti come fare) di emulare le richieste che fa SOPAUI.
    la documentazione di SOGEI è pessima e la loro assistenza ancora di più.
    Completamente d'accordo e quando danno una risposta (dopo settimane, se la danno), spesso e' sbagliata o non attinente.
  • Re: La croce del FSE

    In che modo hai creato la connessione curl al web service passandogli i certificati e la chiave?
    Quindi lavori anche tu sotto Linux ?
  • Re: La croce del FSE

    Si, sono in ambiente Linux anche io. Si infatti il probelma è proprio la creazione della richiesta. Sto cercando in tutti i modi di farla andare, ma non trovo il modo di crearla
  • Re: La croce del FSE

    lord112 ha scritto:


    Si, sono in ambiente Linux anche io. Si infatti il probelma è proprio la creazione della richiesta. Sto cercando in tutti i modi di farla andare, ma non trovo il modo di crearla
    Non e' proprio semplicissimo con l'autenticazione con smart card perche' la sintassi di curl e' complicata ed inoltre devi estrarre l'URI della chiave privata ed il certificato utilizzando p11-tool
    Provo ad allegarti un file zippato che contiene un esempio di chiamata

    file:///dosVBX/help.zip
  • Re: La croce del FSE

    Purtroppo non riesco ad allegare nessun file, mi dice sempre "estensione del file non valida"
  • Re: La croce del FSE

    Potresti condividere l'archivio con questo , ed incollare qui il link risultante? Sappi che hai un pranzo pagato offerto da me.
  • Re: La croce del FSE

    Eccolo qua https://files.fm/u/jydtjkgr
    Per la cena ti ringrazio, ma non e' necessario, sto solo ricambiando l'aiuto che ho avuto dalla comunita'.
    Fa' anche tu altrettanto se ne avrai l'occasione.
  • Re: La croce del FSE

    Ti ringrazio per il grande aiuto che mi hai dato, ora tutto è più chiaro. Ora io tutto questo lo devo fare in ambiente WEB, recuperando la chiave privata dalla TS-CNS
  • Re: La croce del FSE

    Come Diceva Vasco Rossi - " E sono ancora qua" .... purtroppo nonostante il tuo script non abbiamo fatto nessun passo avanti. Quale certificato devo passare alla chiamata? L'architettura della scheda mi permette di accedere ad un file .pem o ad un .cer, altro non mi fa recuperare (per ovvi motivi di sicurezza), inoltre tutta questa bella cosa io la devo fare dal browser... Hai qualche dritta ulteriore che puoi darmi? Te ne sarei grato.
  • Re: La croce del FSE

    Ti mando questo file https://files.fm/u/naktdb2q che contiene uno script "trasmetti" che manda all'endpoint la richiesta in "richiesta.txt"
    Per farlo funzionare:
    1 Mettere nello script gli URI ed il PIN della scheda in uso
    2 Caricare il driver della card in /usr/lib64 (nella mia distro che e' SuSe Tumbleweed)
    3 Configurare pkcs11 in /etc/pkcs11/modules creando un file nominato xxx.module dove nella prima linea e' scritto
    module: /usr/lib64/<<nome del driver>> che puo' essere libbit4xkpi.so oppure stpkcs11.so.
    Non tutte le Tessere Sanitarie funzionano con curl , a me funzionano solo quelle della serie ACe 2021 e ST2021, quelle piu' vecchie non mi funzionano perche' i driver non sono disponibili/aggiornati e forse perche' hanno una chiave a 1024 bit e non 2048.
    La versione di curl che utilizzo e' 7.84.0, ma anche una piu' vecchia puo' andare bene.

    Non posso darti nessun aiuto su come fare la richiesta "da browser" perche' non ne so assolutamete niente.
    L'architettura della scheda mi permette di accedere ad un file .pem o ad un .cer,
    Il certificato lo estrae curl (o meglio openssl) al momento della richiesta, quindi non e' necessario estrarlo prima ed inoltre si puo' estrarre con p11-tool.
Devi accedere o registrarti per scrivere nel forum
17 risposte