mirror of
https://github.com/monero-project/monero-site.git
synced 2024-12-25 13:09:35 +00:00
186 lines
13 KiB
Markdown
186 lines
13 KiB
Markdown
|
{% 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 <ric@spagni.net>
|
|||
|
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 <ric@spagni.net>" importe
|
|||
|
d
|
|||
|
gpg: Total number processed: 1
|
|||
|
gpg: imported: 1
|
|||
|
gpg: no ultimately trusted keys found
|
|||
|
```
|
|||
|
|
|||
|
Если же ключ импортировался до этого, то выход будет следующим:
|
|||
|
|
|||
|
```
|
|||
|
gpg: key 0x7455C5E3C0CDCEB9: "Riccardo Spagni <ric@spagni.net>" 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 <ric@spagni.net>" [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).
|