Come creare un file .der?

di il
64 risposte

Come creare un file .der?

Salve, spero di essere nella sezione giusta, devo registrare la mia attività come esercente sul sito http://www.18app.italia.i

La registrazione dei dati è andata a buon fine però devo installare un certificato di controllo delle transazioni.
E posso richiederlo inserendo il file .der di richiesta come da indicazioni del documento informativo.

Il documento informativo dice (in grassetto le caratteristiche del file .der) :
Per consumare il web service di verifica del voucher, ogni esercente dovrà essere dotato di un
certificato di autenticazione da installare nel proprio client del servizio e da utilizzare nella
chiamata SOAP per effettuare l’autenticazione in modalità SSL con certificato client.
Tale certificato X509 sarà generabile e scaricabile in formato .cer direttamente tramite
l’applicazione web dedicata agli esercenti, in area autenticata. In particolare il processo di
generazione del certificato prevede due step:
1. Il primo step di richiesta del certificato; a seguito di questa operazione il sistema prende in
carico la richiesta.
2. Il secondo step di verifica esito della richiesta; questa operazione controlla se è pronto il
certificato emesso da CA dedicata ed eventualmente lo rende disponibile per il download.

Durante il primo step sarà necessario caricare un file .der rappresentante la richiesta di certificato
alla CA dedicata al progetto. Tale csr deve presentare le seguenti caratteristiche:
? Algoritmo generazione chiavi: RSA
? Lunghezza chiavi: 2048 bit


Una volta scaricato il certificato X509 va installato, insieme alla corrispondente chiave privata, nel
client utilizzato per il servizio di verifica voucher. Pertanto l’evento di download del certificato non
può rappresentare la definitiva attivazione dell’esercente. E’ stato previsto uno step di attivazione,
di tipo “Check” con i seguenti valori di input:
? tipo operazione = 1
? codice voucher = 11aa22bb
Questa operazione equivale ad una transazione di attivazione, il cui unico effetto è quello di portare
l’esercente nello stato attivo. Da questo momento in poi i beneficiari potranno generare voucher
reali per tale esercente.
Endpoint del servizio
Per creare il certificato ho utilizzato questa guida
Non so se è corretta, però mi salva il file in formato .cer

Come faccio a creare il file .der?
Mi potete dare delle indicazioni?

Grazie

