Accreditamento SDICoop: configurazione SSL su Apache

Ho risolto togliendo:

SSLVerifyClient optional
SSLVerifyDepth 5
ServerSignature Off

Hello guys,
Today SDI system gives

“javax.net.ssl.SSLException: Received fatal alert: certificate_unknown”

Error when we receive data
It was working without any problem since yesterday.
Do you think system is upgrading, or some rules are changed? does anyone have information ?

[

Salve,
sto avendo problemi con l’installazione dei certificati sul mio server (Apache) gestito da Netsons.

Praticamente qualsiasi certificato provo ad inserire dal cPanel, mi dice che nel COMMON NAME non è presente il dominio a cui associare il certificato.
Ma nel COMMON NAME della CSR quando creata, ho inserito la stringa SDI- come indicato nella documentazione.

Netsons dice che senza i domini li nel common name al posto di quella stringa, non sanno come procedere.
Cosa dovrei fare? FatturaPA non risponde…

Grazie.

Io ho avuto lo stesso problema. cPanel non me la faceva inserire e quindi bisognava revocare la richiesta d’accreditamento e farne una nuova con il dominio/sottodominio messo come Common name nella CSR del server. Almeno così poi ho potuto installare il certificato tramite cPanel. Solo che neanche dopo questa operazione riesco a ricevere le notifiche da parte dell’SDI perché mi da sempre Fatal alert: protocol versione, vedi anche qui: Test Interoperabilità - TrasmissioneFatture risulta in javax.net.ssl.SSLException: Received fatal alert: protocol_version

Sono riuscito ad inviare una fattura di test con protocollo MTOM in php, ma non riesco a ricevere la notifica di scarto.

Nel log sulla gestione del canale, appare il seguente errore:
java.io.IOException: Async IO operation failed (3), reason: RC: 107 Transport endpoint is not connected

Qualcuno sa a cosa si riferisce ? (preciso che non ho installato certificati sul server, perché devo fare solo la parte di invio con ricezione notifiche, e non ricezione fatture).

Nel mio php server per notifiche, ho semplicemente questo:
$server = new SoapServer(“TrasmissioneFatture_v1.1.wsdl”, array(‘soap_version’ => SOAP_1_1));
$server->addFunction(“RicevutaConsegna”);
$server->addFunction(“NotificaMancataConsegna”);
$server->addFunction(“NotificaScarto”);
$server->addFunction(“NotificaEsito”);
$server->addFunction(“NotificaDecorrenzaTermini”);
$server->addFunction(“AttestazioneTrasmissioneFattura”);
$server->handle();

prova così: SDICoop: configurazione PHP SoapClient / SoapServer per invio e ricezione di test

Quindi devo installare per forza i certificati sul server per ricevere le notifiche?

Avendo messo, come da indicazioni fatturaPA, il common name come SDI-, il server non mi fa installare il certificato in quanto non è presente nessun dominio nel common name.

Voi come avete fatto?

Quindi devo installare per forza i certificati sul server per ricevere le notifiche?

si

Avendo messo, come da indicazioni fatturaPA, il common name come SDI-, il server non mi fa installare il certificato in quanto non è presente nessun dominio nel common name.
Voi come avete fatto?

basta aggiungere su apache

SSLStrictSNIVHostCheck off

e puoi installare qualsiasi certificato anche se non contiene il dominio nel common name

Alla fine ho chiamato FatturaPA e mi sono fatto annullare il canale, l’ho ricreato questa mattina ed ho usato un CSR con l’hostname corretto.

Ho inviato una fattura, ma non ricevo ancora la notifica di scarto.

Ottengo l’errore: java.io.IOException: Async IO operation failed (3), reason: RC: 107 Transport endpoint is not connected

Eppure cPanel mi segna che il certificato server è installato.
Ho usato il cer (convertito in pem) che mi hanno inviato, il key con cui l’ho creato e il caentrate.der come CA-Bundle.

Dove sta l’errore?

GRAZIE! Grazie infinite per la configurazione! È da un mese che cerco di far funzionare la “notifica”!

Qualcuno è riuscito a configurare Nginx con un certificato SSL già presente?
E se invece usassi direttamente il certificato fornitomi dal SDI?

Qualcuno sa a cosa è dovuto l’errore:

javax.net.ssl.SSLException: Received fatal alert: protocol_version

Sono su server Apache ed ho installato il certificato server su cPanel ed attivato il solo TLSv2.
Cos’altro bisogna fare per ricevere le notifiche di trasmissione fattura?

Avevo provato la stessa cosa con serverplan e mi spuntava sempre lo stesso errore. Per non rimanere bloccato su questo ho acquistato un Cloud VPS da netsons (configurazione minima a 5€+IVA/mese) con Debian+LAMP, l’ho impostato come richiesto e voilà mi arrivano anche le notifiche dal SDI.

Ciao scusami,
l’altro server che ho sta su Netsons ma è server dedicato.

Netsons non sa che pesci pigliare! Dicono che non hanno mai impostato un server simile, e non ho accesso a mettere mani io.

Con chi hai parlato e come hai impostato il server? Avrò chiamato tutti i tecnici netsons e nessuno sa dirmi nulla…

Check if your certificate expired

Ho chattato con qualcuno prima di fare l’acquisto ma quella persone non ha fatto niente. Poi ho acquistato il cloud vps e l’ho impostato io (c’era solo Debian+LAMP installato). Quindi ho copiato i certificati sul server e li ho impostati per il dominio che punto verso il vps. Avevo pure provato ad applicare un certificato let’s encrypt per il sottodominio www ma dopo averlo impostato mi dava pure un General SSL Engine problem. Ho tolto il certificato let’s encrypt di nuovo e funziona tutto di nuovo correttamente. Quindi posso confermare che per la configurazione apache ci deve essere soltanto un certificato (quello del sdi) per la connessione https.

Come hai risolto l’errore:
java.io.IOException: Async IO operation failed (3), reason: RC: 107 Transport endpoint is not connected

Salve,
mi sto occupando di creare per la mia azienda il WebService per la ricezione e trasmissione fatture.
Grazie alle indicazioni trovate nei vari topic sono riuscito a superare l’ostacolo dell’invio delle fatture all’SDICoop, ma in fase di chiamata ai servizi da parte loro ho il problema del solito “javax.net.ssl.SSLHandshakeException: General SSLEngine problem”.
Il certificato è stato caricato sul server, ma dai file di log di Apache viene indicato questo:

[Tue Dec 18 16:58:48.264161 2018] [ssl:info] [pid 6344] AH01914: Configuring server dominio.eu:443 for SSL protocol
[Tue Dec 18 16:58:48.264169 2018] [ssl:trace3] [pid 6344] ssl_engine_init.c(482): Creating new SSL context (protocols: TLSv1, TLSv1.1, TLSv1.2)
[Tue Dec 18 16:58:48.264235 2018] [ssl:trace1] [pid 6344] ssl_engine_init.c(656): Configuring client authentication
[Tue Dec 18 16:58:48.264473 2018] [ssl:debug] [pid 6344] ssl_engine_init.c(1600): AH02209: CA certificate: CN=CA Agenzia delle Entrate,OU=Servizi Telematici,O=Agenzia delle Entrate,C=IT
[Tue Dec 18 16:58:48.264493 2018] [ssl:debug] [pid 6344] ssl_engine_init.c(1600): AH02209: CA certificate: CN=CA Agenzia delle Entrate Test,OU=Servizi Telematici,O=Agenzia delle Entrate,C=it
[Tue Dec 18 16:58:48.264507 2018] [ssl:trace1] [pid 6344] ssl_engine_init.c(724): Configuring permitted SSL ciphers [!aNULL:!eNULL:!EXP:HIGH:!aNULL:!MD5]
[Tue Dec 18 16:58:48.264600 2018] [ssl:debug] [pid 6344] ssl_engine_init.c(843): AH01904: Configuring server certificate chain (1 CA certificate)
[Tue Dec 18 16:58:48.264605 2018] [ssl:debug] [pid 6344] ssl_engine_init.c(390): AH01893: Configuring TLS extension handling
[Tue Dec 18 16:58:48.264728 2018] [ssl:trace3] [pid 6344] ssl_util_ssl.c(332): [dominio.eu:443] SSL_X509_match_name: expecting name 'dominio.eu', NOT matched by ID 'SDI-XXXXXXXXXXX'
[Tue Dec 18 16:58:48.264773 2018] [ssl:debug] [pid 6344] ssl_util_ssl.c(343): AH02412: [dominio.eu:443] Cert does not match for name 'dominio.eu' [subject: CN=SDI-XXXXXXXXXXX,OU=Server,OU=Fatturazione Elettronica,O=Agenzia delle Entrate,C=IT / issuer: CN=CA Agenzia delle Entrate,OU=Servizi Telematici,O=Agenzia delle Entrate,C=IT / serial: 2149D147B21F0B38 / notbefore: Dec 14 16:50:21 2018 GMT / notafter: May 31 11:26:11 2021 GMT]
[Tue Dec 18 16:58:48.264776 2018] [ssl:warn] [pid 6344] AH01909: dominio.eu:443:0 server certificate does NOT include an ID which matches the server name
[Tue Dec 18 16:58:48.264779 2018] [ssl:info] [pid 6344] AH02568: Certificate and private key dominio.eu:443:0 configured from /opt/psa/var/certificates/cert-a9GM4b and /opt/psa/var/certificates/cert-a9GM4b
[Tue Dec 18 16:58:48.336583 2018] [ssl:info] [pid 6345] AH01914: Configuring server dominio.eu:443 for SSL protocol
[Tue Dec 18 16:58:48.336591 2018] [ssl:trace3] [pid 6345] ssl_engine_init.c(482): Creating new SSL context (protocols: TLSv1, TLSv1.1, TLSv1.2)
[Tue Dec 18 16:58:48.336640 2018] [ssl:trace1] [pid 6345] ssl_engine_init.c(656): Configuring client authentication
[Tue Dec 18 16:58:48.336902 2018] [ssl:debug] [pid 6345] ssl_engine_init.c(1600): AH02209: CA certificate: CN=CA Agenzia delle Entrate,OU=Servizi Telematici,O=Agenzia delle Entrate,C=IT
[Tue Dec 18 16:58:48.336913 2018] [ssl:debug] [pid 6345] ssl_engine_init.c(1600): AH02209: CA certificate: CN=CA Agenzia delle Entrate Test,OU=Servizi Telematici,O=Agenzia delle Entrate,C=it
[Tue Dec 18 16:58:48.336915 2018] [ssl:trace1] [pid 6345] ssl_engine_init.c(724): Configuring permitted SSL ciphers [!aNULL:!eNULL:!EXP:HIGH:!aNULL:!MD5]
[Tue Dec 18 16:58:48.337023 2018] [ssl:debug] [pid 6345] ssl_engine_init.c(843): AH01904: Configuring server certificate chain (1 CA certificate)
[Tue Dec 18 16:58:48.337027 2018] [ssl:debug] [pid 6345] ssl_engine_init.c(390): AH01893: Configuring TLS extension handling
[Tue Dec 18 16:58:48.337152 2018] [ssl:trace3] [pid 6345] ssl_util_ssl.c(332): [dominio.eu:443] SSL_X509_match_name: expecting name 'dominio.eu', NOT matched by ID 'SDI-XXXXXXXXXXX'
[Tue Dec 18 16:58:48.337217 2018] [ssl:debug] [pid 6345] ssl_util_ssl.c(343): AH02412: [dominio.eu:443] Cert does not match for name 'dominio.eu' [subject: CN=SDI-XXXXXXXXXXX,OU=Server,OU=Fatturazione Elettronica,O=Agenzia delle Entrate,C=IT / issuer: CN=CA Agenzia delle Entrate,OU=Servizi Telematici,O=Agenzia delle Entrate,C=IT / serial: 2149D147B21F0B38 / notbefore: Dec 14 16:50:21 2018 GMT / notafter: May 31 11:26:11 2021 GMT]
[Tue Dec 18 16:58:48.337223 2018] [ssl:warn] [pid 6345] AH01909: dominio.eu:443:0 server certificate does NOT include an ID which matches the server name
[Tue Dec 18 16:58:48.337228 2018] [ssl:info] [pid 6345] AH02568: Certificate and private key dominio.eu:443:0 configured from /opt/psa/var/certificates/cert-a9GM4b and /opt/psa/var/certificates/cert-a9GM4b

Dai messaggi sembrerebbe che non ci sia corrispondenza tra il Common Name che abbiamo nel nostro certificato e quello che cercano loro per l’handshake, al momento della creazione del certificato (che abbiamo inviato in fase di accreditamento del canale) abbiamo usato come Common Name “SDI-XXXXXXXXXXX” per entrambi. Sarebbe stato necessario usare per il certificato lato server il Common Name “dominio.eu”?

Sono state risolte dal tecnico di netsons, che comunque mi ha spiegato che è un problema di ricezione sul server perché sogei per prima cosa fa una specie di “Hello” di controllo sul server con protocollo TLSv1.0 … quindi va ugualmente abilitato, dopodiché cerca i certificati.
Con tanta pazienza ed un tcpdump, si è risolto l’arcano per poi schiantarmi contro quelli di SSL impossibili da risolvere con cPanel.

Alla fine ho preso un Cloud VPS su netsons con Debian 9, abbiamo installato tutto li, ed ha funzionato al primo colpo.

Grazie, era quello che temevo di dover passare almeno ad una vps magari facendo prima solo il webservice e poi trasferire tutto l’applicativo.