Kernel/signature/rpm: различия между версиями
Vt (обсуждение | вклад) (Новая страница: «= Проверка целостности RPM пакетов = == Получение RPM ключей и утилит == Актуальные RPM ключи ''ALT Linux Team'' находятся в пакете {{pkg|alt-rpmkeys}}, он установится автоматически вместе с утилитами из {{pkg|alt-rpmkeys-utils}}: <span style="color:blue">#</span> '''apt-get update''' <span style="color:blue">#</span> '''apt-get i...») |
Vt (обсуждение | вклад) |
||
(не показаны 4 промежуточные версии этого же участника) | |||
Строка 10: | Строка 10: | ||
== Проверка целостности пакета с ядром == | == Проверка целостности пакета с ядром == | ||
=== Пример успешной проверки === | |||
<span style="color:blue"> | Проверка, что RPM пакет подписан ''ALT Linux Team'': | ||
<span style="color:blue">$</span> '''alt-rpmkeys-checksig''' kernel-image-std-def-5.15.82-alt1.x86_64.rpm | |||
<span style="color:grey">ALT Sisyphus <alt-sisyphus@altlinux.org></span> | <span style="color:grey">ALT Sisyphus <alt-sisyphus@altlinux.org></span> | ||
В случае успеха, утилита выведет кем подписан пакет (это будет | В случае успеха, утилита выведет кем подписан пакет (это будет email из домена <code>altlinux.org</code>) и код возврата будет <code>0</code> (код успешного завершения). | ||
=== Пример неуспешной проверки (чужая подпись) === | |||
На примере пакета подписанного другим дистрибутивом: | |||
<span style="color:blue">$</span> '''alt-rpmkeys-checksig''' gpgme-1.15.1-2.fc34.x86_64.rpm | |||
<span style="color:grey">gpgme-1.15.1-2.fc34.x86_64.rpm: | |||
Header V4 RSA/SHA256 Signature, key ID 45719a39: NOKEY | |||
Header SHA1 digest: OK (a16f31f5fac1f230566f97a911467a4cc408ac84) | |||
Verify signature: BAD PARAMETERS (273 0x55a0a804b1a7 1 (nil) (nil)) | |||
V4 RSA/SHA256 Signature, key ID 45719a39: NOKEY | |||
MD5 digest: OK (9a61f0ec71eb59a33d6ef08c8b95f8a1) | |||
alt-rpmkeys-checksig: gpgme-1.15.1-2.fc34.x86_64.rpm: '''signature verification failed'''</span> | |||
Обратите внимание на текст '''signature verification failed''', при этом утилита вернет код неуспешного завершения (не <code>0</code>). | |||
=== Пример неуспешной проверки (измененный пакет) === | |||
В случае искажения содержимого пакета. (Для примера добавим лишний байт к данным.) | |||
<span style="color:blue">$</span> '''head''' -1c /dev/zero >> kernel-image-std-def-5.15.82-alt1.x86_64.rpm | |||
<span style="color:blue">$</span> '''alt-rpmkeys-checksig''' kernel-image-std-def-5.15.82-alt1.x86_64.rpm | |||
<span style="color:grey">kernel-image-std-def-5.15.82-alt1.x86_64.rpm: | |||
Header V4 RSA/SHA512 Signature, key ID da2773bb: OK | |||
Header SHA1 digest: OK (ef0a801f684333573e0b5d5feb6666eb007b67de) | |||
MD5 digest:: BAD Expected(3eafda2aac88ee0adebc7d976ce8e044) != (ca048ae433df388d89bed3fe59074f4c) | |||
V4 RSA/SHA512 Signature, key ID da2773bb: BAD | |||
alt-rpmkeys-checksig: kernel-image-std-def-5.15.82-alt1.x86_64.rpm: '''signature verification failed'''</span> | |||
Как и в предыдущем случае текст '''signature verification failed''' и код неуспешного завершения. | |||
=== Пример неуспешной проверки (отсутствие подписи) === | |||
Допустим, вы собирали пакет локально и он не подписан. | |||
<span style="color:blue">$</span> '''alt-rpmkeys-checksig''' example-1.0-alt1.x86_64.rpm | |||
<span style="color:grey">alt-rpmkeys-checksig: example-1.0-alt1.x86_64.rpm: '''signature not found'''</span> | |||
В этом случае текст '''signature not found''' и код неуспешного завершения. |
Текущая версия от 19:05, 11 декабря 2022
Проверка целостности RPM пакетов
Получение RPM ключей и утилит
Актуальные RPM ключи ALT Linux Team находятся в пакете alt-rpmkeys, он установится автоматически вместе с утилитами из alt-rpmkeys-utils:
# apt-get update # apt-get install -y alt-rpmkeys-utils
Проверка целостности пакета с ядром
Пример успешной проверки
Проверка, что RPM пакет подписан ALT Linux Team:
$ alt-rpmkeys-checksig kernel-image-std-def-5.15.82-alt1.x86_64.rpm ALT Sisyphus <alt-sisyphus@altlinux.org>
В случае успеха, утилита выведет кем подписан пакет (это будет email из домена altlinux.org
) и код возврата будет 0
(код успешного завершения).
Пример неуспешной проверки (чужая подпись)
На примере пакета подписанного другим дистрибутивом:
$ alt-rpmkeys-checksig gpgme-1.15.1-2.fc34.x86_64.rpm gpgme-1.15.1-2.fc34.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 45719a39: NOKEY Header SHA1 digest: OK (a16f31f5fac1f230566f97a911467a4cc408ac84) Verify signature: BAD PARAMETERS (273 0x55a0a804b1a7 1 (nil) (nil)) V4 RSA/SHA256 Signature, key ID 45719a39: NOKEY MD5 digest: OK (9a61f0ec71eb59a33d6ef08c8b95f8a1) alt-rpmkeys-checksig: gpgme-1.15.1-2.fc34.x86_64.rpm: signature verification failed
Обратите внимание на текст signature verification failed, при этом утилита вернет код неуспешного завершения (не 0
).
Пример неуспешной проверки (измененный пакет)
В случае искажения содержимого пакета. (Для примера добавим лишний байт к данным.)
$ head -1c /dev/zero >> kernel-image-std-def-5.15.82-alt1.x86_64.rpm $ alt-rpmkeys-checksig kernel-image-std-def-5.15.82-alt1.x86_64.rpm kernel-image-std-def-5.15.82-alt1.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID da2773bb: OK Header SHA1 digest: OK (ef0a801f684333573e0b5d5feb6666eb007b67de) MD5 digest:: BAD Expected(3eafda2aac88ee0adebc7d976ce8e044) != (ca048ae433df388d89bed3fe59074f4c) V4 RSA/SHA512 Signature, key ID da2773bb: BAD alt-rpmkeys-checksig: kernel-image-std-def-5.15.82-alt1.x86_64.rpm: signature verification failed
Как и в предыдущем случае текст signature verification failed и код неуспешного завершения.
Пример неуспешной проверки (отсутствие подписи)
Допустим, вы собирали пакет локально и он не подписан.
$ alt-rpmkeys-checksig example-1.0-alt1.x86_64.rpm alt-rpmkeys-checksig: example-1.0-alt1.x86_64.rpm: signature not found
В этом случае текст signature not found и код неуспешного завершения.