- La chiave usata per firmare (server.key)
Note: Se avete seguito la guida fornita da fatturapa avete generato la chiave con openssl. Il formato è PKCS-8
- Andare sul sito FatturaPA
- Cliccare su "Interoperability Test"
- Cliccare su "Download test files"
- Scaricare KitDiTest.zip e Certificato Client e Server
- ATTENZIONE ! Certificato Client e Server avranno lo stesso nome al download, quindi salvate i file con un nome appropriato (es. server-SDI-PARTITAIVA.cer e client-SDI-PARTITAIVA.cer)
- Controlliamo bontà dei certificati scaricati
$ openssl x509 -in server-SDI-PARTITAIVA.cer -text -noout
Importante: Se il comando qui sopra ritorna un errore qualunque provate a riscaricare il certificato e ripetere. Se persiste, contattare SOGEI.
- Aprite il certificato server-SDI-PARTITAIVA.cer con un editor di testo qualunque, se ha caratteri incomprensibili (simboli vari) allora va convertito. Ecco come:
$ openssl x509 -inform der -in server-SDI-PARTITAIVA.cer -out server-SDI-PARTITAIVA.pem
Da notare: Abbiamo creato un file .pem
- Ora, di nuovo, apriamo il file server-SDI-PARTITAIVA.pem ed assicuriamoci di 2 cose fondamentali:
- Contenga le seguenti stringhe: BEGIN CERTIFICATE ed END CERTIFICATE
- Che il file alla fine abbia 1 linea vuota
$ cat server-key-pkcs8.key server-SDI-PARTITAIVA.pem > final-server-SDI-09701431216.pem
- Anche qui, controllare questi 2 requisiti essenziali:
- Aprire il file .pem finale con un editor di testo qualunque ed assicurati di 2 cose FONDAMENTALI:
-
- Che al suo interno siano presenti ---- BEGIN CERTIFICATE --- , ---- END CERTIFICATE ---- , -----PRIVATE KEY----- , -----END PRIVATE KEY-----
-
- Che il file contenga 1 linea vuota alla fine
-
- Aprire il file .pem finale con un editor di testo qualunque ed assicurati di 2 cose FONDAMENTALI:
- Ricordate il file scaricato di nome 'KitDiTest' ? Bene, scompattatelo e mettetelo da qualche parte
- Qui abbiamo bisogno di:
- caentrate.cer
- CAEntratetest.cer
- testservizi.fatturapa.it.cer
- caentrate.cer
ATTENZIONE: Anche qui probabilmente il formato effettivo dei .cer protrebbe non essere cer ma der. Quindi eseguiti i punti descritti nello Step 1
$ cat caentrate.cer CAEntratetest.cer testservizi.fatturapa.it.cer > server-SDI-PARTITAIVA-ca.crt
Finalmente avete tutto quello che vi serve per configurare il vostro server per comunicare con l'agenzia delle entrate senza problemi.
- server-chiave.key (quella che avete inviato all'Agenzia)
- server-SDI-PARTITAIVA.pem
- server-SDI-PARTITAIVA-ca.crt
- SOGEI non ha abilitato lo SNI, di conseguenza se installate i certificati che abbiamo creato prima su un SOTTO DOMINIO i test e produzione falliranno. Nonostante risponda il certificato dell'Agenzia dell'Entrate. Quindi i certificati vanno installati sul DOMINIO PRINCIPALE
- Attenzione ! I Certificati in questione NON RISULTERANNO MAI "VALIDI" agli occhi di un browser (Agenzie delle Entrate non è un Authority alla fine). Quindi evitate di usare il vostro dominio e server principale. Fatene uno dedicato. Vi conviene. (ci sono dei workaround ma sono mal di testa e troppo lunghi da spiegare/scrivere
- Un bel grazie a Stefano Petrone per aver fatto da cavia e risolto il *-ca.cer
D'Angelo Antonio - https://github.com/well-it-wasnt-me