# How to verify tor source code

Windows
macOS
BSD/Linux

Atención: estas instrucciones son para verificar el código fuente de tor. Sigue las instrucciones correctas para verificar la firma del Navegador Tor.

### Descarga los archivos de firma

Cada archivo en nuestra página de descarga va acompañado de dos archivos etiquetados como "checksum" y "sig" con el mismo nombre que el paquete y la extensión ". sha256sum" y ".sha256sum.asc" respectivamente.

El archivo `.asc` verificará que el archivo `.sha256sum` (que contiene la suma de verificación del paquete) no se ha alterado. Una vez que validada la firma (ver a continuación cómo se hace), la integridad del paquete se puede validar con:

`$ sha256sum -c *.sha256sum`

Estos archivos te permiten verificar que el archivo descargado es exactamente el que buscas. Esto variará según el navegador web, pero normalmente puedes descargar este archivo haciendo clic-derecho en el enlace "sig" y "checksum" y seleccionando la opción "guardar archivo como".

Por ejemplo, `tor-0.4.6.7.tar.gz` está acompañado por `tor-0.4.6.7.tar.gz.asc`. Estos son nombres de archivos de ejemplo y no coincidirán exactamente con los nombres de los archivos que descargues.

Por favor ten en cuenta que la firma tiene la fecha del momento en que el paquete ha sido firmado. Por lo tanto, cada vez que se sube un archivo nuevo, se genera una nueva firma con una fecha distinta. Al verificar la firma, la fecha reportada puede ser distinta de la del ejemplo.

### Instalar GnuPG

En primer lugar, necesitas tener GnuPG instalado antes de verificar firmas. Si usas Windows, descarga Gpg4win y ejecuta el instalador.

A fin de verificar la firma, necesitarás escribir unos pocos comandos en la utilidad de línea de comandos de Windows, `cmd.exe`.

### Obtener la clave de los desarrolladores de Tor

Las siguientes claves pueden firmar el tarball. No esperes todas las firmas, puede variar dependiendo de quién esté disponible para hacer el lanzamiento.

- Alexander Færøy: 514102454D0A87DB0767A1EBBE6A0531C18A9179
- David Goulet: B74417EDDF22AC9F9E90F49142E86A2A11F48D36
- Nick Mathewson: 2133BC600AB133E1D826D173FE43009C4607B1FB

Puedes conseguir la clave con los enlaces proporcionados anteriormente o con:

$ 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

Esto debería mostrar (para nickm) algo parecido a:

gpg: key FE43009C4607B1FB: public key "Nick Mathewson nickm@torproject.org" imported gpg: Total number processed: 1 gpg: imported: 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]

Si obtienes un mensaje de error, algo ha salido mal, y no puedes continuar hasta que te hayas dado cuenta de por qué no funcionó. Podrías importar la clave usando la sección Alternativa (usando una clave pública).

Tras importar la clave, puedes guardarla en un archivo (identificado aquí por su huella digital):

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

Este comando tiene como resultado que la clave se guarde en un archivo en la ruta `./tor.keyring`, por ejemplo, en la carpeta actual. Si `./tor.keyring` no existe después de ejecutar este comando, algo ha salido mal y no puedes continuar hasta que hayas averiguado por qué no funcionó esto.

### Verificar la firma

Para verificar la firma del paquete que has descargado, necesitas descargar la firma `.sha256sum.asc` correspondiente y el propio archivo `.sha256sum` y verificarlo con un comando que le dice a GnuPG que verifique el archivo descargado.

Los siguientes ejemplos asumen que has descargado estos dos archivos en la carpeta "Descargas". Ten en cuenta que estos comandos usan nombres de archivos de ejemplo y los tuyos serán diferentes: habrás de descargar una versión diferente de la 9.0, y puede que no hayas elegido la versión en Inglés (en-US).

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

El resultado del comando debería producir algo como esto (dependiendo de qué clave lo firmó):

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"

Si te aparecen mensajes de error qu digan 'No existe el archivo o directorio' algo salió mal con uno de los pasos previos, u olvidaste que estos comandos usan nombres de archivos de ejemplo, y los tuyos serán un poco diferentes.

Es posible que quieras saber más sobre GnuPG.

### Verificar suma de comprobación

