CheckPackageSign: различия между версиями
(Новая страница: «=Проверка подписи пакета= {{Category navigation|title=Начинающему разработчику|category=Начинающему разработчику|sortkey={{SUBPAGENAME}}}}») |
Нет описания правки |
||
(не показано 28 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
{{Note|Короткая ссылка сюда - 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 | |||
==Выполнение проверки пакета== | |||
{{Note|При выполнении следующей команды утилита проверит подпись пакета и соответствие ей открытого ключа разработчика, который хранится в системе}} | |||
===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 | |||
{{Note|Здесь смотрим строчку {{cmd|key ID c7eb80f9}}. Это открытая часть ключа разработчика, создавшего пакет.}} | |||
<!--===rpm --checksig=== | |||
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) | |||
{{Note|Прежде чем проверять подписи PGP и GnuPG необходимо установить соответствующие системы и импортировать и заверить публичные ключи поставщика пакета. ({{cmd|gpg --import имя-файла}}, {{cmd|rpm --import имя-файла}}. | |||
Как минимум, команда должна ответить: | |||
имя_файла: md5 OK | |||
А лучше | |||
имя_файла: md5 gpg OK | |||
}} | |||
===rpm -q --qf=== | |||
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 | |||
--> | |||
==Вывод списка ключей разработчиков== | |||
<!-- {{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 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> | |||
==Сопоставление пакета и ключа== | |||
Сопоставляем: | |||
*из первого раздела | |||
**имя пакета | |||
**открытую часть ключа | |||
*из второго раздела | |||
**открытую часть ключа | |||
**срок действия ключа | |||
{{Note|Если срок действия еще действует, то все в порядке.}} | |||
==Источники== | |||
*[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}}}} |
Текущая версия от 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>
Сопоставление пакета и ключа
Сопоставляем:
- из первого раздела
- имя пакета
- открытую часть ключа
- из второго раздела
- открытую часть ключа
- срок действия ключа
Примечание: Если срок действия еще действует, то все в порядке.