Attention: These instructions are to verify the tor source code. Please follow the right instructions to verify Tor Browser's signature.

La firma digitale è un processo che assicura che un certo pacchetto sia stato creato dai suoi sviluppatori e che non sia stato manomesso. Below we explain why it is important and how to verify that the tor source code you download is the one we have created and has not been modified by some attacker.

Each file on our download page is accompanied by two files which are labelled "checksum" and "sig" with the same name as the package and the extension ".sha256sum" and ".sha256sum.asc" respectively.

The .asc file will verify that the .sha256sum file (containing the checksum of the package) has not been tampered with. Once the signature has been validated (see below on how to do it), the package integrity can be validated with:

$ sha256sum -c *.sha256sum

These files allow you to verify the file you've downloaded is exactly the one that we intended you to get. This will vary by web browser, but generally you can download this file by right-clicking the "sig" and "checksum" link and selecting the "save file as" option.

For example, tor-0.4.6.7.tar.gz is accompanied by tor-0.4.6.7.tar.gz.sha256sum.asc. Questi sono solo esempi di nomi di file e non corrisponderanno esattamente a quelli dei file che scaricherai.

Ora ti mostriamo come puoi verificare la firma digitale del file scaricato nei vari sistemi operativi. Ti informiamo che la firma è datata a quando il pacchetto è stato firmato. Pertanto, ogni volta che un nuovo file viene caricato una nuova firma viene generata con una data diversa. Finché hai verificato la tua firma non dovresti preoccuparti che la data riportata potrebbe cambiare.

Installazione di GnuPG

Prima di tutto hai bisogno di installare GnuPG prima di poter verificare le firme.

Per gli utenti Windows:

Se utilizzi Windows, scarica Gpg4win e esegui l'installer.

Per verificare il file è necessario eseguire comandi da terminale cmd.exe da windows.

Per gli utenti macOS:

Se stai usando macOS, puoi installare GPGTools.

Per verificare li file dovresti necessitare della riga di comando (Applications-Utility).

Per gli utenti GNU/Linux:

Se stai usando GNU/Linux probabilmente hai già GnuPG nel tuo sistema, molte distribuzioni lo hanno preinstallato.

In order to verify the signature you will need to type a few commands in a terminal window. How to do this will vary depending on your distribution.

Recuperare la chiave per sviluppatori Tor

The following keys can sign the tarball. Don't expect them all, it can vary depending on who is available to make the release.

You can fetch the key with the links provided above or with:

$ gpg --auto-key-locate nodefault,wkd --locate-keys ahf@torproject.org
$ gpg --auto-key-locate nodefault,wkd --locate-keys dgoulet@torproject.org
$ gpg --auto-key-locate nodefault,wkd --locate-keys nickm@torproject.org

This should show you something like (for nickm):

gpg: key FE43009C4607B1FB: public key "Nick Mathewson <nickm@torproject.org>" imported
gpg: Numero totale proccessati: 1
gpg:                       importati: 1
pub   rsa4096 2016-09-21 [C] [expires: 2025-10-04]
      2133BC600AB133E1D826D173FE43009C4607B1FB
uid           [ unknown] Nick Mathewson <nickm@torproject.org>
sub   rsa4096 2016-09-23 [S] [expires: 2025-10-04]
sub   rsa4096 2016-09-23 [E] [expires: 2025-10-04]

If you get an error message, something has gone wrong and you cannot continue until you've figured out why this didn't work. You might be able to import the key using the Workaround (using a public key) section instead.

Dopo aver importato la chiave, puoi salvare su un file (identificandola dalla sua impronta qui):

$ gpg --output ./tor.keyring --export 0x2133BC600AB133E1D826D173FE43009C4607B1FB

This command results in the key being saved to a file found at the path ./tor.keyring, i.e. in the current directory. Se ./tor.keyring non esiste una volta eseguito questo comando, qualcosa è andato storto e non puoi continuare finchè non hai capito cosa non ha funzionato.

Verificare la firma

To verify the signature of the package you downloaded, you will need to download the corresponding .sha256sum.asc signature file and the .sha256sum file itself, and verify it with a command that asks GnuPG to verify the file that you downloaded.

L'esempio presume che hai scaricato due file dalla tua cartella "Downloads". Nota che questi comandi usano esempi di nomi di file e i tuoi saranno diversi: avrai scaricato una versione diversa dalla 9.0 e potresti non aver scelto la versione English (en-US).

Per gli utenti Windows:

gpgv --keyring .\tor.keyring Downloads\tor-0.4.6.10.tar.gz.sha256sum.asc Downloads\tor-0.4.6.10.tar.gz.sha256sum

Per gli utenti macOS:

gpgv --keyring ./tor.keyring ~/Downloads/tor-0.4.6.10.tar.gz.sha256sum.asc ~/Downloads/tor-0.4.6.10.tar.gz.sha256sum

For BSD/Linux users:

gpgv --keyring ./tor.keyring ~/Downloads/tor-0.4.6.10.tar.gz.sha256sum.asc ~/Downloads/tor-0.4.6.10.tar.gz.sha256sum

The result of the command should produce something like this (depending on which key signed it):

gpgv: Signature made Mon 16 Aug 2021 04:44:27 PM -03
gpgv:                using RSA key 7A02B3521DC75C542BA015456AFEE6D49E92B601
gpgv: Good signature from "Nick Mathewson <nickm@torproject.org>"

Se ricevi messaggi di errore che contengono 'Nessun file o directory', qualcosa è andato storto in uno dei passi precedenti, o hai dimenticato che questi comandi utilizzano esempi di nomi di file, e i tuoi saranno diversi.

Potresti anche voler saperne di più riguardo GnuPG.

Verifying checksum

Now that we validated the signatures of the checksum, we need to verify the integrity of the package.

Per gli utenti Windows:

certUtil -hashfile tor-0.4.6.10.tar.gz.sha256sum SHA256

Per gli utenti macOS:

shasum -a 256 tor-0.4.6.10.tar.gz.sha256sum

For BSD/Linux users:

sha256sum -c tor-0.4.6.10.tar.gz.sha256sum