Una vez que hemos validado las firmas digitales de la suma de comprobación, necesitamos verificar la integridad del paquete.

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

Atención: estas instrucciones son para verificar el código fuente de tor. Sigue las instrucciones correctas para verificar la firma del Navegador Tor.

### Descarga los archivos de firma

Cada archivo en nuestra página de descarga va acompañado de dos archivos etiquetados como "checksum" y "sig" con el mismo nombre que el paquete y la extensión ". sha256sum" y ".sha256sum.asc" respectivamente.

El archivo `.asc` verificará que el archivo `.sha256sum` (que contiene la suma de verificación del paquete) no se ha alterado. Una vez que validada la firma (ver a continuación cómo se hace), la integridad del paquete se puede validar con:

`$ sha256sum -c *.sha256sum`

Estos archivos te permiten verificar que el archivo descargado es exactamente el que buscas. Esto variará según el navegador web, pero normalmente puedes descargar este archivo haciendo clic-derecho en el enlace "sig" y "checksum" y seleccionando la opción "guardar archivo como".

Por ejemplo, `tor-0.4.6.7.tar.gz` está acompañado por `tor-0.4.6.7.tar.gz.asc`. Estos son nombres de archivos de ejemplo y no coincidirán exactamente con los nombres de los archivos que descargues.

Por favor ten en cuenta que la firma tiene la fecha del momento en que el paquete ha sido firmado. Por lo tanto, cada vez que se sube un archivo nuevo, se genera una nueva firma con una fecha distinta. Al verificar la firma, la fecha reportada puede ser distinta de la del ejemplo.

### Instalar GnuPG

Si estás usando macOS, puedes instalar GPGTools.

### Obtener la clave de los desarrolladores de Tor

Las siguientes claves pueden firmar el tarball. No esperes todas las firmas, puede variar dependiendo de quién esté disponible para hacer el lanzamiento.

- Alexander Færøy: 514102454D0A87DB0767A1EBBE6A0531C18A9179
- David Goulet: B74417EDDF22AC9F9E90F49142E86A2A11F48D36
- Nick Mathewson: 2133BC600AB133E1D826D173FE43009C4607B1FB

Puedes conseguir la clave con los enlaces proporcionados anteriormente o con:

$ 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

Esto debería mostrar (para nickm) algo parecido a:

gpg: key FE43009C4607B1FB: public key "Nick Mathewson nickm@torproject.org" imported gpg: Total number processed: 1 gpg: imported: 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]

Si obtienes un mensaje de error, algo ha salido mal, y no puedes continuar hasta que te hayas dado cuenta de por qué no funcionó. Podrías importar la clave usando la sección Alternativa (usando una clave pública).

Tras importar la clave, puedes guardarla en un archivo (identificado aquí por su huella digital):

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

Este comando tiene como resultado que la clave se guarde en un archivo en la ruta `./tor.keyring`, por ejemplo, en la carpeta actual. Si `./tor.keyring` no existe después de ejecutar este comando, algo ha salido mal y no puedes continuar hasta que hayas averiguado por qué no funcionó esto.

### Verificar la firma

Para verificar la firma del paquete que has descargado, necesitas descargar la firma `.sha256sum.asc` correspondiente y el propio archivo `.sha256sum` y verificarlo con un comando que le dice a GnuPG que verifique el archivo descargado.

Los siguientes ejemplos asumen que has descargado estos dos archivos en la carpeta "Descargas". Ten en cuenta que estos comandos usan nombres de archivos de ejemplo y los tuyos serán diferentes: habrás de descargar una versión diferente de la 9.0, y puede que no hayas elegido la versión en Inglés (en-US).

#### Para usuarios macOS:

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

Si te aparecen mensajes de error qu digan 'No existe el archivo o directorio' algo salió mal con uno de los pasos previos, u olvidaste que estos comandos usan nombres de archivos de ejemplo, y los tuyos serán un poco diferentes.

Es posible que quieras saber más sobre GnuPG.

### Verificar suma de comprobación

Una vez que hemos validado las firmas digitales de la suma de comprobación, necesitamos verificar la integridad del paquete.

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

Atención: estas instrucciones son para verificar el código fuente de tor. Sigue las instrucciones correctas para verificar la firma del Navegador Tor.

