{% assign version = '1.1.0' | split: '.' %} {% include disclaimer.html translated="true" version=page.version %} # Верификация двоичных файлов: Linux, Mac и Windows с использованием инструментов CLI (руководство для продвинутых пользователей) Верификация двоичных файлов Monero производится до извлечения, установки или использования программного обеспечения Monero. Это единственный способ убедиться в том, что вы используете официальное программное обеспечение Monero. Если вами был получен поддельный двоичный файл Monero (например, фишинговый, MITM и т. д.), соблюдение правил, изложенных в данном руководстве, поможет избежать обмана, связанного с использованием такого файла. Для защиты целостности двоичных файлов команда Monero обеспечивает криптографически подписанный список всех хешей [SHA256](https://en.wikipedia.org/wiki/SHA-2) Если загруженный вами двоичный файл был изменён, он будет выдавать хеш, [отличающийся](https://en.wikipedia.org/wiki/File_verification) от того, что находится в файле. Это руководство для продвинутых пользователей операционных систем Linux, Mac и Windows, которое подразумевает использование командной строки. В нём подробно рассматривается процесс установки необходимого программного обеспечения, импорта ключа подписи, загрузки необходимых файлов и, наконец, проверки аутентичности ваших двоичных файлов. ## Содержание: ### [1. Установка GnuPG](#1-installing-gnupg) ### [2. Верификация и импорт ключа подписи](#2-verify-and-import-signing-key) + [2.1. Получение ключа подписи](#21-get-signing-key) + [2.2. Верификация ключа подписи](#22-verify-signing-key) + [2.3. Импорт ключа подписи](#23-import-signing-key) ### [3. Загрузка и верификация хеш-файла](#3-download-and-verify-hash-file) + [3.1. Получение хеш-файла](#31-get-hash-file) + [3.2. Верификация хеш-файла](#32-verify-hash-file) ### [4. Download & Verify Binary](#4-download-and-verify-binary) + [4.1. Получение двоичного файла Monero](#41-get-monero-binary) + [4.2. Верификация двоичного файла под Linux и Mac](#42-binary-verification-on-linux-or-mac) + [4.3. Верификация двоичного файла под Windows](#43-binary-verification-on-windows) ## 1. Установка GnuPG + Для Windows: посетите [страницу загрузки Gpg4win](https://gpg4win.org/download.html) и следуйте инструкциям по установке. + Для Mac: посетите [страницу загрузки Gpgtools](https://gpgtools.org/) и следуйте инструкциям по установке. + Для Linux: GnuPG устанавливается по умолчанию. ## 2. Верификация и импорт ключа подписи В данном разделе будет рассмотрен вопрос получения ключа подписи Monero, проверки его правильности и импорта ключа в GnuPG. ### 2.1. Получение ключа подписи Для Windows или Mac можно взять [GPG ключ Fluffypony](https://raw.githubusercontent.com/monero-project/monero/master/utils/gpg_keys/fluffypony.asc), оторый он использует для подписи двоичных файлов Monero, и сохранить страницу как `fluffypony.asc` в вашей исходной, «домашней» директории. Для Linux можно загрузить ключ подписи Fluffypony, используя следующую команду: ``` wget -O fluffypony.asc https://raw.githubusercontent.com/monero-project/monero/master/utils/gpg_keys/fluffypony.asc ``` ### 2.2. Верификация ключа подписи В случае со всеми операционными системами следует проверить отпечаток в `fluffypony.asc` используя следующую команду в консоли: ``` gpg --keyid-format long --with-fingerprint fluffypony.asc ``` Следует проверить совпадение отпечатков: ``` pub 2048R/7455C5E3C0CDCEB9 2013-04-08 Riccardo Spagni Key fingerprint = BDA6 BD70 42B7 21C4 67A9 759D 7455 C5E3 C0CD CEB9 sub 2048R/55432DF31CCD4FCD 2013-04-08 ``` Если отпечаток **СОВПАДЕТ**, можно продолжать. В случае **НЕСОВПАДЕНИЯ** отпечатка, **ПРОДОЛЖАТЬ НЕ СЛЕДУЕТ**. Вместо этого необходимо удалить файл `fluffypony.asc` и вернуться к [пункту 2.1](#21-get-signing-key). ### 2.3. Импорт ключа подписи Используя консоль, импортировать ключ подписи: ``` gpg --import fluffypony.asc ``` Если ключ импортируется впервые, выход должен выглядеть так: ``` gpg: key 0x7455C5E3C0CDCEB9: 2 signatures not checked due to missing keys gpg: key 0x7455C5E3C0CDCEB9: public key "Riccardo Spagni " importe d gpg: Total number processed: 1 gpg: imported: 1 gpg: no ultimately trusted keys found ``` Если же ключ импортировался до этого, то выход будет следующим: ``` gpg: key 0x7455C5E3C0CDCEB9: "Riccardo Spagni " not changed gpg: Total number processed: 1 gpg: unchanged: 1 ``` ## 3. Загрузка и верификация хеш-файла В данном разделе рассматривается вопрос загрузки хеш-файла и проверки его аутентичности. ### 3.1. Получение хеш-файла В том случае, если установлена операционная система Windows или Mac, следует перейти на страницу [хеш-файлов на getmonero.org](https://getmonero.org/downloads/hashes.txt) и сохранить её в своей домашней директории как `hashes.txt`. В том случае, если используется Linux, можно загрузить подписанный хеш-файл, используя следующую команду: ``` wget -O hashes.txt https://getmonero.org/downloads/hashes.txt ``` ### 3.2. Верификация хеш-файла Хеш-файл подписывается ключом `94B7 38DD 3501 32F5 ACBE EA1D 5543 2DF3 1CCD 4FCD`, который является подключом ключа `BDA6 BD70 42B7 21C4 67A9 759D 7455 C5E3 C0CD CEB9` (что видно в выходе ниже). В случае со всеми операционными системами следует проверить подпись хеш-файла, введя следующую команду в консоль: ``` gpg --verify hashes.txt ``` Если файл является аутентичным (подлинным), выход будет выглядеть так: ``` gpg: Signature made Thu 05 Apr 2018 06:07:35 AM MDT gpg: using RSA key 94B738DD350132F5ACBEEA1D55432DF31CCD4FCD gpg: Good signature from "Riccardo Spagni " [unknown] gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: BDA6 BD70 42B7 21C4 67A9 759D 7455 C5E3 C0CD CEB9 Subkey fingerprint: 94B7 38DD 3501 32F5 ACBE EA1D 5543 2DF3 1CCD 4FCD ``` Если в выходе видно, что подпись является **ПРАВИЛЬНОЙ**, как в примере, показанном выше, можно продолжать. Если подпись в выходе является **НЕПРАВИЛЬНОЙ**, **ПРОДОЛЖАТЬ НЕ СЛЕДУЕТ.** Необходимо удалить файл `hashes.txt` и вернуться к [пункту 3.1](#31-get-hash-file). ## 4. Загрузка и верификация двоичного файла Этот раздел посвящён загрузке подходящего для вашей операционной системы двоичного файла Monero, получению хеша `SHA256` для загруженного файла, а также проверки правильности этого файла. ### 4.1. Получение двоичного файла Monero Если установлена операционная система Windows или Mac, необходимо перейти на [getmonero.org](https://getmonero.org/downloads/) и загрузить соответствующий используемой операционной системе файл, после чего сохранить его в домашней директории. **На данном этапе файлы извлекать не следует.** Для Linux можно загрузить инструменты командной строки, используя следующую команду: ``` wget -O monero-linux-x64-v0.12.0.0.tar.bz2 https://downloads.getmonero.org/cli/linux64 ``` ### 4.2. Верификация двоичного файла под Linux и Mac Этапы проверки для Linux и Mac ничем не отличаются. Используя консоль, необходимо получить хеш `SHA256` загруженного двоичного файла Monero. Для примера в этом руководстве взят двоичный файл для `Linux 64-bit` GUI. Следует заменить `monero-gui-linux-x64-v0.12.0.0.tar.bz2` на имя двоичного файла, загруженного в соответствии с [пунктом 4.1](#41-get-monero-binary). ``` shasum -a 256 monero-gui-linux-x64-v0.12.0.0.tar.bz2 ``` Выход должен выглядеть так, как показано, но при этом он будет отличаться в случае с каждым двоичным файлом. Хеш SHA256 должен соответствовать указанному в файле hashes.txt двоичного файла. ``` fb0f43387b31202f381c918660d9bc32a3d28a4733d391b1625a0e15737c5388 monero-gui-linux-x64-v0.12.0.0.tar.bz2 ``` При **СОВПАДЕНИИ** хеша можно завершить работу с настоящим руководством! Теперь файлы можно извлечь и установить. В случае **НЕСОВПАДЕНИЯ** хеша, **ПРОДОЛЖАТЬ НЕ СЛЕДУЕТ.** Необходимо удалить загруженный двоичный файл и вернуться к [пункту 4.1](#41-get-monero-binary). ### 4.3. Верификация двоичного файла под Windows Используя терминал, необходимо получить хеш `SHA256` загруженного двоичного файла Monero. Для примера в этом руководстве взят двоичный файл для `Windows, 64bit` GUI. Следует заменить `monero-gui-win-x64-v0.12.0.0.zip` на имя двоичного файла, загруженного в соответствии с [пунктом 4.1](#41-get-monero-binary). ``` certUtil -hashfile monero-gui-win-x64-v0.12.0.0.zip SHA256 ``` Выход должен выглядеть так, как показано, но при этом он будет отличаться в случае с каждым двоичным файлом. Хеш `SHA256` должен соответствовать указанному в файле `hashes.txt` двоичного файла. ``` SHA256 hash of file monero-gui-win-x64-v0.12.0.0.zip: 4b 9f 31 68 6e ca ad 97 cd b1 75 e6 57 4b f3 07 f8 d1 c4 10 42 78 25 f4 30 4c 21 da 8a ac 18 64 CertUtil: -hashfile command completed successfully. ``` При **СОВПАДЕНИИ** хеша можно завершить работу с настоящим руководством! Теперь файлы можно извлечь и установить. В случае **НЕСОВПАДЕНИЯ** хеша, **ПРОДОЛЖАТЬ НЕ СЛЕДУЕТ.** Необходимо удалить загруженный двоичный файл и вернуться к [пункту 4.1](#41-get-monero-binary).