20 messaggi dal 30 giugno 2010
Premesso che ho necessita' di inviare le fatture elettroniche al SDI e cioe' servizio di interscambio, che fa parte dell'Agenzia delle Entrate, tramite il Web Service. A tal fine ho chiesto l'accreditamento di questo canale trasmettondo le CSR del mio server web generate con Openssl. Loro mi hanno mandato tre certificati:
1) SDI-xxxxxxxxxx_client_test.cer
2) SDI-xxxxxxxxxx_server_test.cer
3) CAEntrate_test.der

Questi certificati dovranno servire per la comunicazione protetta dei dati verso il web service che espone la mia applicazione web e verso il web service che espone l'ente quando invio le fatture digitali.

Il mio web service doveva essere raggiunto da indirizzo che inizia con https//... e pertanto avevo gia' comprato e installato un certificato sul server RAPID SSL.
Non riesco ad installare correttamente tutti i 3 certificati.
Quando ho chiesto aiuto loro mi rispondono cosi':
Gentile utente,
la configurazione che dovreste avere e' la seguente:

Per il web service esposto da https://www.xxxxxxxxx.it/webServiceRicNotificheTest.asmx :
keystore con certificato server (sdi-xxxxxxxx) firmato da CA Agenzia delle Entrate Test;
truststore con certificato CA Agenzia delle Entrate Test ;

Per il web service chiamato da https://testservizi.fatturapa.it:
"keystore con certificato client (sdi-xxxxxxxxxx) firmato da CA Agenzia delle Entrate Test;
truststore con certificato server testservizi.fatturapa.it;

Richiamando il Vostro servizio, il certificato che presentate all'atto della nostra chiamata non e' sdi- rialsciato da CA Agenzia delle Entrate ma un certificato rilasciato da Rapid SSL .

Saluti
Segreteria Tecnica SDI

Mi scuso per la lunghezza del quesito e chiedo se potete darmi una mano.
Saluti.
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,
perdona la domanda scontata ma... su che webserver sei, IIS?

In questo caso, avresti potuto comodamente generare la richiesta di certificato dalla console di IIS, selezionando l'icona "Certificati del server" e cliccando "Crea richiesta di certificato".

Comunque, ora che sei in possesso del file SDI-xxxxxxxxxx_server_test.cer, vai a cliccare "Completa richiesta di certificato" e seleziona quel file.
Poi, seleziona il sito IIS che ospita il webservice e clicca il comando "Binding..." che trovi a destra. Aggiungi un binding HTTP (se non c'è già) e, nel farlo, seleziona il certificato emesso dall'Agenzia delle Entrate.

I passi che ti ho descritto sono illustrati qui:
https://www.digicert.com/ssl-certificate-installation-microsoft-iis-7.htm

ciao,
Moreno

Enjoy learning and just keep making
20 messaggi dal 30 giugno 2010
Ciao, grazie per avermi risposto.
1) la richiesta del certificato l'ho fatta seguendo le loro indicazioni con Openssl
2) l'applicazione web si trova in un sistema operativo windows server 2003 con IIS6
3) Visto che ho IIS6 le istruzioni che mi hai dato non coincidono, ma sono riuscito ad installare solo il certificato server SDI-xxxxxxx.server.test.cer
4) Ti ricordo che mi hanno restituito 3 certificati uno server, uno client e uno CA.
5) Prima avevo installato il certificato Rapid SSL e ho dovuto sostituirlo con SDI-xxxxxxx.server.test.cer
6)prima raggiungevo il sito tramite https:// adesso con il loro certificato posso raggiungere il il sito solo con http://

Un'altra cosa importante.
Ho fatto un ulteriore richiesta di assistenza e mi hanno risposto cosi':
Gentile utente,
i certificati che avete ricevuto vanno importati all'interno di un "contenitore" P12 o equivalente per effettuare la riconciliazione con le CSR inviate all'atto della richiesta di accreditamento in modo da attuare una mutua autenticazione clinet/server.
Cordiali saluti.

Ma a tal proposito avevo gia' fatto giorni fa la seguente prova:
con openssl ho creato/convertito i certificati ottenendo due files con estensione .p12
Un file client.p12 dove ho passato come parametri il loro certificato client, la chiave privata e il certificato CAEntrate
e un altro file server.p12 passando il certificato server, la chiave privata e il certificato CAEntrate.

Non so se andava fatto cosi ma comunque non riesco ad installare questi files con estensione .p12
Che fare?
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,
onestamente non so perché ti abbiano fatto smanettare con OpenSSL dato che IIS6 era già in grado di produrre una richiesta e poi completarla con il certificato. Sicuro di non aver seguito le istruzioni per linux?
Qui c'è la procedura per IIS6:
https://www.digicert.com/ssl-certificate-installation-microsoft-iis-5-6.htm

Ad un certo punto vedi "Import the Intermediate Certificate". Si riferisce al certificato CAEntrate. Segui la procedura per importare anche quello.

Il certificato client invece penso che serva nel momento in cui devi autenticarti presso un loro servizio.

