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

Материал из ALT Linux Wiki
Нет описания правки
 
(не показано 12 промежуточных версий этого же участника)
Строка 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>


 
==Сопоставление пакета и ключа==
По умолчанию GnuPG устанавливается при установке системы. Поэтому вы можете сразу воспользоваться GnuPG для проверки любых пакетов, полученных от Red Hat. Но сначала вы должны импортировать открытый ключ Red Hat.
{{todo|Выяснить, как это сделать}}
 
==Источники==
15.3.1. Импорт ключей
*[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]
Чтобы проверять пакеты 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. Это значит, что подпись пакета была проверена и она не испорчена.


{{Category navigation|title=Начинающему разработчику|category=Начинающему разработчику|sortkey={{SUBPAGENAME}}}}
{{Category navigation|title=Начинающему разработчику|category=Начинающему разработчику|sortkey={{SUBPAGENAME}}}}

Текущая версия от 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:
Выяснить, как это сделать

Источники