### Descarga los archivos de firma

Cada archivo en nuestra página de descarga va acompañado de dos archivos etiquetados como "checksum" y "sig" con el mismo nombre que el paquete y la extensión ". sha256sum" y ".sha256sum.asc" respectivamente.

El archivo `.asc` verificará que el archivo `.sha256sum` (que contiene la suma de verificación del paquete) no se ha alterado. Una vez que validada la firma (ver a continuación cómo se hace), la integridad del paquete se puede validar con:

`$ sha256sum -c *.sha256sum`

Estos archivos te permiten verificar que el archivo descargado es exactamente el que buscas. Esto variará según el navegador web, pero normalmente puedes descargar este archivo haciendo clic-derecho en el enlace "sig" y "checksum" y seleccionando la opción "guardar archivo como".

Por ejemplo, `tor-0.4.6.7.tar.gz` está acompañado por `tor-0.4.6.7.tar.gz.asc`. Estos son nombres de archivos de ejemplo y no coincidirán exactamente con los nombres de los archivos que descargues.

Por favor ten en cuenta que la firma tiene la fecha del momento en que el paquete ha sido firmado. Por lo tanto, cada vez que se sube un archivo nuevo, se genera una nueva firma con una fecha distinta. Al verificar la firma, la fecha reportada puede ser distinta de la del ejemplo.

### Instalar GnuPG

En primer lugar, necesitas tener GnuPG instalado antes de verificar firmas.

Si usas GNU/Linux, probablemente ya tengas instalado GnuPG, la mayoría de distribuciones lo incluyen.

Con el objeto de verificar la firma, necesitarás tipear unos pocos comandos en una ventana de terminal. Cómo hacer esto variará dependiendo de tu distribución.

### Obtener la clave de los desarrolladores de Tor

Las siguientes claves pueden firmar el tarball. No esperes todas las firmas, puede variar dependiendo de quién esté disponible para hacer el lanzamiento.

- Alexander Færøy: 514102454D0A87DB0767A1EBBE6A0531C18A9179
- David Goulet: B74417EDDF22AC9F9E90F49142E86A2A11F48D36
- Nick Mathewson: 2133BC600AB133E1D826D173FE43009C4607B1FB

Puedes conseguir la clave con los enlaces proporcionados anteriormente o con:

$ 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

Esto debería mostrar (para nickm) algo parecido a:

gpg: key FE43009C4607B1FB: public key "Nick Mathewson nickm@torproject.org" imported gpg: Total number processed: 1 gpg: imported: 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]

Si obtienes un mensaje de error, algo ha salido mal, y no puedes continuar hasta que te hayas dado cuenta de por qué no funcionó. Podrías importar la clave usando la sección Alternativa (usando una clave pública).

Tras importar la clave, puedes guardarla en un archivo (identificado aquí por su huella digital):

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

Este comando tiene como resultado que la clave se guarde en un archivo en la ruta `./tor.keyring`, por ejemplo, en la carpeta actual. Si `./tor.keyring` no existe después de ejecutar este comando, algo ha salido mal y no puedes continuar hasta que hayas averiguado por qué no funcionó esto.

### Verificar la firma

Para verificar la firma del paquete que has descargado, necesitas descargar la firma `.sha256sum.asc` correspondiente y el propio archivo `.sha256sum` y verificarlo con un comando que le dice a GnuPG que verifique el archivo descargado.

Los siguientes ejemplos asumen que has descargado estos dos archivos en la carpeta "Descargas". Ten en cuenta que estos comandos usan nombres de archivos de ejemplo y los tuyos serán diferentes: habrás de descargar una versión diferente de la 9.0, y puede que no hayas elegido la versión en Inglés (en-US).

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

El resultado del comando debería producir algo como esto (dependiendo de qué clave lo firmó):

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"

Si te aparecen mensajes de error qu digan 'No existe el archivo o directorio' algo salió mal con uno de los pasos previos, u olvidaste que estos comandos usan nombres de archivos de ejemplo, y los tuyos serán un poco diferentes.

Es posible que quieras saber más sobre GnuPG.

### Verificar suma de comprobación

Una vez que hemos validado las firmas digitales de la suma de comprobación, necesitamos verificar la integridad del paquete.

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