1. Chi siamo
  2. Servizi
  3. Aiuto
  4. Howto
  5. Amici
  6. Donazioni
  7. ||
  8. it
  9. en
  10. es
  11. de
  12. fr
  13. pt
  14. cat
My Account Login

Come verificare il certificato della nostra CA

Una volta che avete scaricato il nostro certificato, è opportuno che ne verifichiate la validità prima di installarlo. Questo vi garantirà contro il caso in cui un'entità esterna stia intercettando la vostra connessione e vi fornisca un certificato falso (pensiamo ad esempio a qualsiasi apparato repressivo dello stato).

Per effettuare questa verifica, ci sono un paio di opzioni:

DNSSEC

Un meccanismo crittograficamente corretto per assicurarsi in modo indipendente la validità del certificato che avete scaricato comporta l'utilizzo del protocollo DNSSEC e l'estensione DANE del protocollo stesso.

Per verificare il certificato è necessario un po' di lavoro da parte vostra, e in particolare dovrete usare la linea di comando del vostro computer. DNSSEC necessita di un cosiddetto trusted resolver locale, che verifichi le firme DNSSEC delle risposte. La pagina su DNSSEC spiega come preparare il proprio sistema in proposito. Per ora assumeremo che un server DNS appropriato sia installato su localhost.

Verificare il certificato sotto Linux/Mac OS X

Per effettuare la validazione sotto linux vi serviranno i programmi dig e openssl, che tipicamente si trovano nei pacchetti openssl e dnsutils. Su Mac OS X questi programmi sono preinstallati.

Una volta scaricato il certificato, aprite un terminale e ottenete la fingerprint del certificato che avete appena scaricato digitando il seguente comando:

 openssl x509 -in ~/Downloads/ca.crt -fingerprint -sha256 -noout | \
         cut -d= -f2 | tr -d :

in questa riga di comando sostituite ~/Downloads/ca.crt con il percorso in cui avete scaricato il certificato. Ora dovete eseguire una richiesta DNSSEC per ottenere la fingerprint SHA256 del certificato da una sorgente indipendente e verificata. Se avete una versione abbastanza recente di dig, almeno la 9.8.3, dovete digitare quanto segue in un terminale:

  dig +short +dnssec tlsa _443._tcp.autistici.org @127.0.0.1 | awk '/^0/ {print $4 $5}'

Se avete una versione meno aggiornata, usate invece il seguente comando:

 dig +short +dnssec type52 _443._tcp.autistici.org @127.0.0.1 | \
         awk '$2==35 {print $3, $4}' | cut -c7- | tr -d ' '

Se l'output dei due comandi coincide, il certificato che avete scaricato è valido, potete procedere a installarlo.

Verificare il certificato sotto windows

Prima di tutto, dovete installare Win32Openssl, una suite di strumenti liberi per gestire SSL, e dig, che invece è uno strumento per eseguire richieste DNS.

Una volta installato il software, aprite un terminale (cmd.exe) e spostatevi nella directory bin della vostra installazione di Win32Openssl. Da lì digitate il seguente comando:

  openssl.exe x509 -in C:\ca.crt -fingerprint -sha256 -noout

Dove dovreste sostituire C:\ca.crt con il percorso del certificato che avete scaricato, e salvatevi l'output. Dopo di che eseguite l'interrogazione DNSSEC usando il comando dig (anche questa volta, digitate i comandi che seguono dalla directory in cui avete installato il programma):

  dig.exe +short +dnssec tlsa _443._tcp.autistici.org @127.0.0.1

L'output del comando dovrebbe essere simile a questo:

0 0 1 0620D0EA76805CACE2D7B8A8C1DEEBA67332D252A4F3F71165FD83B6 9DADDBD5
TLSA 7 4 9600 20130805044630 20130706044630 24242 autistici.org. ...

Estraete la quarta e la quinta colonna della prima riga di output, e unitele insieme (nell'esempio, otterreste 0620D0EA76805CACE2D7B8A8C1DEEBA67332D252A4F3F71165FD83B69DADDBD5). Questa sequenza dovrebbe essere uguale all'output del precedente comando, una volta eliminato da esso tutti i due punti. Se è così, avete scaricato un certificato valido e potete procedere ad installarlo.

PGP

Un'alternativa è verificare il certificato della CA usando il web of trust di PGP. Supponendo che abbiate stabilito in qualche modo un percorso di trust verso la chiave PGP associata all'indirizzo info@autistici.org, potete scaricare la firma PGP relativa al certificato della CA (ca.crt) qui:

ca.crt.sig

Per verificare il certificato con gpg:

  gpg --verify ca.crt.sig ca.crt

Se ricevete questo avvertimento:

  gpg: WARNING: This key is not certified with a trusted signature!
  gpg:          There is no indication that the signature belongs to the owner.

E' perchè non avete definito la nostra chiave come "fidata", potete ignorare questo avviso, oppure potete approfondire il discorso leggendo il capitolo 3 sulla gestione delle chiavi e della fiducia del manuale di GPG: (https://www.gnupg.org/gph/it/gestione-chiavi.html)