Инструменты пользователя

Инструменты сайта


gpg:file_signature_signature_verification

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
gpg:file_signature_signature_verification [2023/06/02 09:24] – [gpg] so_v_agpg:file_signature_signature_verification [2026/09/01 11:30] (текущий) – so_v_a
Строка 1: Строка 1:
-# Как пользоваться gpg: шифрование, расшифровка файлов и сообщений, подпись файлов и проверка подписи, управление ключами. +<!DOCTYPE markdown>
  
-## Часть 5. Подпись файлов и проверка подписи+# Как пользоваться gpg: шифрование, расшифровка файлов и сообщений, подпись файлов и проверка подписи, управление ключами. 
 +  
 +## Часть 6. Подпись файлов и проверка подписи
  
 ### Как в GPG подписать файл   ### Как в GPG подписать файл  
Строка 15: Строка 17:
 - - - - - -
  
-Для подписи файла используется опция **-s** или её более длинный вариант **--sign**. Если у вас на компьютере только один приватный ключ, то он будет выбран автоматически.+Для подписи файла используется опция `-s` или её более длинный вариант `--sign`. Если у вас на компьютере только один приватный ключ, то он будет выбран автоматически.
  
-Если у вас на компьютере несколько приватных ключей, то нужно использовать также опцию **-u ИМЯ** или её более длинный вариант **--local-user ИМЯ**. Эта опция перезаписывает значение **--default-key**.+Если у вас на компьютере несколько приватных ключей, то нужно использовать также опцию `-u ИМЯ` или её более длинный вариант `--local-user ИМЯ`. Эта опция перезаписывает значение `--default-key`.
  
-> Опция **--default-key** устанавливает ключ, который будет использоваться по умолчанию, чтобы его не нужно было вводить каждый раз.+> Опция `--default-key` устанавливает ключ, который будет использоваться по умолчанию, чтобы его не нужно было вводить каждый раз.
  
 Итак, чтобы подписать файл test.php, приватным ключом пользователя Ivan Ivanov, следует выполнить следующую  команду: Итак, чтобы подписать файл test.php, приватным ключом пользователя Ivan Ivanov, следует выполнить следующую  команду:
Строка 27: Строка 29:
  
 В результате будет создан файл с расширением **.gpg**, в данном случае это файл test.php.gpg. Этот файл включает **И** исходный файл, **И** его цифровую подпись.   В результате будет создан файл с расширением **.gpg**, в данном случае это файл test.php.gpg. Этот файл включает **И** исходный файл, **И** его цифровую подпись.  
 +
 > Новый файл будет в бинарном формате — то есть даже если ранее это было сообщение или текстовый файл, то он становится нечитаемым. > Новый файл будет в бинарном формате — то есть даже если ранее это было сообщение или текстовый файл, то он становится нечитаемым.
  
-С помощью опции **--clear-sign** (другое её написание **--clearsign**) можно создать файл в виде обычного текста.+С помощью опции `--clear-sign` (другое её написание `--clearsign`) можно создать файл в виде обычного текста.
 ``` ```
 gpg -u 'Ivan Ivanov' --clear-sign test.php gpg -u 'Ivan Ivanov' --clear-sign test.php
Строка 51: Строка 54:
 В принципе, их позиция понятна: какой смысл проверять подпись, если мы всё равно лично не знаем тех, кто именно подписал файл, да и тех, кто удостоверяет подлинность публичного ключа мы тоже не знаем. Разве что можно быть уверенным, что файл действительно подписан автором программы, а не хакером, который взломал сервер, где хранятся файлы для скачивания, и что хакер не подменил файл в процессе его «путешествия» к нам на компьютер. В принципе, их позиция понятна: какой смысл проверять подпись, если мы всё равно лично не знаем тех, кто именно подписал файл, да и тех, кто удостоверяет подлинность публичного ключа мы тоже не знаем. Разве что можно быть уверенным, что файл действительно подписан автором программы, а не хакером, который взломал сервер, где хранятся файлы для скачивания, и что хакер не подменил файл в процессе его «путешествия» к нам на компьютер.
  
