Перейти к основному содержимому

Подключение GPG-ключа Pangolin и проверка подписи пакетов

Данный раздел описывает процедуру подключения публичного GPG-ключа Pangolin к системе или локальному репозиторию, а также методы проверки подписи пакетов.

Подключение GPG-ключа к системе​

Публичный GPG-ключ Pangolin должен быть доступен из репозитория продукта или передаваться вместе с релизом. Выполните следующие шаги для подключения ключа:

примечание

Имя GPG-ключа: Platform V Pangolin DB (Pangolin GPG-key) <pangolin@sbertech.ru>

  1. Скопируйте публичный ключ в директорию GPG-ключей:

    sudo cp PANGOLIN-GPG-PUBLIC-KEY /etc/pki/rpm-gpg/
  2. Импортируйте ключ в базу GPG пакетного менеджера:

    sudo rpm --import /etc/pki/rpm-gpg/PANGOLIN-GPG-PUBLIC-KEY
  3. Проверьте успешность импорта ключа:

    rpm -q --queryformat '%{SUMMARY}\n' gpg-pubkey

    или:

    gpg --list-keys "pangolin@sbertech.ru"
  4. Для настройки репозитория с проверкой подписи создайте или отредактируйте файл /etc/yum.repos.d/pangolin.repo с содержимым:

    [pangolin]
    name=Pangolin Repository
    baseurl=file:///path/to/pangolin/repo/
    gpgcheck=1
    enabled=1
    gpgkey=file:///etc/pki/rpm-gpg/PANGOLIN-GPG-PUBLIC-KEY

    Параметры:

    • gpgcheck=1 — включена проверка подписи пакетов и метаданных репозитория;
    • gpgkey=file:///... — путь к публичному GPG-ключу.

Проверка подписи пакетов​

  1. Проверьте подпись отдельного RPM-пакета:

    rpm --checksig <package>.rpm

    Пример вывода при успешной проверке:

    package-name-1.0.x86_64: rsa sha256 (ecdsa sha256) pgp md5 OK
  2. Для получения подробной информации о подписи выполните:

    rpm -qpi <package>.rpm | grep -i sign
  3. Для проверки всех пакетов в директории выполните:

    for rpm_file in /path/to/repo/*.rpm; do
    echo "=== $(basename $rpm_file) ==="
    rpm --checksig "$rpm_file"
    done

Устранение неполадок​

«Public key for <package>.rpm is not installed»

Причина: GPG-ключ не импортирован в систему.

Решение:

sudo rpm --import /etc/pki/rpm-gpg/PANGOLIN-GPG-PUBLIC-KEY

«Header V3 RSA/SHA256 Signature, key ID ...: NOKEY»

Причина: Ключ указан в конфиге репозитория, но не импортирован глобально.

Решение: Убедитесь, что параметр gpgkey в .repo файле указывает на корректный путь к ключу.

«The following signatures were invalid»

Причина: Публичный ключ не соответствует ключу, которым были подписаны пакеты.

Решение: Получите правильный ключ.

Проверка наличия GPG-ключа в системе​

# Для RPM-систем:
rpm -q gpg-pubkey

# Для всех систем:
gpg --list-keys "Pangolin"

# Проверка fingerprints:
gpg --fingerprint "pangolin@sbertech.ru"

Справочная информация​

ПараметрЗначение
Имя ключаPlatform V Pangolin DB (Pangolin GPG-key)
Email ключаpangolin@sbertech.ru
Формат ключаASCII-armored GPG (.asc)
Путь по умолчанию (RPM)/etc/pki/rpm-gpg/PANGOLIN-GPG-PUBLIC-KEY
Путь по умолчанию (DEB)/usr/share/keyrings/pangolin-gpg-key.asc
Поддерживаемые версии6.9.0+