Верификация двоичных файлов в командной строке Linux, Mac или Windows

Верификация двоичных файлов: Linux, Mac и Windows с использованием инструментов CLI (руководство для продвинутых пользователей)

Верификация двоичных файлов Monero производится до извлечения, установки или использования программного обеспечения Monero. Это единственный способ убедиться в том, что вы используете официальное программное обеспечение Monero. Если вами был получен поддельный двоичный файл Monero (например, фишинговый, MITM и т. д.), соблюдение правил, изложенных в данном руководстве, поможет избежать обмана, связанного с использованием такого файла.

Для защиты целостности двоичных файлов команда Monero обеспечивает криптографически подписанный список всех хешей SHA256 Если загруженный вами двоичный файл был изменён, он будет выдавать хеш, отличающийся от того, что находится в файле.

Это руководство для продвинутых пользователей операционных систем Linux, Mac и Windows, которое подразумевает использование командной строки. В нём подробно рассматривается процесс установки необходимого программного обеспечения, импорта ключа подписи, загрузки необходимых файлов и, наконец, проверки аутентичности ваших двоичных файлов.

Содержание:

1. Установка GnuPG

2. Верификация и импорт ключа подписи

1. Установка GnuPG

2. Верификация и импорт ключа подписи

В данном разделе будет рассмотрен вопрос получения ключа подписи Monero, проверки его правильности и импорта ключа в GnuPG.

2.1. Получение ключа подписи

Для Windows или Mac можно взять GPG ключ Fluffypony, оторый он использует для подписи двоичных файлов 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 <[email protected]>
      Key fingerprint = BDA6 BD70 42B7 21C4 67A9  759D 7455 C5E3 C0CD CEB9
sub  2048R/55432DF31CCD4FCD 2013-04-08

Если отпечаток СОВПАДЕТ, можно продолжать.

В случае НЕСОВПАДЕНИЯ отпечатка, ПРОДОЛЖАТЬ НЕ СЛЕДУЕТ. Вместо этого необходимо удалить файл fluffypony.asc и вернуться к пункту 2.1.

2.3. Импорт ключа подписи

Используя консоль, импортировать ключ подписи:

gpg --import fluffypony.asc

Если ключ импортируется впервые, выход должен выглядеть так:

gpg: key 0x7455C5E3C0CDCEB9: 2 signatures not checked due to missing keys
gpg: key 0x7455C5E3C0CDCEB9: public key "Riccardo Spagni <[email protected]>" importe
d
gpg: Total number processed: 1
gpg:               imported: 1
gpg: no ultimately trusted keys found

Если же ключ импортировался до этого, то выход будет следующим:

gpg: key 0x7455C5E3C0CDCEB9: "Riccardo Spagni <[email protected]>" not changed
gpg: Total number processed: 1
gpg:              unchanged: 1

3. Загрузка и верификация хеш-файла

В данном разделе рассматривается вопрос загрузки хеш-файла и проверки его аутентичности.

3.1. Получение хеш-файла

В том случае, если установлена операционная система Windows или Mac, следует перейти на страницу хеш-файлов на getmonero.org и сохранить её в своей домашней директории как 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 <[email protected]>" [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.

4. Загрузка и верификация двоичного файла

Этот раздел посвящён загрузке подходящего для вашей операционной системы двоичного файла Monero, получению хеша SHA256 для загруженного файла, а также проверки правильности этого файла.

4.1. Получение двоичного файла Monero

Если установлена операционная система Windows или Mac, необходимо перейти на getmonero.org и загрузить соответствующий используемой операционной системе файл, после чего сохранить его в домашней директории. На данном этапе файлы извлекать не следует.

Для 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.

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.

4.3. Верификация двоичного файла под Windows

Используя терминал, необходимо получить хеш SHA256 загруженного двоичного файла Monero. Для примера в этом руководстве взят двоичный файл для Windows, 64bit GUI. Следует заменить monero-gui-win-x64-v0.12.0.0.zip на имя двоичного файла, загруженного в соответствии с пунктом 4.1.

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.