-Чтобы сделать такую пару (точнее говоря, нужно сделать только отдельный файл подписи — с исходным файлом вообще ничего не происходит) в PGP есть опция **-b** (или более длинное написание **--detach-sign**), которая применяется следующим образом:+Чтобы сделать такую пару (точнее говоря, нужно сделать только отдельный файл подписи — с исходным файлом вообще ничего не происходит) в PGP есть опция `-b` (или более длинное написание `--detach-sign`), которая применяется следующим образом:
  
 ``` ```
Строка 57: Строка 60:
 ``` ```
  
-В результате будет создан дополнительный файл **.sig** (здесь это test.php.sig). В этом файле нет ничего, кроме цифровой подписи. Поэтому вам нужно предоставлять и оригинальный файл, и файл .sig.+В результате будет создан дополнительный файл **.sig** (здесь это test.php.sig). В этом файле нет ничего, кроме цифровой подписи. Поэтому вам нужно предоставлять и оригинальный файл, и файл .sig
  
-## Как в GPG проверить подпись файла   +### Как в GPG проверить подпись файла   
  
-Для проверки подписи используется опция **--verify**.+Для проверки подписи используется опция `--verify`.
  
 Как было сказано, цифровая подпись может быть интегрирована в файл, а может содержаться в отдельном файле. От этого зависит вид запуска команды **gpg**: Как было сказано, цифровая подпись может быть интегрирована в файл, а может содержаться в отдельном файле. От этого зависит вид запуска команды **gpg**:
  
-- если цифровая подпись интегрирована в файл, то достаточно указать опцию **--verify**, а затем проверяемый файл:+**1** Если цифровая подпись интегрирована в файл, то достаточно указать опцию `--verify`, а затем проверяемый файл:
 ``` ```
 gpg --verify test.php.gpg gpg --verify test.php.gpg
 ``` ```
  
-- Если цифровая подпись отделена от файла, то после опции **--verify** нужно указать два аргумента: **вначале идёт файл с подписью, а затем подписанные данные**:+**2** Если цифровая подпись отделена от файла, то после опции `--verify` нужно указать два аргумента: **вначале идёт файл с подписью, а затем подписанные данные**:
 ``` ```
 gpg --verify test.php.sig test.php gpg --verify test.php.sig test.php
Строка 76: Строка 79:
  
  
-Для проверки подписи есть специальная программа **gpgv**, которая заменяет собой конструкцию **gpg --verify**, то есть предыдущие команды можно записать так:+Для проверки подписи есть специальная программа **gpgv**, которая заменяет собой конструкцию `gpg --verify`, то есть предыдущие команды можно записать так:
 ``` ```
 gpgv test.php.gpg gpgv test.php.gpg
Строка 109: Строка 112:
 ``` ```
  
-## Как извлечь файл из подписанного файла GPG  +### Как извлечь файл из подписанного файла GPG  
  
 После проверки подписи может возникнуть вопрос — а как, собственно, использовать этот файл в **.gpg** формате?  После проверки подписи может возникнуть вопрос — а как, собственно, использовать этот файл в **.gpg** формате? 
Строка 122: Строка 125:
 > При этом обычный редирект вывода, как это было рассмотрено выше, может не подойти, поскольку для подписанного файла опцией **-d** не только извлекаются исходные данные, но и происходит проверка подписи и результаты проверки тоже выводятся на экран, то есть если вы будете использовать редирект вывода, то в создаваемый файл попадут и подписанные данные, и информация о проверке подписи. > При этом обычный редирект вывода, как это было рассмотрено выше, может не подойти, поскольку для подписанного файла опцией **-d** не только извлекаются исходные данные, но и происходит проверка подписи и результаты проверки тоже выводятся на экран, то есть если вы будете использовать редирект вывода, то в создаваемый файл попадут и подписанные данные, и информация о проверке подписи.
  
-## Как в GPG одновременно подписать и зашифровать файл  + 
 +### Как в GPG одновременно подписать и зашифровать файл  
  
 Для этого достаточно совмещать уже известные нам опции. Для этого достаточно совмещать уже известные нам опции.
Строка 136: Строка 140:
 ``` ```
  
 +[[editing_keys|Продолжение]]
 +
 +[[0_content|Оглавление]]
  
/var/www/html/dokuwiki/data/attic/gpg/file_signature_signature_verification.1685697848.txt.gz · Последнее изменение: (внешнее изменение)