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

Материал из ALT Linux Wiki
Нет описания правки
 
(не показано 9 промежуточных версий этого же участника)
Строка 1: Строка 1:
{{stub}}
{{Note|Короткая ссылка сюда - https://www.altlinux.org/Checkpackagesign}}
{{Note|Короткая ссылка сюда - https://www.altlinux.org/Checkpackagesign}}
{{Attention|Страница в разработке!!!}}
=Проверка подписи пакета=
=Проверка подписи пакета=
Когда разработчик собирает пакет с программным обеспечением, он подписывает его собственным ключом, чтобы потом можно было проверить целостность и подлинность пакета.
Когда разработчик собирает пакет с программным обеспечением, он подписывает его собственным ключом, чтобы потом можно было проверить целостность и подлинность пакета.
==Импорт ключей==
# apt-get install /usr/bin/alt-rpmkeys-checksig
# gpg --import /usr/lib/alt-gpgkeys/pubring.gpg
# gpg --armor --export ff979dedda2773bb >/var/lib/rpm/alt-sisyphus.key


==Выполнение проверки пакета==
==Выполнение проверки пакета==
Строка 18: Строка 21:
     MD5 digest: OK (aa30e4dce5ba36afdb1fdb9d6a58bf14)
     MD5 digest: OK (aa30e4dce5ba36afdb1fdb9d6a58bf14)
     V4 RSA/SHA512 Signature, key ID c7eb80f9: NOKEY
     V4 RSA/SHA512 Signature, key ID c7eb80f9: NOKEY
{{Note|Здесь смотрим строчку {{cmd|key ID c7eb80f9}}. Это открытая часть ключа разработчика, создавшего пакет.}}


===rpm --checksig===
<!--===rpm --checksig===
  rpm --checksig '/home/user/Загрузки/gpupdate-0.10.0-alt1.noarch.rpm'
  rpm --checksig '/home/user/Загрузки/gpupdate-0.10.0-alt1.noarch.rpm'
Результат:
Результат:
Строка 30: Строка 34:
   имя_файла: md5 gpg OK
   имя_файла: md5 gpg OK
}}
}}
===rpm -q --qf===
===rpm -q --qf===
  rpm -q --qf '%{SIGPGP:pgpsig} %{SIGGPG:pgpsig}\n' -p  'jobe-2.1.2-alt1.x86_64.rpm'
  rpm -q --qf '%{SIGPGP:pgpsig} %{SIGGPG:pgpsig}\n' -p  'jobe-2.1.2-alt1.x86_64.rpm'
  (none) RSA/SHA512, Пн 10 фев 2025 06:33:02, Key ID ff979dedda2773bb
  (none) RSA/SHA512, Пн 10 фев 2025 06:33:02, Key ID ff979dedda2773bb
-->


==Вывод списка ключей разработчиков==
==Вывод списка ключей разработчиков==
{{Note|Список всех ключей разработчиков ALT Linux лежит в файле {{path|/usr/lib/alt-gpgkeys/pubring.gpg}}. Специальной командой мы выведем ключи из этого файла.}}
<!-- {{Note|Список всех ключей разработчиков ALT Linux лежит в файле {{path|/usr/lib/alt-gpgkeys/pubring.gpg}}. Специальной командой мы выведем ключи из этого файла.}}
Чтобы просмотреть список всех ключей, используемых для проверки RPM, выполните команду:
Чтобы просмотреть список всех ключей, используемых для проверки RPM, выполните команду:
  $ gpg2 --show-keys --with-fingerprint --keyid-format=short /usr/lib/alt-gpgkeys/pubring.gpg 2>/dev/null
  $ gpg2 --show-keys --with-fingerprint --keyid-format=short /usr/lib/alt-gpgkeys/pubring.gpg 2>/dev/null
Получим длинную простыню ключей.
Получим длинную простыню ключей. -->


=== Вывод ключа конкретного разработчика ===
=== Вывод ключа конкретного разработчика ===
{{Note|Добавив определенный параметр с аргументом, мы отфильтруем ключи до конкретного разработчика.}}
{{Note|Добавив определенный параметр с аргументом, мы отфильтруем ключи до конкретного разработчика.}}
Добавляем
Добавляем
  | grep -i da2773bb -A2
  | grep -i c7eb80f9 -A2
где в -i - открытый ключ разработчика.
где в -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 c7eb80f9 -A2
И получим информацию о ключе конкретного разработчика:
И получим информацию о ключе конкретного разработчика:
  pub  rsa4096/DA2773BB 2019-05-16 [SC] [  годен до: 2029-05-13]
  pub  rsa4096/C7EB80F9 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>


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

Текущая версия от 13:09, 10 февраля 2025

Примечание: Короткая ссылка сюда - https://www.altlinux.org/Checkpackagesign

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

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

Импорт ключей

# apt-get install /usr/bin/alt-rpmkeys-checksig
# gpg --import /usr/lib/alt-gpgkeys/pubring.gpg
# gpg --armor --export ff979dedda2773bb >/var/lib/rpm/alt-sisyphus.key

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

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

rpmsign

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

$ rpmsign -Kv /home/user/Загрузки/gpupdate-0.10.0-alt1.noarch.rpm 
  • ключ -K - показывает ключ GPG, используемый для подписания
  • ключ -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
Примечание: Здесь смотрим строчку key ID c7eb80f9. Это открытая часть ключа разработчика, создавшего пакет.


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

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

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

Добавляем

| grep -i c7eb80f9 -A2

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

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

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

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

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

Сопоставляем:

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


Источники