# Как проверить подлинность исходного кода Tor

Windows
macOS
BSD/Linux

Внимание: Эти инструкции для проверки исходного кода Tor. Пожалуйста, следуйте соответствующим инструкциям по проверке подписи Tor Browser.

### Скачивание файлов подписей

Файлам на нашей странице скачивания соответствуют два файла: "контрольная сумма (checksum)" и "подпись (sig)" с тем же именем, что у файла, но с расширениями ".sha256sum" и ".sha256sum.asc" соответственно.

Файл `.asc` проверит, что файл `.sha256sum` (содержащий контрольную сумму пакета) не был подделан. После проверки подписи (см. ниже о том, как это сделать), целостность пакета может быть проверена с помощью:

`$ sha256sum -c *.sha256sum`

Эти файлы позволяют вам удостовериться, что загруженный вами файл является именно тем, который вы должны были получить. Это зависит от веб-браузера, но обычно вы можете скачать этот файл, щелкнув правой кнопкой мыши ссылки «Подп.» и «Контрольная сумма» и выбрав опцию «Сохранить файл как».

Например, `tor-0.4.6.7.tar.gz` сопровождается `tor-0.4.6.7.tar.gz.sha256sum.asc`. Эти имена файлов выбраны для примера. Они не будут в точности совпадать с именами файлов, которые скачиваете вы.

Пожалуйста, учтите, что подпись датируется тем числом, когда файл был подписан. Для каждого нового файла, размещенного на сайте, существует отдельная подпись со своей датой. Если вы уже проверили подпись, на даты можно не обращать внимание.

### Установка GnuPG

Для проверки подписей сначала нужно установить программу GnuPG. Если вы пользователь Windows, скачайте Gpg4win и запустите программу установки.

Чтобы проверить подпись, понадобится набрать несколько команд в командной строке (`cmd.exe`).

### Получение ключа разработчиков Tor

Следующие ключи могут подписывать архивный файл. Не ожидайте их всех, это может варьироваться в зависимости от того, кто доступен для выпуска.

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

Вы можете получить ключ по ссылкам, указанным выше, или с помощью:

$ 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

Должно отобразиться что-то такое (для nickm):

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]

Если вы получили сообщение об ошибке, что-то пошло не так - вы не сможете продолжить, пока не выясните, что именно не так. Возможно, импортировать ключ получится способом, описанным в разделе Альтернативный вариант (с использованием открытого ключа).

После того, как ключ импортирован, вы можете сохранить его в файл (для идентификации служит отпечаток):

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

В результате ключ будет сохранён в файле в папке `./tor.keyring`, то есть, в текущей папке. Если после выполнения этой команды не появится `./tor.keyring`, значит, что-то пошло не так. Вы не сможете продолжить, пока не выясните причину.

### Проверка подписи

Чтобы проверить подпись скачанного вами пакета, потребуется загрузить соответствующий файл подписи `.sha256sum.asc` и сам файл `.sha256sum`, а также проверить его с помощью команды, которая попросит GnuPG проверить скачанный файл.

В следующих примерах мы предполагаем, что вы уже скачали эти два файла (сам пакет и подпись) в папку "Загрузки" ("Downloads"). Внимание: эти команды используют в качестве имен файлов примеры. Ваши файлы будут иметь другие имена (ваша версия Tor Browser будет новее, и, вероятно, вы выберете русский язык).

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

Результат использования команды должен дать что-то вроде этого (в зависимости от того, каким ключом она была подписана):

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"

Если увидите сообщение об ошибке вроде "Нет такого файла или папки", значит, что-то пошло не так на одном из предыдущих шагов. Другая причина: вы использовали названия файлов из примеров (ваши реальные названия другие).

Подробнее о GnuPG можно почитать здесь.

### Проверка контрольной суммы

Теперь, когда мы проверили подписи контрольной суммы, нам нужно проверить целостность пакета.

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

Внимание: Эти инструкции для проверки исходного кода Tor. Пожалуйста, следуйте соответствующим инструкциям по проверке подписи Tor Browser.

### Скачивание файлов подписей

Файлам на нашей странице скачивания соответствуют два файла: "контрольная сумма (checksum)" и "подпись (sig)" с тем же именем, что у файла, но с расширениями ".sha256sum" и ".sha256sum.asc" соответственно.

Файл `.asc` проверит, что файл `.sha256sum` (содержащий контрольную сумму пакета) не был подделан. После проверки подписи (см. ниже о том, как это сделать), целостность пакета может быть проверена с помощью:

`$ sha256sum -c *.sha256sum`

Эти файлы позволяют вам удостовериться, что загруженный вами файл является именно тем, который вы должны были получить. Это зависит от веб-браузера, но обычно вы можете скачать этот файл, щелкнув правой кнопкой мыши ссылки «Подп.» и «Контрольная сумма» и выбрав опцию «Сохранить файл как».

Например, `tor-0.4.6.7.tar.gz` сопровождается `tor-0.4.6.7.tar.gz.sha256sum.asc`. Эти имена файлов выбраны для примера. Они не будут в точности совпадать с именами файлов, которые скачиваете вы.

Пожалуйста, учтите, что подпись датируется тем числом, когда файл был подписан. Для каждого нового файла, размещенного на сайте, существует отдельная подпись со своей датой. Если вы уже проверили подпись, на даты можно не обращать внимание.

### Установка GnuPG

Если вы пользуетесь macOS, можете установить GPGTools.

### Получение ключа разработчиков Tor

Следующие ключи могут подписывать архивный файл. Не ожидайте их всех, это может варьироваться в зависимости от того, кто доступен для выпуска.

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

