Certificati SSL – Come installarli e risolvere problemi

Se hai appena comprato un certificato SSL e vuoi sapere come installarlo, questa è la guida che fa per te.

In questo esempio parleremo del certificato WILDCARD, ovvero quel certificato che copre il dominio principale (tuosito.it) e tutti i suoi sottodomini (sottodominio.tuosito.it).

Questa guida parla di server LINUX. E’ richiesta una connessione SSH per poter agire da console e avere un account con permessi adeguati. Inoltre fai

cd /var/www

per rimanere in linea con i vari comandi fatti sotto.

Creiamo il nostro certificato direttamente sul server:

openssl req -out ssl_csr_per_creazione_chiave.csr -new -newkey rsa:2048 -nodes -keyout ssl_chiave_privata.key

Ci verranno fatte le seguenti FONDAMENTALI domande (i dati verranno mostrati a chi vorrà verificare la validità del certificato durante la navigazione del sito):

Field Esempio
Country Name IT (Codice di due lettere)
State or Province Italia (Nome dello stato)
Locality Milano (Nome della città)
Organization portapipe enterprise (Nome legale della società)
Organizational Unit Support (Optional, e.g. a department)
Common Name *.iltuosito.it (IMPORTANTE! Il dominio su cui andrà)

Abbiamo creato file csr e chiave privata! Primo step COMPLETATO!

Il file ‘ssl_csr_per_creazione_chiave.csr’ contiene il codice necessario al servizio a cui hai comprato il certificato SSL per generare il vero e proprio certificato.

Per chi è curioso: generando un codice dal server e passandolo al servizio che genera il certificato SSL, ci troveremo un certificato SENZA DUBBIO nostro.

Andiamo sul sito dove abbiamo comprato il certificato, inseriamo il contenuto del file ‘ssl_csr_per_creazione_chiave.csr’ (lo apri con un qualsiasi editor di testo semplice) e lo incolliamo nel campo predisposto (trovalo da te, ci sono centinaia di servizi con centinaia di pannelli differenti, trova il campo nel tuo!).

A seconda del servizio vorranno una verifica o meno (ma non tocchiamo questo argomento, di solito comunque le richieste sono abbastanza chiare).

Terminata l’eventuale verifica scaricheremo finalmente il nostro file CRT! (certificato SSL).

Secondo STEP terminato!

Ora abbiamo un probabile problema, che però affronterei dopo: la validità della chiave e la necessità di un ‘ca-bundle’. Prima settiamo tutto, poi verifichiamo se manca qualcosa.

Dobbiamo dire ad Apache di andare a prendere i certificati quando l’utente visita un determinato dominio. Ecco come fare:

ServerName sottodominio.iltuosito.it
DocumentRoot /var/www/iltuosito/sottodominio

ErrorLog /var/www/iltuosito/sottodominio/error.log
TransferLog /var/www/iltuosito/sottodominio/ssl-access.log

SSLEngine on
SSLProtocol +TLSv1 +TLSv1.1 +TLSv1.2
SSLCertificateFile /var/www/ssl_chiave_pubblica.crt
SSLCertificateKeyFile /var/www/ssl_chiave_privata.key
#SSLCACertificateFile /var/www/ssl_chiave_ca-bundle.ca



ServerName *.iltuosito.it
ServerAlias iltuosito.it sottodominio.iltuosito.it sottodominio2.iltuosito.it

ErrorLog /var/www/error.log
TransferLog /var/www/ssl-access.log

DocumentRoot /var/www/
SSLEngine on
SSLProtocol +TLSv1 +TLSv1.1 +TLSv1.2
SSLCertificateFile /var/www/ssl_chiave_pubblica.crt
SSLCertificateKeyFile /var/www/ssl_chiave_privata.key
#SSLCACertificateFile /var/www/ssl_chiave_ca-bundle.ca

Riavviamo Apache con:

/etc/init.d/apache2 restart
OPPURE
sudo /etc/init.d/apache2 restart
OPPURE
sudo service apache2 restart

Puoi provare a visitare il sito da https://sottodominio.iltuosito.it

OPPURE (consigliato)

verificare da questo sito ( https://www.sslshopper.com/ssl-checker.html ) immettendo la nostra url se è tutto ok, altrimenti consiglia modi per sistemare i problemi, cosa che provo a fare qui sotto.


PROBLEMI

[Tue Aug 08 12:50:42 2017] [warn] RSA server certificate wildcard CommonName (CN) `*.iltuosito.it' does NOT match server name!?

Questo capita se non hai aggiunto l’ultimo blocco del codice sopra:

ServerName *.iltuosito.it
ServerAlias iltuosito.it sottodominio.iltuosito.it sottodominio2.iltuosito.it ...

Ci ho sbattuto la testa per giorni, ma è bastato creare quella regola per far andare tutto a posto!


None of the common names in the certificate match the name that was entered (api.test.bitq.it). You may receive an error when accessing this site in a web browser.

Questo errore, oppure uno più grave che avvisa che molti browser potrebbero non validare il sito ne il certificato. In quel caso il problema è la chain, la catena che va creata con il file ca-bundle CHE DOVREMO CREARE NOI A MANINA!

Ecco come.

Creiamo il file ‘chiave_ca-bundle.ca’. Questo file è più complicato, in quanto richiede una chiave chiamata “CATENA” che, nel mio caso attuale, ho trovato da questo sito:

https://support.globalsign.com/customer/en/portal/topics/538410-root-certificates/articles (oppure in questo)

Se non lo trovi contatta il servizio del certificato SSL, altrimenti fai come segue:

  • COPIA il codice CHE TROVI ONLINE con la ricerca appena effettuata qui sopra e mettilo in un file nuovo che chiameremo ‘chiave_ca-bundle.ca’
  • VAI A CAPO
  • COPIA il codice DEL FILE CRT (il certificato SSL in pratica) e incollalo SOTTO il codice incollato
  • SALVA
  • TOGLI il commento # davanti a #SSLCACertificateFile /var/www/ssl_chiave_ca-bundle.ca
  • FINE

Rivalida il tutto e se hai fatto bene avrai il tuo certificato PRONTO all’uso!

Annunci
  1. Lascia un commento

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: