Когда GPG загружает свои ключи? - PullRequest
0 голосов
/ 21 января 2020

При установке OpenWRT у меня есть скрипт обновления, который загружает файл и проверяет его подпись GPG.

Если я запускаю этот скрипт при загрузке в r c .d с приоритетом 99 (это последний 1) я получаю сообщение об ошибке «gpg: Can't check signature: publi c key not found». Если я запускаю его через Cron или вручную, все работает.

Я также пытался добавить 60-секундный сон перед запуском сценария.

Есть ли способ узнать, когда GPG завершил инициализацию?

Ответы [ 2 ]

0 голосов
/ 23 января 2020

Оказывается, сценарии в r c .d не запускаются как root, или home root еще не указан (?), Поэтому домашний каталог, где GPG ищет подписи, отличается (это глядя на //.gnupg/ вместо /root/.gnupg/). Добавление параметра homedir в GPG позволяет указать каталог; это работает:

gpg --homedir /root/.gnupg/ --verify update.gpg
0 голосов
/ 22 января 2020

Можете ли вы опубликовать сценарий, который вы используете?

Возможным решением будет добавить импорт ключа publi c как часть сценария, прежде чем проверять подпись, чтобы он всегда был доступен для gpg.

Этот ответ также может пролить свет на эту ошибку: Невозможно проверить подпись: publi c ключ не найден

...