Криптографическая подпись RPM может быть проверена с помощью rpm -K
команды. Возвращает строку, содержащую gpg
(или pgp
) и заканчивающуюся тем OK
, что подпись находится в базе данных RPM и является действительной.
Если пакет не подписан, но контрольные суммы действительны, вы все равно получите OK
, но нет gpg
.
Если пакет подписан, но ключ отсутствует в базе данных RPM, вы получаете (GPG)
(заглавные буквы) и NOT OKAY
, а затем (MISSING KEYS: GPG#deadbeef)
.
Это удобно, если я хочу выяснить, какой ключ я должен найти для установки моего пакета.
Но что, если я хочу проверить, какой из нескольких ключей в моем наборе ключей RPM использовался для подписи данного пакета?
rpm
packaging
cryptography
gpg
mattdm
источник
источник
-a
на-p packagename.rpm
.Поле подписи указано
rpm -qpi package.rpm
, например, через :источник
Чтобы узнать, какой ключ GPG в вашей базе данных RPM подписал конкретную частоту вращения, сделайте следующее:
Перечислите все ключи GPG в вашей базе данных RPM:
Сначала убедитесь , обороты в вопросе будет подписан с ключом в вашем RPM БД:
В конце вы ищите OK, а не «НЕ OK (MISSING KEYS»), что будет означать, что оно было подписано, но ключом нет в вашей базе данных RPM.
Правильно, поэтому проверяемая частота вращения была подписана ключом в нашей базе данных RPM.
А затем получите идентификатор ключа, с которым был подписан rpm:
Теперь вы можете увидеть, соответствуют ли последние 8 символов идентификатора ключа (т.е. b1275ea3 из fadd8d64b1275ea3) любому из 8 символов, следующих за gpg-pubkey- из первой команды. И в этом случае это так!
И тогда у вас есть ключ, о котором идет речь, так что сделайте:
чтобы увидеть в этом примере, что именно ключ HP подписал этот rpm.
Надеюсь это поможет. Мне понадобилось время, чтобы понять. :-)
источник
Выдать
less <rpm file>
и проверитьSignature
запись, например:источник