Вы можете получить ключ по ссылкам, указанным выше, или с помощью:

$ 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

Должно отобразиться что-то такое (для nickm):

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]

Если вы получили сообщение об ошибке, что-то пошло не так - вы не сможете продолжить, пока не выясните, что именно не так. Возможно, импортировать ключ получится способом, описанным в разделе Альтернативный вариант (с использованием открытого ключа).

После того, как ключ импортирован, вы можете сохранить его в файл (для идентификации служит отпечаток):

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

В результате ключ будет сохранён в файле в папке `./tor.keyring`, то есть, в текущей папке. Если после выполнения этой команды не появится `./tor.keyring`, значит, что-то пошло не так. Вы не сможете продолжить, пока не выясните причину.

### Проверка подписи

Чтобы проверить подпись скачанного вами пакета, потребуется загрузить соответствующий файл подписи `.sha256sum.asc` и сам файл `.sha256sum`, а также проверить его с помощью команды, которая попросит GnuPG проверить скачанный файл.

В следующих примерах мы предполагаем, что вы уже скачали эти два файла (сам пакет и подпись) в папку "Загрузки" ("Downloads"). Внимание: эти команды используют в качестве имен файлов примеры. Ваши файлы будут иметь другие имена (ваша версия Tor Browser будет новее, и, вероятно, вы выберете русский язык).

#### Для пользователей macOS:

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

Если увидите сообщение об ошибке вроде "Нет такого файла или папки", значит, что-то пошло не так на одном из предыдущих шагов. Другая причина: вы использовали названия файлов из примеров (ваши реальные названия другие).

Подробнее о GnuPG можно почитать здесь.

### Проверка контрольной суммы

Теперь, когда мы проверили подписи контрольной суммы, нам нужно проверить целостность пакета.

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

Внимание: Эти инструкции для проверки исходного кода Tor. Пожалуйста, следуйте соответствующим инструкциям по проверке подписи Tor Browser.

### Скачивание файлов подписей

Файлам на нашей странице скачивания соответствуют два файла: "контрольная сумма (checksum)" и "подпись (sig)" с тем же именем, что у файла, но с расширениями ".sha256sum" и ".sha256sum.asc" соответственно.

Файл `.asc` проверит, что файл `.sha256sum` (содержащий контрольную сумму пакета) не был подделан. После проверки подписи (см. ниже о том, как это сделать), целостность пакета может быть проверена с помощью:

`$ sha256sum -c *.sha256sum`

Эти файлы позволяют вам удостовериться, что загруженный вами файл является именно тем, который вы должны были получить. Это зависит от веб-браузера, но обычно вы можете скачать этот файл, щелкнув правой кнопкой мыши ссылки «Подп.» и «Контрольная сумма» и выбрав опцию «Сохранить файл как».

Например, `tor-0.4.6.7.tar.gz` сопровождается `tor-0.4.6.7.tar.gz.sha256sum.asc`. Эти имена файлов выбраны для примера. Они не будут в точности совпадать с именами файлов, которые скачиваете вы.

Пожалуйста, учтите, что подпись датируется тем числом, когда файл был подписан. Для каждого нового файла, размещенного на сайте, существует отдельная подпись со своей датой. Если вы уже проверили подпись, на даты можно не обращать внимание.

### Установка GnuPG

Для проверки подписей сначала нужно установить программу GnuPG.

Если вы пользуетесь GNU/Linux, вероятно, программа GnuPG у вас уже установлена. Большинство сборок GNU/Linux включают GnuPG по умолчанию.

Чтобы проверить подпись, вам нужно будет ввести несколько команд в терминале. Как это делается, будет зависеть от вашего дистрибутива.

### Получение ключа разработчиков Tor

Следующие ключи могут подписывать архивный файл. Не ожидайте их всех, это может варьироваться в зависимости от того, кто доступен для выпуска.

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

Вы можете получить ключ по ссылкам, указанным выше, или с помощью:

$ 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

Должно отобразиться что-то такое (для nickm):

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]

Если вы получили сообщение об ошибке, что-то пошло не так - вы не сможете продолжить, пока не выясните, что именно не так. Возможно, импортировать ключ получится способом, описанным в разделе Альтернативный вариант (с использованием открытого ключа).

После того, как ключ импортирован, вы можете сохранить его в файл (для идентификации служит отпечаток):

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

В результате ключ будет сохранён в файле в папке `./tor.keyring`, то есть, в текущей папке. Если после выполнения этой команды не появится `./tor.keyring`, значит, что-то пошло не так. Вы не сможете продолжить, пока не выясните причину.

### Проверка подписи

Чтобы проверить подпись скачанного вами пакета, потребуется загрузить соответствующий файл подписи `.sha256sum.asc` и сам файл `.sha256sum`, а также проверить его с помощью команды, которая попросит GnuPG проверить скачанный файл.

В следующих примерах мы предполагаем, что вы уже скачали эти два файла (сам пакет и подпись) в папку "Загрузки" ("Downloads"). Внимание: эти команды используют в качестве имен файлов примеры. Ваши файлы будут иметь другие имена (ваша версия Tor Browser будет новее, и, вероятно, вы выберете русский язык).

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

Результат использования команды должен дать что-то вроде этого (в зависимости от того, каким ключом она была подписана):

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"

Если увидите сообщение об ошибке вроде "Нет такого файла или папки", значит, что-то пошло не так на одном из предыдущих шагов. Другая причина: вы использовали названия файлов из примеров (ваши реальные названия другие).

Подробнее о GnuPG можно почитать здесь.

### Проверка контрольной суммы

Теперь, когда мы проверили подписи контрольной суммы, нам нужно проверить целостность пакета.

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