CheckPackageSign: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
 
(не показано 13 промежуточных версий этого же участника)
Строка 1: Строка 1:
{{stub}}
{{stub}}
{{Note|Короткая ссылка сюда - https://www.altlinux.org/Checkpackagesign}}
{{Attention|Страница в разработке!!!}}
{{Attention|Страница в разработке!!!}}
=Проверка подписи пакета=
=Проверка подписи пакета=
Когда разработчик собирает пакет с программным обеспечением, он подписывает его собственным ключом, чтобы потом можно было проверить целостность и подлинность пакета.
Когда разработчик собирает пакет с программным обеспечением, он подписывает его собственным ключом, чтобы потом можно было проверить целостность и подлинность пакета.


==Выполнение проверки пакета==
{{Note|При выполнении следующей команды утилита проверит подпись пакета и соответствие ей открытого ключа разработчика, который хранится в системе}}
Выполним команду:
$ rpmsign -Kv /home/user/Загрузки/gpupdate-0.10.0-alt1.noarch.rpm
*ключ -K -
*ключ -v - показывать более детальные сообщения
Результат:
/home/user/Загрузки/gpupdate-0.10.0-alt1.noarch.rpm:
    Заголовок V4 RSA/SHA512 Signature, key ID c7eb80f9: NOKEY
    Header SHA1 digest: OK (1a0f5ebf806efab4c266a08b361ee1e494ac2d11)
    MD5 digest: OK (aa30e4dce5ba36afdb1fdb9d6a58bf14)
    V4 RSA/SHA512 Signature, key ID c7eb80f9: NOKEY


  $ rpmsign -Kv /ALT/Sisyphus/x86_64/RPMS.classic/aalib-1.4-alt8rc5.x86_64.rpm  
Или:
  /ALT/Sisyphus/x86_64/RPMS.classic/aalib-1.4-alt8rc5.x86_64.rpm:
  rpm --checksig '/home/user/Загрузки/gpupdate-0.10.0-alt1.noarch.rpm'
    Заголовок V4 RSA/SHA512 Signature, key ID da2773bb: NOKEY
Результат:
    Header SHA1 digest: OK (55646034ebf72d56dd998eb2f472743bb1ff0f71)
  /home/user/Загрузки/gpupdate-0.10.0-alt1.noarch.rpm: (RSA) sha1 md5 (GPG) НЕ ОК (ОТСУТСТВУЮТ КЛЮЧИ: RSA#c7eb80f9 GPG#c7eb80f9)
    MD5 digest: OK (0cb307f1262551578b95326fa052ff4a)
    V4 RSA/SHA512 Signature, key ID da2773bb: NOKEY


{{Note|Прежде чем проверять подписи PGP и GnuPG необходимо установить соответствующие системы и импортировать и заверить публичные ключи поставщика пакета. ({{cmd|gpg --import имя-файла}}, {{cmd|rpm --import имя-файла}}.
Как минимум, команда должна ответить:
  имя_файла: md5 OK
А лучше
  имя_файла: md5 gpg OK
}}
==Вывод списка ключей разработчиков==
{{Note|Список всех ключей разработчиков ALT Linux лежит в файле {{path|/usr/lib/alt-gpgkeys/pubring.gpg}}. Специальной командой мы выведем ключи из этого файла.}}
Чтобы просмотреть список всех ключей, используемых для проверки RPM, выполните команду:
$ gpg2 --show-keys --with-fingerprint --keyid-format=short /usr/lib/alt-gpgkeys/pubring.gpg 2>/dev/null
Получим длинную простыню ключей.
=== Вывод ключа конкретного разработчика ===
{{Note|Добавив определенный параметр с аргументом, мы отфильтруем ключи до конкретного разработчика.}}
Добавляем
| grep -i da2773bb -A2
где в -i - открытый ключ разработчика.


  $ gpg2 --show-keys --with-fingerprint --keyid-format=short /usr/lib/alt-gpgkeys/pubring.gpg 2>/dev/null | grep -i da2773bb -A2
  $ gpg2 --show-keys --with-fingerprint --keyid-format=short /usr/lib/alt-gpgkeys/pubring.gpg 2>/dev/null | grep -i da2773bb -A2
И получим информацию о ключе конкретного разработчика:
  pub  rsa4096/DA2773BB 2019-05-16 [SC] [  годен до: 2029-05-13]
  pub  rsa4096/DA2773BB 2019-05-16 [SC] [  годен до: 2029-05-13]
       Отпечаток ключа = DF6C 02E5 F174 D7CD F792  A9CD FF97 9DED DA27 73BB
       Отпечаток ключа = DF6C 02E5 F174 D7CD F792  A9CD FF97 9DED DA27 73BB
  uid                    ALT Sisyphus <alt-sisyphus@altlinux.org>
  uid                    ALT Sisyphus <alt-sisyphus@altlinux.org>


 
==Сопоставление пакета и ключа==
Я не добрался до правильного импорта единичного ключа из alt-gpgkeys.
{{todo|Выяснить, как это сделать}}
 
==Источники==
*[http://www.rhd.ru/docs/manuals/enterprise/RHEL-AS-2.1-Manual/custom-guide/check-rpm-sig.html rhd.ru]
*[http://www.bog.pp.ru/work/rpm.html bog.pp.ru]


{{Category navigation|title=Начинающему разработчику|category=Начинающему разработчику|sortkey={{SUBPAGENAME}}}}
{{Category navigation|title=Начинающему разработчику|category=Начинающему разработчику|sortkey={{SUBPAGENAME}}}}
По умолчанию GnuPG устанавливается при установке системы. Поэтому вы можете сразу воспользоваться GnuPG для проверки любых пакетов, полученных от Red Hat. Но сначала вы должны импортировать открытый ключ Red Hat.
15.3.1. Импорт ключей
Чтобы проверять пакеты Red Hat, вы должны импортировть GPG-ключ Red Hat. Для этого введите в приглашении оболочки следующую команду:
rpm --import /usr/share/rhn/RPM-GPG-KEY
Чтобы просмотреть список всех ключей, используемых для проверки RPM, выполните команду:
rpm -qa gpg-pubkey*
Ключ Red Hat в этом списке будет выглядеть так:
gpg-pubkey-db42a60e-37ea5438
Чтобы узнать о конкретном ключе больше, выполните rpm -qi, добавив в конце результат предыдущей команды, например:
rpm -qi gpg-pubkey-db42a60e-37ea5438
15.3.2. Проверка подписи пакетов
Чтобы, загрузив GnuPG-ключ создателя пакета, проверить GnuPG-подпись этого пакета, выполните следующую команду (замените <rpm-file> именем файла RPM-пакета):
rpm -K <rpm-file>
Если всё проходит хорошо, появляется следующее сообщение md5 gpg OK. Это значит, что подпись пакета была проверена и она не испорчена.

Текущая версия от 11:29, 20 июня 2024

Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.
Примечание: Короткая ссылка сюда - https://www.altlinux.org/Checkpackagesign
Внимание! Страница в разработке!!!

Проверка подписи пакета

Когда разработчик собирает пакет с программным обеспечением, он подписывает его собственным ключом, чтобы потом можно было проверить целостность и подлинность пакета.

Выполнение проверки пакета

Примечание: При выполнении следующей команды утилита проверит подпись пакета и соответствие ей открытого ключа разработчика, который хранится в системе

Выполним команду:

$ rpmsign -Kv /home/user/Загрузки/gpupdate-0.10.0-alt1.noarch.rpm 
  • ключ -K -
  • ключ -v - показывать более детальные сообщения

Результат:

/home/user/Загрузки/gpupdate-0.10.0-alt1.noarch.rpm:
    Заголовок V4 RSA/SHA512 Signature, key ID c7eb80f9: NOKEY
    Header SHA1 digest: OK (1a0f5ebf806efab4c266a08b361ee1e494ac2d11)
    MD5 digest: OK (aa30e4dce5ba36afdb1fdb9d6a58bf14)
    V4 RSA/SHA512 Signature, key ID c7eb80f9: NOKEY

Или:

rpm --checksig '/home/user/Загрузки/gpupdate-0.10.0-alt1.noarch.rpm'

Результат:

/home/user/Загрузки/gpupdate-0.10.0-alt1.noarch.rpm: (RSA) sha1 md5 (GPG) НЕ ОК (ОТСУТСТВУЮТ КЛЮЧИ: RSA#c7eb80f9 GPG#c7eb80f9)
Примечание: Прежде чем проверять подписи PGP и GnuPG необходимо установить соответствующие системы и импортировать и заверить публичные ключи поставщика пакета. (gpg --import имя-файла, rpm --import имя-файла.

Как минимум, команда должна ответить:

  имя_файла: md5 OK

А лучше

  имя_файла: md5 gpg OK


Вывод списка ключей разработчиков

Примечание: Список всех ключей разработчиков ALT Linux лежит в файле /usr/lib/alt-gpgkeys/pubring.gpg. Специальной командой мы выведем ключи из этого файла.

Чтобы просмотреть список всех ключей, используемых для проверки RPM, выполните команду:

$ gpg2 --show-keys --with-fingerprint --keyid-format=short /usr/lib/alt-gpgkeys/pubring.gpg 2>/dev/null

Получим длинную простыню ключей.

Вывод ключа конкретного разработчика

Примечание: Добавив определенный параметр с аргументом, мы отфильтруем ключи до конкретного разработчика.

Добавляем

| grep -i da2773bb -A2

где в -i - открытый ключ разработчика.

$ gpg2 --show-keys --with-fingerprint --keyid-format=short /usr/lib/alt-gpgkeys/pubring.gpg 2>/dev/null | grep -i da2773bb -A2

И получим информацию о ключе конкретного разработчика:

pub   rsa4096/DA2773BB 2019-05-16 [SC] [   годен до: 2029-05-13]
      Отпечаток ключа = DF6C 02E5 F174 D7CD F792  A9CD FF97 9DED DA27 73BB
uid                    ALT Sisyphus <alt-sisyphus@altlinux.org>

Сопоставление пакета и ключа

TODO:
Выяснить, как это сделать

Источники