Я работаю над созданием локального зеркала CentOS на локальном экземпляре Artifactory, и я построил скрипт Python3, чтобы проверить различия между удаленным и локальным репозиториями и соответствующим образом обновить локальные.Как проверить rpm подпись GPG с помощью Python3?
В качестве требования, я должен добавить шаг, который проверяет правильность загруженных пакетов rpm, прежде чем добавлять их в локальное зеркало.
Хотя я мог это сделать, позвонив «rpm -K» (после импорта ключей CentOS GPG), мне было интересно, будет ли лучший способ реализовать это, возможно, не полагаясь на внешние пакеты.
Спасибо для этого ответа. -qf в команде rpm является эквивалентом --queryformat, правильно? Я предполагаю, что сложная часть при работе с потенциально взломанным пакетом - это извлечение выделенной сигнатуры с использованием rpm. Что можно сделать для минимизации рисков безопасности при извлечении подписи? Я полагаю, что chroot не поможет? – rasebo
Да -qf - псевдоним для -queryformat. Более сложная проблема заключается в том, что функции --queryformat с загруженным заголовком и предполагается, что заголовок может быть загружен, так что -queryformat может извлекать значения. На практике вы, вероятно, прекрасны: между тем есть потенциал для эксплойтов, прежде чем заголовок может быть загружен. Chroot минимизирует ущерб, но это не правильное инженерное решение. Чтобы выполнить проверку подписи, вам нужно 3 элемента: 1) открытый текст 2) подпись и 3) паблик, который может поставляться через внешние средства. –