64 Risposte

  • Re: Come creare un file .der?

    Il problema non è creare il file .der, ma da dove andrà poi installato poi il certificato SSL
    La guida fornita per la carta docenti è incompleta non fornisce informazioni su dove e su cosa.

    La richiesta è poi strana in quanto richiedono di caricare specificatamente un file .der che è un formato binario usato in genere sulle piattaforme JAVA. Abbastanza inusuale soprattutto visto che la maggioranza dei commerci elettronici sono basati su PHP e su server Linux.
    E soprattutto perché per le normative privacy gli ecommerce in teoria dovrebbero già possedere un proprio certificato SSL e non puoi installarne due.

    Per generare un file .der deve chiedere a chi gestisce il tuo sito web di generare una richiesta SSL per un suo dominio/domini presente/i sul suo server. Poi indipendentemente dalla tipologia di server potrai convertire quella richiesta in un file .der.
    Anche da qui: https://www.rapidsslonline.com/ssl-tools/ssl-converter.php

    Ma se la SOGEI non si degna di rispondere e spiegare su dove e cosa va installato il certificato SSL è come se la stessa ti dicesse di installare le gomme da neve senza dirti se sulla tua auto, o sul tuo furgone o su un mezzo che ti forniscono loro.
  • Re: Come creare un file .der?

    lorismod ha scritto:


    Il problema non è creare il file .der, ma da dove andrà poi installato poi il certificato SSL
    La guida fornita per la carta docenti è incompleta non fornisce informazioni su dove e su cosa.

    La richiesta è poi strana in quanto richiedono di caricare specificatamente un file .der che è un formato binario usato in genere sulle piattaforme JAVA. Abbastanza inusuale soprattutto visto che la maggioranza dei commerci elettronici sono basati su PHP e su server Linux.
    E soprattutto perché per le normative privacy gli ecommerce in teoria dovrebbero già possedere un proprio certificato SSL e non puoi installarne due.

    Per generare un file .der deve chiedere a chi gestisce il tuo sito web di generare una richiesta SSL per un suo dominio/domini presente/i sul suo server. Poi indipendentemente dalla tipologia di server potrai convertire quella richiesta in un file .der.
    Anche da qui: https://www.rapidsslonline.com/ssl-tools/ssl-converter.php

    Ma se la SOGEI non si degna di rispondere e spiegare su dove e cosa va installato il certificato SSL è come se la stessa ti dicesse di installare le gomme da neve senza dirti se sulla tua auto, o sul tuo furgone o su un mezzo che ti forniscono loro.
    Bhè, non è poi una richiesta così strana, dal momento che la certificate signature request la mandi al web service (che nella maggior parte dei casi è realizzato in java).
  • Re: Come creare un file .der?

    Non lo sarebbe se la documentazione fosse completa, mè è tutta qui:
    Per consumare il web service di verifica del voucher, ogni esercente dovrà essere dotato di un
    certificato di autenticazione da installare nel proprio client del servizio e da utilizzare nella
    chiamata SOAP per effettuare l’autenticazione in modalità SSL con certificato client.
    Tale certificato X509 sarà generabile e scaricabile in formato .cer direttamente tramite
    l’applicazione web dedicata agli esercenti, in area autenticata. In particolare il processo di
    generazione del certificato prevede due step:
    1. Il primo step di richiesta del certificato; a seguito di questa operazione il sistema prende in
    carico la richiesta.
    2. Il secondo step di verifica esito della richiesta; questa operazione controlla se è pronto il
    certificato emesso da CA dedicata ed eventualmente lo rende disponibile per il download.

    Durante il primo step sarà necessario caricare un file .der rappresentante la richiesta di certificato
    alla CA dedicata al progetto. Tale csr deve presentare le seguenti caratteristiche:
    Algoritmo generazione chiavi: RSA
    Lunghezza chiavi: 2048 bit

    Una volta scaricato il certificato X509 va installato, insieme alla corrispondente chiave privata, nel
    client utilizzato per il servizio di verifica voucher. Pertanto l’evento di download del certificato non
    può rappresentare la definitiva attivazione dell’esercente. E’ stato previsto uno step di attivazione,
    di tipo “Check” con i seguenti valori di input:
    tipo operazione = 1
    codice voucher = 11aa22bb

    Questa operazione equivale ad una transazione di attivazione, il cui unico effetto è quello di portare
    l’esercente nello stato attivo. Da questo momento in poi i beneficiari potranno generare voucher
    reali per tale esercente.
    Endpoint del servizio
    Manca da dove gernare il file .der per la richesta del certificato e soprattutto tutta la documentazione del WebService comprese le specifiche delle chiamate SOAP. E una sola pagina e non spiegano altro. Ovviamente l'assistenza non sa rispondere e la SOGEI non risponde su cosa sia questo "nel proprio client del servizio" di cui non vi è nessuna indicazione.

    Il problema è questo: cosa intendono per client di servizio? da dove va generata la richiesta per il CA?
  • Re: Come creare un file .der?

    Ho contattato anche io l'assistenza tecnica senza ottenere alcuna risposta.
    Purtroppo siamo in Italia.
  • Re: Come creare un file .der?

    Buon pomeriggio,
    sono anche io alle prese con il servzio in oggetto (18app / cartadeldocente)
    Nel frattempo:
    la documentazione sui servizi soap è recuperabile al link in fondo alla pagina (linee guida esercenti)


    Mentre un file .der è il file .cer convertito in formato binario (di solito utilizzato in ambiente JAVA)
    e si ottiene utilizzando il seguente comando openssl:
    openssl x509 -outform der -in certificate.pem -out certificate.der
    Per quanto riguarda la parte relativa allo scarico del certificato e all'attivazione del codice esercente, invece, non è chiara la documentazione fornita dal ministero... vorrebbero una richiesta di certificato (quindi un file CSR) ma si può solo caricare sul portale un file DER (e non è possibile convertire il CSR in DER).. anche chi, come SSL247, coi certificati ci lavora ha espresso qualche perplessità leggendo la documentazione...

    Voi avete avuto qualche novità?

    Edit: ho anch'io aperto un ticket all'assistenza inizio dicembre... dopo 6 solleciti sono ancora qui ad aspettare che mi contattino...
  • Re: Come creare un file .der?

    Ho trovato una documentazione un po' più completa realtiva alla carta del docente e la loro richiesta ha un po' più di senso anche se ancora risulta non chiara:


    Per generare il file .der e creare il certificato si può preocedere così da SSH su server Linux:

    Generiamo il file .der:
    openssl req -newkey rsa:2048 -keyout key.der -out req.der -outform DER
    Ho compilato le varie richieste in Enter PEM pass phrase, ho iserito una PW inventata. (non so se è corretto).
    Una volta scaricato il file dal sito cartadeldocente carichiamo nella root il fil. cer:
    openssl x509 –inform der –in xxxxx.cer –out xxxxx.pem
    e quindi generiamo il certificato .p12
    openssl pkcs12 -export -inkey xxxxx.der -in xxxxx.pem -out xxxxx.p12
    Fatto questo le cose si complicano in quanto nella doumentazione si fa riferimeno a due endpoint:

    https://wstest.”cartadeldocente”.italia.it/VerificaBuonoWEB/VerificaBuono (ambiente di prova)
    https://ws.”cartadeldocente”.italia.it/VerificaBuonoWEB/VerificaBuono (ambiente reale)

    Le (") nell'URL ovviamente sarà un refuso della stupenda documentazione

    Il fatto è che si dovrà fare un test ora di validazione del buono con:
    tipo operazione = 1
    codice buono = 11aa22bb

    Sogei non fornisce nessun supporto per la realizzazione del client, né file d'esempio.
    Il problema ora è come effettuare l'autenticazione e la chiamata soap.
    Da PHP sinceramente non ho idea di come effettuare con un autenticazione tramite un file p12, né se il CA generato sia alla fine generato sia corretto. Qualcunno tramite PHP ha già effettuato il test richiesto da SOGEI?

    Un semplice file di esempio mi basta poi scrivo un modulo per PrestaShop con una decende guida per gli esercenti.
    IIl sistema sarebbe identico anche per la 18 app.
  • Re: Come creare un file .der?

    Ovviamente è palese che è necessario che l'esercente stia su un proprio server dedicato o che abbia almeno accesso via SSH al proprio hosting, cosa che non è poi così diffusa soprattutto tra i piccoli e medi esercenti.

    Mi basterebbe comunque un qualsiasi esempio di autenticazione tramite file p12 e chimamata SOAP da PHP, per effettuare delle prove.
  • Re: Come creare un file .der?

    4c3 ha scritto:


    Edit: ho anch'io aperto un ticket all'assistenza inizio dicembre... dopo 6 solleciti sono ancora qui ad aspettare che mi contattino...
    Rispondono di leggere pagina 12, sono riuscito a ricevere risposta solo incavolarmi, ma la risposta è che noi siamo pippe che 1000 esercenti sono riusciti e che la loro documentazione è completa. Poi verifichi i loro esercenti e scopri che validano i buoni manualnente, mah!
  • Re: Come creare un file .der?

    A questo url c'e' la documentazione aggiornata (hanno tolto gli apici agli endpoints)
    https://cartadeldocente.istruzione.it/static/lineeguida-esercenti-cartadeldocente.zip
    (C'è anche il wsdl per i web services)

    Per quanto riguarda il codice io ho seguito questo commento dal manuale PHP:
    In case you'll get a .p12 certificate for your SOAP client to use (or any other actually) make sure to convert it to PEM and merge with the private key.
    Convert p12 to PEM with merged private key:
    openssl pkcs12 -in supplied_cert.p12 -out php_soap_cert.pem -clcerts
    Example:
    $wsdl = "./mywsdl.wsdl"; // Or "http://provider.com/api/api.wsdl"
    
    $options = [
            'location'      => "http://provider.com/api/",
            'local_cert'    => "./php_soap_cert.pem",
            'passphrase'    => "certificate_password",
    ];
    
    try {
        $soapClient = new SoapClient($wsdl, $options);
    } catch(Exception $e) {
        var_dump($e);
    }
    Si ottengono le funzioni e i tipi legati al web service soap con le chiamate ai metodi:
    var_dump($soapClient->__getFunctions());
    var_dump($soapClient->__getTypes());
    
    Il fatto è che si dovrà fare un test ora di validazione del buono con:
    tipo operazione = 1
    codice buono = 11aa22bb
    Attenzione: questa operazione non è un test di validazione.. ma la fase di attivazione dell'esercente all'utilizzo delle API di SOGEI
    Per i test c'è l'url dedicato.

    In particolare per l'attivazione il codice è:
    
    .... 
    	try {
        		$result = $soapClient->Check(array("checkReq"=>array("tipoOperazione"=>"1","codiceVoucher"=>"11aa22bb")));
    	} catch(Exception $e) {
        		var_dump($e);
    	} 
    	if ($result){
    		var_dump($result);
    	}
    
    Ovviamente è palese che è necessario che l'esercente stia su un proprio server dedicato o che abbia almeno accesso via SSH al proprio hosting, cosa che non è poi così diffusa soprattutto tra i piccoli e medi esercenti.
    Non è necessario fare la creazione della richiesta di certificato via ssh sul server di hosting.. basta un qualunque linux (oppure installare openssl su windows)

    lorismod ha scritto:


    4c3 ha scritto:


    Edit: ho anch'io aperto un ticket all'assistenza inizio dicembre... dopo 6 solleciti sono ancora qui ad aspettare che mi contattino...
    Rispondono di leggere pagina 12, sono riuscito a ricevere risposta solo incavolarmi, ma la risposta è che noi siamo pippe che 1000 esercenti sono riusciti e che la loro documentazione è completa. Poi verifichi i loro esercenti e scopri che validano i buoni manualnente, mah!
    L'unica cosa che ho sentito io è "Facciamo un sollecito... Grazie e arrivederci..." Sarà perchè non siamo Amazon?
  • Re: Come creare un file .der?

    4c3 ha scritto:


    A questo url c'e' la documentazione aggiornata (hanno tolto gli apici agli endpoints)
    https://cartadeldocente.istruzione.it/static/lineeguida-esercenti-cartadeldocente.zip
    (C'è anche il wsdl per i web services)
    Grazie, questa mi mancava, potevano aggiornare la data comunque
    Pure io avevo convertito il file .p12 in .pem, poi però mi sono fermato dopo aver provato una connessione non sapendo se era la strada corretta.
    Sei riuscito poi a fare l'abilitazione e il test con lo script PHP?
    Non è necessario fare la creazione della richiesta di certificato via ssh sul server di hosting.. basta un qualunque linux (oppure installare openssl su windows)
    Immaginavo che fosse possibile farlo, alla fine basta avere il certificato da richiamare nel client quindi è infatti idifferente da dove viene fatto.
  • Re: Come creare un file .der?

    4c3 ha scritto:


    L'unica cosa che ho sentito io è "Facciamo un sollecito... Grazie e arrivederci..." Sarà perchè non siamo Amazon?
    Credo che non sappiano nemmeno loro come si faccia, l'avranno subappaltato a qualche azienda dell'est europa o avranno assunto un programmatore a progetto e poi finisto il sistema l'avranno mandato a casa.
  • Re: Come creare un file .der?

    Comsiglio comunque di controllare con un phpinfo();
    http://prntscr.com/drtz3

    Se sul server vi è il supoorto a SOAP per evitare un "Fatal error: Class 'SoapClient' not found"
  • Re: Come creare un file .der?

    lorismod ha scritto:


    Pure io avevo convertito il file .p12 in .pem, poi però mi sono fermato dopo aver provato una connessione non sapendo se era la strada corretta.
    Sei riuscito poi a fare l'abilitazione e il test con lo script PHP?
    Si col codice che ti ho messo nel post precedente fai l'attivazione...
    per ora non ho ancora voucher da testare però l'esercente risulta attivo...
    potresti incontrare difficoltà ad usare li ws di test (altro ticket all'assistenza) perchè una volta attivata la postazione di produzione (al momento) non c'è verso di attivare quella di test (da errore sul fatto che l'utente potrebbe già essere stato attivato)..... ma se cerchi di validare un voucher a caso (tipo quello che loro riportano nella documentazione) l'errore è "l'utente potrebbe non essere attivo"

    Credo che farò dei test direttamente sull'ambiente di produzione..

    Fa sorridere... e parecchio...
  • Re: Come creare un file .der?

    lorismod ha scritto:


    Comsiglio comunque di controllare con un phpinfo();
    http://prntscr.com/drtz3

    Se sul server vi è il supoorto a SOAP per evitare un "Fatal error: Class 'SoapClient' not found"
    Si giusto.. ho dato per scontato che il supporto SOAP fosse abilitato sul PHP...
Devi accedere o registrarti per scrivere nel forum
64 risposte