# Accreditamento SDICoop: configurazione SSL su Apache

**URL:** <https://forum.italia.it/t/accreditamento-sdicoop-configurazione-ssl-su-apache/3314>\
**Category:** Fatturazione Elettronica\
**Created:** [14 Maggio 2018, 2:33pm UTC](https://forum.italia.it/t/accreditamento-sdicoop-configurazione-ssl-su-apache/3314 "2018-05-14T14:33:01Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![daniele\_m](https://forum.italia.it/user_avatar/forum.italia.it/daniele_m/32/1908_2.png) [@daniele\_m](https://forum.italia.it/u/daniele_m)\
**Post date:** [29 Giugno 2018, 9:34am UTC](https://forum.italia.it/t/accreditamento-sdicoop-configurazione-ssl-su-apache/3314/21 "2018-06-29T09:34:20Z")

</div>

dopo le modifiche fatte ieri dopo il post, ha iniziato a funzionare correttamente.  
per l’invio usiamo il comando soapClient esteso per gestire MTOM e con opzione local\_cert dove passiamo il pfx convertito pem.

per quanto riguarda il file, attualmente lo passiamo non firmato e risulta ricevuto con successo da SDI.  
il problema dell’errore 200 era dovuto dal fatto che eseguivamo l’encode base64 del file prima di inoltrarlo…ma dato che l’encode avviene in automatico, avveniva un doppio encode.

attualmente ci rimane il problema javax.net.ssl.SSLHandshakeException: General SSLEngine problem che se non ho capito male, è l’errore generato quando SDI non riesce ad inoltrare la notifica di ritorno a causa di un errore nei certificati (probabilmente il nostro server non chiede i certificati o chiede quelli corretti)

una curiosità.  
Come apponi la firma sul file?  
-firmi il file in esterno e poi lo inoltri as SDI  
-firmi in maniera programmatica con una libreria (se usi php, quale consigli ?) e poi giri il tutto a sdi

Grazie.

---

<div class="post-metadata">

**Author:** ![Giulio](https://forum.italia.it/letter_avatar_proxy/v4/letter/g/45deac/32.png) [@Giulio](https://forum.italia.it/u/Giulio)\
**Post date:** [29 Giugno 2018, 9:48am UTC](https://forum.italia.it/t/accreditamento-sdicoop-configurazione-ssl-su-apache/3314/22 "2018-06-29T09:48:09Z")

</div>

Al momento firmiamo in esterno con chiavetta cns.  
Stiamo cercando come poter fare firma massiva da codice ma non abbiamo ancora una soluzione, però non usiamo php ma lavoriamo con .net e server iis.

---

<div class="post-metadata">

**Author:** ![digital.solutions](https://forum.italia.it/letter_avatar_proxy/v4/letter/d/5fc32e/32.png) [@digital.solutions](https://forum.italia.it/u/digital.solutions)\
**Post date:** [29 Giugno 2018, 12:37pm UTC](https://forum.italia.it/t/accreditamento-sdicoop-configurazione-ssl-su-apache/3314/23 "2018-06-29T12:37:19Z")

</div>

Ciao Giulio, anche noi lavoriamo con .net e dobbiamo attrezzare un server iis per inviare e ricevere le fatture elettroniche. Come hai proceduto per l’installazione dei certificati sul server IIS? Puoi condividere uno stralcio di codice da usare come punto di partenza per la trasmissione di una fattura con codice .net? Un post del genere sono sicuro che sarebbe utile a moltissimi utenti.

Intanto posto il codice .net che sta usando BrightSoul per la connessione ad un WS PA:

> <https://gist.github.com/BrightSoul/a97741be6844b76019a41991e7175e2c>

---

<div class="post-metadata">

**Author:** ![Giulio](https://forum.italia.it/letter_avatar_proxy/v4/letter/g/45deac/32.png) [@Giulio](https://forum.italia.it/u/Giulio)\
**Post date:** [29 Giugno 2018, 12:45pm UTC](https://forum.italia.it/t/accreditamento-sdicoop-configurazione-ssl-su-apache/3314/24 "2018-06-29T12:45:48Z")

</div>

Ciao Luca,  
come codice guarda qui, avevo già scritto in proposito:

> [@Collegamento ai WS e certificati](https://forum.italia.it/t/collegamento-ai-ws-e-certificati/3605):
>
> Salve a tutti, abbiamo terminato correttamente la procedura di accreditamento e abbiamo ricevuto da SDI i vari certificati. Sto provando a collegarmi, da un’applicazione .NET, ai web service di test (“[https://testservizi.fatturapa.it/ricevi\_file](https://testservizi.fatturapa.it/ricevi_file)”), ma non riesco a fare la chiamata. Ottengo sempre un 403 Forbidden. Come prova ulteriore volevo provare a collegarmi tramite browser. Ho installato i vari certificati. Quando mi collego da Chrome o IE, mi viene richiesto il certificato da usare e dop…

Per quanto riguarda i certificati sul server non mi esprimo in quanto non siamo ancora riusciti a ricevere correttamente le notifiche quindi darei informazioni sbagliate, siamo attualmente bloccati su questo punto, le chiamate al nostro ws trasmissionefatture non funzionano.  
Adesso iniziamo ad essere in tanti qui che usano .net e iis, dai che forse riusciamo ad arrivare in fondo

---

<div class="post-metadata">

**Author:** ![Paolo\_Pedrazzi\_Digit](https://forum.italia.it/letter_avatar_proxy/v4/letter/p/ecd19e/32.png) [@Paolo\_Pedrazzi\_Digit](https://forum.italia.it/u/Paolo_Pedrazzi_Digit)\
**Post date:** [30 Giugno 2018, 10:30pm UTC](https://forum.italia.it/t/accreditamento-sdicoop-configurazione-ssl-su-apache/3314/25 "2018-06-30T22:30:19Z")

</div>

Salve a tutti,  
io sto implementando una APP mobile IONIC3 una webapp con Angular 5 che consuma API da un webservice in Laravel 5.6. Non so se può essere utile a qualcuno ma per ovviare al problema della gestione MTOM su SoapClient, uso questo pacchetto composer…

> **[debuss/MTOMSoapClient](https://github.com/debuss/MTOMSoapClient)**
>
> MTOMSoapClient - Small PHP Soap class to deal with MTOM technology, fetching binaries as base64 string.

---

<div class="post-metadata">

**Author:** ![Paolo\_Pedrazzi\_Digit](https://forum.italia.it/letter_avatar_proxy/v4/letter/p/ecd19e/32.png) [@Paolo\_Pedrazzi\_Digit](https://forum.italia.it/u/Paolo_Pedrazzi_Digit)\
**Post date:** [30 Giugno 2018, 10:32pm UTC](https://forum.italia.it/t/accreditamento-sdicoop-configurazione-ssl-su-apache/3314/26 "2018-06-30T22:32:31Z")

</div>

Io mi ero informato per firma digitale massiva con Aruba, che ha un prodotto apposito che si chiama Aruba Secure Box, ma i costi sono abbastanza elevati.

---

<div class="post-metadata">

**Author:** ![daniele\_m](https://forum.italia.it/user_avatar/forum.italia.it/daniele_m/32/1908_2.png) [@daniele\_m](https://forum.italia.it/u/daniele_m)\
**Post date:** [2 Luglio 2018, 3:25pm UTC](https://forum.italia.it/t/accreditamento-sdicoop-configurazione-ssl-su-apache/3314/27 "2018-07-02T15:25:37Z")

</div>

Ciao, Anch’io ho utilizzato quella classe ma da qualche errore quando SDI ti inoltra la response negativa per l’invio della notifica di accettazione/scarto della fattura ricevuta.

> SOAP-ERROR: Encoding: Violation of encoding rules

in pratica anche se c’è il tag xop non c’è la stringa di chiusura --uuid. questo comporta che la classe non riesce ad individuare la parte binaria dell’allegato, lasciando l’xml “sporco”

---

<div class="post-metadata">

**Author:** ![francescom](https://forum.italia.it/letter_avatar_proxy/v4/letter/f/ecc23a/32.png) [@francescom](https://forum.italia.it/u/francescom)\
**Post date:** [3 Luglio 2018, 9:02am UTC](https://forum.italia.it/t/accreditamento-sdicoop-configurazione-ssl-su-apache/3314/28 "2018-07-03T09:02:43Z")

</div>

Scusami, ti posso chiedere se posti una esempio di soapclient con i certificati che hai usato in php e la una config di apache sempre per favore?

---

<div class="post-metadata">

**Author:** ![daniele\_m](https://forum.italia.it/user_avatar/forum.italia.it/daniele_m/32/1908_2.png) [@daniele\_m](https://forum.italia.it/u/daniele_m)\
**Post date:** [4 Luglio 2018, 2:26pm UTC](https://forum.italia.it/t/accreditamento-sdicoop-configurazione-ssl-su-apache/3314/29 "2018-07-04T14:26:08Z")

</div>

quello che uso attualmente è riportato poco sopra alla data del 19 giungo.  
per la spiegazione dei certificati da usare ho usato il certificato pfx convertito in pem  
la spiegazione la trovi a questo link [Installazione certificati canale SDICOOP](https://forum.italia.it/t/installazione-certificati-canale-sdicoop/3382/5?u=daniele_m)

questo mi ha permesso di inoltrare i file a SDI ma la response veniva troncata.  
quindi ho modificato la classe soapClient con la classe postata da da Paolo\_pedrazzi\_digit il 29 giugno

---

<div class="post-metadata">

**Author:** ![francescom](https://forum.italia.it/letter_avatar_proxy/v4/letter/f/ecc23a/32.png) [@francescom](https://forum.italia.it/u/francescom)\
**Post date:** [5 Luglio 2018, 8:08am UTC](https://forum.italia.it/t/accreditamento-sdicoop-configurazione-ssl-su-apache/3314/30 "2018-07-05T08:08:35Z")

</div>

Scusami ancora ma il certificato che hai converito in pem da pfx lo passi nella chiamata soapclient nelle option con la dicitura “local\_cert”?

---

<div class="post-metadata">

**Author:** ![daniele\_m](https://forum.italia.it/user_avatar/forum.italia.it/daniele_m/32/1908_2.png) [@daniele\_m](https://forum.italia.it/u/daniele_m)\
**Post date:** [5 Luglio 2018, 2:39pm UTC](https://forum.italia.it/t/accreditamento-sdicoop-configurazione-ssl-su-apache/3314/31 "2018-07-05T14:39:12Z")

</div>

si esatto

> $certspath=“./cartella-certificati/”; //CA file  
> $clientCertFile = “SDI-xxxxxxxxxxxxxxxxxx-clientpfx.pem”;  
> $wsdl=“[https://testservizi.fatturapa.it/SdI2AccoglienzaWeb/SdIRiceviFile\_service/WEB-INF/wsdl/SdIRiceviFile\_v1.0.wsdl](https://testservizi.fatturapa.it/SdI2AccoglienzaWeb/SdIRiceviFile_service/WEB-INF/wsdl/SdIRiceviFile_v1.0.wsdl)”;  
> $url = ‘[https://testservizi.fatturapa.it/ricevi\_file](https://testservizi.fatturapa.it/ricevi_file)’;  
> $options = array(  
> “location”=\>$url,  
> ‘local\_cert’=\>$certspath.$clientCertFile,  
> //‘style’=\>SOAP\_LITERAL,  
> //‘use’=\>SOAP\_ENCODED,  
> //‘soap\_version’=\>SOAP\_1\_1,  
> ‘cache\_wsdl’=\>WSDL\_CACHE\_NONE,  
> ‘connection\_timeout’=\>15,  
> //‘trace’=\>true,  
> //‘encoding’=\>‘UTF-8’,  
> //‘exceptions’=\>true,  
> );  
> $client = new MTOMSoapClient($wsdl ,$options );

---

<div class="post-metadata">

**Author:** ![francescom](https://forum.italia.it/letter_avatar_proxy/v4/letter/f/ecc23a/32.png) [@francescom](https://forum.italia.it/u/francescom)\
**Post date:** [5 Luglio 2018, 2:43pm UTC](https://forum.italia.it/t/accreditamento-sdicoop-configurazione-ssl-su-apache/3314/32 "2018-07-05T14:43:26Z")

</div>

grazie… ma siccome sto impazzendo un po il tuo apache come lo hai fatto? perchè io sto mettendo  
SSLEngine on  
SSLCertificateFile /pathto/SDI-xxxxx-server.pem  
SSLCertificateKeyFile /pathto/mykeya.key  
SSLCertificateChainFile /pathto/caentrate.der  
SSLVerifyClient optional  
SSLVerifyDepth 5  
SSLCACertificateFile /pathto/caentrate.der  
SSLStrictSNIVHostCheck off

---

<div class="post-metadata">

**Author:** ![daniele\_m](https://forum.italia.it/user_avatar/forum.italia.it/daniele_m/32/1908_2.png) [@daniele\_m](https://forum.italia.it/u/daniele_m)\
**Post date:** [5 Luglio 2018, 3:29pm UTC](https://forum.italia.it/t/accreditamento-sdicoop-configurazione-ssl-su-apache/3314/33 "2018-07-05T15:29:40Z")

</div>

purtroppo li non posso aiutarti.  
attualmente inoltriamo la fattura (non firmata) e riceviamo la response di presa in carico.  
a causa dei conflitti nei certificati (il nostro con quello fornito da f.pa) non riusciamo ancora ad ottenere una ricezione della notifica positiva.

In pratica verificando il flusso dal portale FatturaPa vedo che l’invio avviene con successo ma poi quando loro mi inoltrano la notifica o una fattura, non la ricevo per General SSLEngine problem

---

<div class="post-metadata">

**Author:** ![francescom](https://forum.italia.it/letter_avatar_proxy/v4/letter/f/ecc23a/32.png) [@francescom](https://forum.italia.it/u/francescom)\
**Post date:** [9 Luglio 2018, 2:48pm UTC](https://forum.italia.it/t/accreditamento-sdicoop-configurazione-ssl-su-apache/3314/34 "2018-07-09T14:48:30Z")

</div>

> [@daniele\_m](#):
>
> $certspath=“./cartella-certificati/”; //CA file  
> $clientCertFile = “SDI-xxxxxxxxxxxxxxxxxx-clientpfx.pem”;  
> $wsdl=“[https://testservizi.fatturapa.it/SdI2AccoglienzaWeb/SdIRiceviFile\_service/WEB-INF/wsdl/SdIRiceviFile\_v1.0.wsdl”](https://testservizi.fatturapa.it/SdI2AccoglienzaWeb/SdIRiceviFile_service/WEB-INF/wsdl/SdIRiceviFile_v1.0.wsdl%E2%80%9D);  
> $url = ‘[https://testservizi.fatturapa.it/ricevi\_file’](https://testservizi.fatturapa.it/ricevi_file%E2%80%99);  
> $options = array(  
> “location”=\>$url,  
> ‘local\_cert’=\>$certspath.$clientCertFile,  
> //‘style’=\>SOAP\_LITERAL,  
> //‘use’=\>SOAP\_ENCODED,  
> //‘soap\_version’=\>SOAP\_1\_1,  
> ‘cache\_wsdl’=\>WSDL\_CACHE\_NONE,  
> ‘connection\_timeout’=\>15,  
> //‘trace’=\>true,  
> //‘encoding’=\>‘UTF-8’,  
> //‘exceptions’=\>true,  
> );  
> $client = new MTOMSoapClient($wsdl ,$options );

Ciao a tutti ho eseguito alla lettera il tuo codice ma niente ecco il mio risultato

`Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://testservizi.fatturapa.it/SdI2AccoglienzaWeb/SdIRiceviFile_service/WEB-INF/wsdl/SdIRiceviFile_v1.0.wsdl' : failed to load external entity "https://testservizi.fatturapa.it/SdI2AccoglienzaWeb/SdIRiceviFile_service/WEB-INF/wsdl/SdIRiceviFile_v1.0.wsdl" in /hthost/chiamata.php:51 Stack trace: #0 /hthost/chiamata.php(51): SoapClient->SoapClient('https://testser...', Array) #1 {main} thrown in /hthost/chiamata.php on line 51`  
io ho creato il convertito il certificato pfx in pem con il seguente comando

> openssl pkcs12 -in SDI-xxxxx-client.pfx -out cert.pem

Dove sbaglio?

---

<div class="post-metadata">

**Author:** ![daniele\_m](https://forum.italia.it/user_avatar/forum.italia.it/daniele_m/32/1908_2.png) [@daniele\_m](https://forum.italia.it/u/daniele_m)\
**Post date:** [16 Luglio 2018, 1:06pm UTC](https://forum.italia.it/t/accreditamento-sdicoop-configurazione-ssl-su-apache/3314/35 "2018-07-16T13:06:07Z")

</div>

ti consiglio di verificare se  
[https://testservizi.fatturapa.it/SdI2AccoglienzaWeb/SdIRiceviFile\_service/WEB-INF/wsdl/SdIRiceviFile\_v1.0.wsdl](https://testservizi.fatturapa.it/SdI2AccoglienzaWeb/SdIRiceviFile_service/WEB-INF/wsdl/SdIRiceviFile_v1.0.wsdl)  
è accessibile per te tramite browser.  
installando il certificato PFX dovresti riuscire a visualizzare il wsdl.  
se ti restituisce l’errore “Forbidden” verifica nuovamente i certificati installati o contatta l’assistenza perchè potrebbe essere che non siete ancora stati abilitati

---

<div class="post-metadata">

**Author:** ![daniele\_m](https://forum.italia.it/user_avatar/forum.italia.it/daniele_m/32/1908_2.png) [@daniele\_m](https://forum.italia.it/u/daniele_m)\
**Post date:** [16 Luglio 2018, 1:07pm UTC](https://forum.italia.it/t/accreditamento-sdicoop-configurazione-ssl-su-apache/3314/36 "2018-07-16T13:07:54Z")

</div>

per conto nostro, continuiamo a ricevere errore di comunicazione nella ricezione delle notifiche e delle fatture. restituisce sempre l’errore “Protocol Version”  
per caso qualcuno di voi è capitato lo stesso problema?

Grazie.

---

<div class="post-metadata">

**Author:** ![francescom](https://forum.italia.it/letter_avatar_proxy/v4/letter/f/ecc23a/32.png) [@francescom](https://forum.italia.it/u/francescom)\
**Post date:** [16 Luglio 2018, 2:16pm UTC](https://forum.italia.it/t/accreditamento-sdicoop-configurazione-ssl-su-apache/3314/37 "2018-07-16T14:16:27Z")

</div>

no mai avuto questo problema, sono arrivato a fare “ricevi fattura” ma non capisco come fare questi altri passarri

---

<div class="post-metadata">

**Author:** ![daniele\_m](https://forum.italia.it/user_avatar/forum.italia.it/daniele_m/32/1908_2.png) [@daniele\_m](https://forum.italia.it/u/daniele_m)\
**Post date:** [17 Luglio 2018, 7:10am UTC](https://forum.italia.it/t/accreditamento-sdicoop-configurazione-ssl-su-apache/3314/38 "2018-07-17T07:10:29Z")

</div>

che tipo di configurazione avete impostato sul server per poter ricevere correttamente?  
e che versione/distribuzione usate ?  
avete un singolo certificato oppure usate il vostro certificato assieme al certificato dell’agenzia?

grazie.

---

<div class="post-metadata">

**Author:** ![daniele\_m](https://forum.italia.it/user_avatar/forum.italia.it/daniele_m/32/1908_2.png) [@daniele\_m](https://forum.italia.it/u/daniele_m)\
**Post date:** [27 Luglio 2018, 10:01am UTC](https://forum.italia.it/t/accreditamento-sdicoop-configurazione-ssl-su-apache/3314/39 "2018-07-27T10:01:03Z")

</div>

Ormai le stiamo provando un po’ tutte.  
da quello che mi dicono hanno provato a rimuovere i nostri certificati, usare solo quelli dell’agenzia, usare entrambi, usare una versione con entrambi i certificati concatenati, abilitare tutti i protocolli ssl (sslv3, tls) abilitare solo il tls1.2, mandare ticket…  
ma nulla.

sembra che nulla funzioni correttamente.  
in fase di ricezione della notifica il server non viene raggiunto perchè il protocollo non è compatibile o Server chose SSLv3, but that protocol version is not enabled or not supported by the client.

inizio a domandarmi se per caso, come per l’invio, non debbano abilitare loro qualcosa. o che stiano inviando le notifiche senza il nostro certificato.

---

<div class="post-metadata">

**Author:** ![Oiram](https://forum.italia.it/user_avatar/forum.italia.it/oiram/32/945_2.png) [@Oiram](https://forum.italia.it/u/Oiram)\
**Post date:** [31 Luglio 2018, 1:14pm UTC](https://forum.italia.it/t/accreditamento-sdicoop-configurazione-ssl-su-apache/3314/40 "2018-07-31T13:14:51Z")

</div>

Buongiorno Francesco,  
anche io mi trovo esattamente nella tua condizione:

- ho creato la chiave pfx secondo questa guida ([Installazione certificati canale SDICOOP](https://forum.italia.it/t/installazione-certificati-canale-sdicoop/3382/5)) e l’ho convertita in pem;

- ho creato un semplice file php di test inserendo questo codice

> $certspath=“./cartella-certificati/”; //CA file  
> $clientCertFile = “SDI-xxxxxxxxxxxxxxxxxx-clientpfx.pem”;  
> $wsdl=“[https://testservizi.fatturapa.it/SdI2AccoglienzaWeb/SdIRiceviFile\_service/WEB-INF/wsdl/SdIRiceviFile\_v1.0.wsdl](https://testservizi.fatturapa.it/SdI2AccoglienzaWeb/SdIRiceviFile_service/WEB-INF/wsdl/SdIRiceviFile_v1.0.wsdl) 3”;  
> $url = ‘[https://testservizi.fatturapa.it/ricevi\_file’](https://testservizi.fatturapa.it/ricevi_file%E2%80%99);  
> $options = array(  
> “location”=\>$url,  
> ‘local\_cert’=\>$certspath.$clientCertFile,  
> //‘style’=\>SOAP\_LITERAL,  
> //‘use’=\>SOAP\_ENCODED,  
> //‘soap\_version’=\>SOAP\_1\_1,  
> ‘cache\_wsdl’=\>WSDL\_CACHE\_NONE,  
> ‘connection\_timeout’=\>15,  
> //‘trace’=\>true,  
> //‘encoding’=\>‘UTF-8’,  
> //‘exceptions’=\>true,  
> );  
> $client = new MTOMSoapClient($wsdl ,$options );

- ho installato nel browser (Firefox) il certificato pfx e contattando la pagina [https://testservizi.fatturapa.it/SdI2AccoglienzaWeb/SdIRiceviFile\_service/WEB-INF/wsdl/SdIRiceviFile\_v1.0.wsdl](https://testservizi.fatturapa.it/SdI2AccoglienzaWeb/SdIRiceviFile_service/WEB-INF/wsdl/SdIRiceviFile_v1.0.wsdl) ottengo correttamente il wsdl del servizio.

Tuttavia, nel mio test in php continuo sempre ad ottenere l’eccezione SOAP  
`SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://testservizi.fatturapa.it/SdI2AccoglienzaWeb/SdIRiceviFile_service/WEB-INF/wsdl/SdIRiceviFile_v1.0.wsdl' : failed to load external entity`

Tu sei riuscito a risolvere il problema?

Grazie.

[Pagina precedente](https://forum.italia.it/t/accreditamento-sdicoop-configurazione-ssl-su-apache/3314.md?page=1)

[Pagina seguente](https://forum.italia.it/t/accreditamento-sdicoop-configurazione-ssl-su-apache/3314.md?page=3)
