Come creare e installare i certificati SSL canale SDICoop – Agenzia Entrate Come creare, convertire e installare i certificati ricevuti dal Sistema di Interscambio (SdI) di Agenzia delle Entrate per il canale SDICoop (servizio Web Service)

FatturaXML

Questo articolo è una piccola anticipazione di una guida molto più ampia, di prossima pubblicazione, nella quale spiegheremo come implementare il servizio SDICoop (modalità trasmissione e ricezione) per la connessione al Sistema di Interscambio (SdI) di Agenzia delle Entrate, superare il test di accreditamento e accedere alla fase di sperimentazione e, successivamente, di produzione.

Per il momento, ci limiteremo a pubblicare una breve guida che spiega come ottenere i certificati SSL da installare sul proprio web service per poter effettuare i test di accreditamento del servizio SDICoop

Prima di continuare, ricordiamo una serie di articoli che abbiamo pubblicato in passato e che possono risultare utili a chiunque voglia approfondire il discorso relativo ai certificati SSL, alle loro tipologie di utilizzo principale e ai principali formati e standard ad oggi esistenti:

Introduzione

All’interno di questa guida ci riferiremo ai due certificati necessari per effettuare l’autenticazione con il software del Sistema di Interscambio, necessaria sia per poter inviare al SdI le nostre fatture e ricevute che per ricevere da SdI le fatture e ricevute a noi indirizzate:

  • Il certificato CLIENT, ovvero quello necessario per autenticarsi ai Web Service del Sistema di Interscambio dal nostro client, il quale avrà il compito di trasmettere le nostre fatture e ricevute: i file necessari per la generazione e l’installazione di questo certificato avranno il nomefile con prefisso sdi-<PIVA>-client (dove <PIVA> è ovviamente la partita IVA della società che intende effettuare i test).
  • Il certificato SERVER, ovvero quello che sarà utilizzato dal client del Sistema di Interscambio per autenticarsi al nostro Web Service e trasmettere le fatture e ricevute a noi dirette: i file necessari per la generazione e l’installazione di questo certificato avranno il nomefile con prefisso sdi-<PIVA>-client (dove <PIVA> è ovviamente la partita IVA della società che intende effettuare i test).

Non faremo invece distinzione tra i file da configurare nell’ambiente di test e quelli da configurare nell’ambiente di produzione: nel caso in cui il vostro sistema preveda l’utilizzo di due server distinti, sarà quindi necessario ripetere le operazioni per due volte: la prima per richiedere e installare i certificati necessari all’ambiente di test, la seconda per quelli relativi all’ambiente di produzione.

Per svolgere le attività elencate di seguito sarà necessario dotarsi di OpenSSL, uno strumento open-source che consente di effettuare una serie di operazioni di conversione sui vari formati dei certificati SSL: il tool è presente nativamente all’interno di tutte le principali distribuzioni Linux, mentre il porting per Windows (e altri OS) può essere scaricata gratuitamente da qui:

#1. Generare i file KEY

La prima cosa da fare è generare le chiavi RSA necessarie per crittografare i certificati.

#2. Creare i file CSR

Subito dopo potremo creare le Certificate Signing Request (CSR), necessarie per l’emissione dei certificati:

#3. Inviare i file CSR al SdI

Una volta pronti, i file CSR dovranno essere inviati ad Agenzia delle Entrate utilizzando la pagina di configurazione del canale SDICoop, così da completare il processo di richiesta accreditamento: al termine del processo, si otterranno i file .CER relativi ai CSR da noi inviati e il Kit di Test, contenente una serie di file relativi ai certificati CA (anch’essi in formato .CER).

Se vogliamo installare i file CER ricevuti da Agenzia Entrate su un Web Server IIS, sarà necessario effettuare alcune attività di conversione: per la precisione, da CER a PEM e poi da PEM al formato finale PFX/P12, che dovrà contenere anche la chiave e a tutti i certificati CA intermedi.

#4. Convertire i file CER in formato PEM

La prossima cosa da fare è convertire i file CER in formato P7M, operazione che può essere effettuata tramite le seguenti righe di comando:

#5. Creare il file dei certificati CA

Prima di poter procedere alla creazione del file PFX/P12 è necessario “accodare” i vari certificati intermedi inviati da Agenzia delle Entrate, così da poterli inserire all’interno del file di destinazione. Per far questo, è possibile utilizzare la funzionalità di binary copy fornita dal comando DOS copy con l’ausilio dell’opzione /b nel seguente modo:

Questa operazione provocherà la scrittura su disco di un nuovo file – denominato ca-all.pem – contenente la somma binaria di tutti i certificati intermedi.

#6. Verifica del file ca-all.pem

Il binary copy funziona piuttosto bene, ma è opportuno verificare il contenuto del file risultante per assicurarsi che i certificati ivi contenuti siano stati “accodati” correttamente. E’ quindi opportuno aprire il file ca-all.pem appena creato con un editor di testo e assicurarsi che:

  • Non vi siano righe che abbiano le diciture —–END CERTIFICATE—– e —–BEGIN CERTIFICATE—– sulla stessa riga: nel caso in cui ve ne fossero alcune, è importante separarle con una riga vuota.
  • E’ necessario che vi sia una riga vuota alla fine del file.

#7. Creare i file PFX/P12

A questo punto è finalmente possibile utilizzare i file PEM relativi ai nostri certificati (cfr. step #4), la chiave RSA generata all’inizio della procedura (cfr. step #1) e i file PEM relativi alla somma dei certificati intermedi (cfr. step #7), per creare un bundle completo in formato PFX/P12.

I file PFX/P12 così creati potranno essere così importati e configurati sul web server che dovrà comunicare al servizio SdI utilizzando la funzionalità “Importa Certificato” presente nello strumento di gestione di IIS, noto anche come IIS Manager.

Conclusioni

Per il momento è tutto: mi auguro che questa guida possa essere d’aiuto agli sviluppatori che hanno necessità di configurare il proprio sistema per poter effettuare i test di accreditamento previsti dal Sistema di Interscambio di Agenzia Entrate così da poter ricevere l’abilitazione del servizio SDICoop. Nei prossimi giorni pubblicheremo numerosi altri articoli sul tema, quindi… stay tuned!

 

About Ryan

IT Project Manager, Web Interface Architect e Lead Developer di numerosi siti e servizi web ad alto traffico in Italia e in Europa. Dal 2010 si occupa anche della progettazione di App e giochi per dispositivi Android, iOS e Mobile Phone per conto di numerose società italiane. Microsoft MVP for Development Technologies dal 2018.

View all posts by Ryan

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.