fmilitello ha scritto:

prima raggiungevo il sito tramite https:// adesso con il loro certificato posso raggiungere il il sito solo con http://

Questo nuovo certificato è stato emesso per lo stesso nome a dominio (il Common Name) che avevi richiesto con Rapid SSL? Prova a digitare quel nome a dominio nel browser. Che pagina di errore ottieni?

Nel sito IIS è ancora presente il binding SSL sulla porta 443, come vedi qui?
http://documents.software.dell.com/remote-support-center/2.6.5/installation-guide/appendix-b/configuration-settings-for-iis-6-on-windows-server-2003

ciao,
Moreno

Enjoy learning and just keep making
20 messaggi dal 30 giugno 2010
Ciao Moreno,
sono riuscito ad installare i certificati ma attendo una verifica per i test che verra' eseguita da Agenzia delle Entrate.
Non ho provato quanto mi hai suggerito nell'ultima tua risposta in quanto ho trovato altre in dicazioni nella rete.
E precisamente mi sono concentrato su quanto mi dicevano quelli delle Ag.Entrate e cioe' di mettere i certificati in un contenitore p12.
Ho capito che si poteva creare un solo file di certificati con estensione .p12 tramite il seguente comando di Openssl:
openssl pkcs12 -export -out server.p12 -inkey server.key -in server.crt -certfile CACert.crt

dove a posto di server.p12 ho messo il nome del nuovo file creato,
al posto di server.key ho messo la mia chiave privata,
al posto di server.crt ho messo il certificato server,
al posto di CACert.crt ho messo il certificato CAEntrate...

pero' prima di procedere quanto sopra, ho dovuto convertire il mio certificato server da estensione .cer a estensione .pem sempre tramite openssl.

La stessa procedura ho fatto per ottenere il file .p12 del certificato client.

Ho rinominato il certificato server da .p12 a .pfx
poi sono andato in IIS, ho rimosso il precedente certificato ed importato quello server con estensione .pfx

E riesco a raggiungere il mio applicativo web con https://...
Mentre, come dicevi tu, il certificato client .p12 mi server per collegarmi al web service dell'Ag.Entrate.
Adesso aspetto di fare il test.
Grazie e ti faro' sapere.
Ciao
20 messaggi dal 30 giugno 2010
Ciao Moreno,
ho risolto il mio problema a meta'.
E' passato un po' di tempo ma o preferito fare altre prove a seconda del poco tempo a mia disposizione.
Dico a meta' perche' sono riuscito a passare il test ricevendo le notifiche da parte dell'agenzia delle entrate e memorizzandole nel mio database ma c'e' ancora un piccolo problema.
Ti riporto di seguito la loro risposta(da premettere che non danno nessuna assistenza e lo hanno detto esplicitamente):
---------------
Buonasera,
abbiamo effettuato il test di interoperabilità per l'id-richiesta 7220 con esito positivo riuscendo ad inviarVi le notifiche di prova.
Abbiamo però notato che il certificato client si trova in uno stato "Accepted" o "Ignored" mentre deve essere "Required".
Una volta effettuata la modifica potete contattarci all'indirizzo mail SegreteriaTecnicaSDI@sogei.it, valido solo per i test di interoperabilità.
saluti
Segreteria Tecnica SDI
---------------------
Allora, ho aperto IIS6 dal mio server dove c'e' il sito web (ti ricordo che ci troviamo su S.O. windows server 2003), ho selezionato il mio sito, ho fatto tasto destro sulla pagina web .asmx che contiene il mio web service e ho scelto la voce proprita', poi protezione file, pulsante modifica nel blocco comunicazioni protette.
Si apre una maschera dove ho messo la flag su "Richiedi un canale protetto (SSL), ho scelto l'opzione "richiedi certificati dei client" (le altre opzioni erano ingnora certificati dei client e accetta certificati dei client).
Allora sono tornato nella mascherina di cui sopra e ho messo la flag su "consenti il mapping dei certificati client" e cliccato su modifica. Dentro altra maschera del mapping, ho fatto aggiungi e sono costretto ad indicare un certificato, un utente del mio server e la password.
Ma nonostante tutto non passa il test. Ecco cosa mi rispondono:
Invocazione web service KO Eccezione: javax.xml.ws.WebServiceException: java.io.IOException: Unable to decrypt message.

Credo che il problema potrebbe essere su quale certificato indicato (client, server, CA ecc.)
Cosa ne pensi?
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao, l'errore "Unable to decrypt message" vuol dire che probabilmente Sogei ha cifrato il messaggio usando il suo certificato client e il server non è riuscito a decifrarlo perché manca o non è configurata la chiave pubblica.

Vedi se trovi qualche informazione qui per riuscire ad installare correttamente il loro certificato client.
https://support.microsoft.com/en-us/kb/901183
Io qui non ho Windows 2003 e non ti so guidare alla corretta configurazione, purtroppo.

ciao,
Moreno

Enjoy learning and just keep making
20 messaggi dal 30 giugno 2010
ok, do un'occhiata al link.
Grazie e ciao

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.