5

Я понимаю, что отдельная подпись генерируется личным ключом подписавшего, и вы используете открытый ключ подписавшего для проверки загруженного файла.

например

gpg --verify package_name.asc

Подпись проверяется с помощью открытого ключа подписавшего, но как gpg узнает, что подпись принадлежит загруженному пакету? Я что-то пропустил?

1 ответ1

4

Поиск файла для отдельной подписи

gpg автоматически проверяет отдельные подписи под тем же именем файла без .asc или .sig . От man gpg:

--verify
  Assume  that  the first argument is a signed file or a detached signature and
  verify it without generating any output. With  no  arguments,  the  signature
  packet  is  read from STDIN. If only a sigfile is given, it may be a complete
  signature or a detached signature, in which case the signed stuff is expected
  in a file without the ".sig" or ".asc" extension.  With more than 1 argument,
  the first should be a detached signature and  the  remaining  files  are  the
  signed  stuff.  To  read  the  signed stuff from STDIN, use '-' as the second
  filename.  For security reasons a detached signature cannot read  the  signed
  material from STDIN without denoting it in the above way.

Таким образом, gpg --verify package_name.asc ожидает, что подписанный файл будет доступен как package_name . Если это не так (или в другом месте), также укажите путь к этому файлу:

gpg --verify detached_siganture.asc signed_file

Это правильный файл?

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .