CheckPackageSign
(перенаправлено с «Checkpackagesign»)
Примечание: Короткая ссылка сюда - 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:
Выяснить, как это сделать