Использование gpg для подписи RPM как части непрерывной сборки - как избежать запроса пароля? - PullRequest
6 голосов
/ 11 октября 2010

У меня есть система непрерывной интеграции, которая генерирует RPM через скрипт оболочки, запускаемый cron. Я хочу подписать RPM с помощью gpg, но gpg настаивает на том, чтобы пользователь вручную вводил фразу-пароль на консоли, что явно не является началом, поскольку пользовательская консоль для cron отсутствует.

Я читал о gpg-agent, который позволит вам ввести пароль один раз для текущего сеанса входа в систему, но опять же cron не имеет сеанса входа в систему. Я хотел бы иметь возможность настроить gpg-agent так, чтобы он принимал парольную фразу один раз во время загрузки и передавал ее при необходимости в сеанс cron. Я понятия не имею, возможно ли это или нет, и документы для gpg-agent довольно минимальны.

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

Ответы [ 2 ]

5 голосов
/ 11 октября 2010

Вы должны запустить gpg-agent при запуске и сохранить переменную среды GPG_AGENT_INFO.Затем вы можете настроить его в среде вашего скрипта и он должен работать как положено.Кроме того, убедитесь, что разрешения сокета в GPG_AGENT_INFO позволяют вашему сценарию читать его.

0 голосов
/ 29 января 2016

Какой бы инструмент сборки вы не использовали для генерации RPM, он мог бы подписать его. Например, у Gradle есть плагин, который делает подпись для вас. Вы должны создать файл свойств с идентификатором, парольной фразой и расположением файла набора ключей, и он сделает все остальное

См .: https://docs.gradle.org/current/userguide/signing_plugin.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...