Спасибо @Joe Damato за то, что он указал мне на утилиту gpg-preset-passphrase
. Описанное ниже решение было разработано и протестировано на хосте Fedora 25 с установленным gnupg2-2.1.x
.
(nb Я еще не понял, как определить значение keygrip ключа подписи RPM на платформах, на которых работают старые версии GnuPG, потому что они не поддерживают параметр - with-keygrip
. Если кто-то хотел бы прокомментировать решение для этого, пожалуйста.)
Убедитесь, что ~ / .gnupg / gpg-agent.conf
содержит строку.
allow-preset-passphrase
После изменения ~ / .gnupg / gpg-agent.conf
перезагрузите gpg-agent.
$ gpg-connect-agent reloadagent /bye
OK
Перечислите свои ключи GPG, чтобы получить идентификатор ключа из восьми шестнадцатеричных цифр для ключа подписи RPM. В этом примере идентификатор ключа 0123ABCD
.
$ gpg --list-keys
/home/me/.gnupg/pubring.gpg
-----------------------------------
pub 1024R/0123ABCD 2015-06-13
uid Test (rpm-sign)
Получите код ручки для ключа подписи RPM. (Примечание. На хостах RHEL 7.2 и Fedora 20, которые я использую для тестирования, программа GPG2 (1)
на этих хостах не распознала параметр - with-keygrip
.)
$ gpg2 --with-keygrip -K 0123ABCD
sec rsa1024 2015-06-13 [SCEA]
0A1B2C3D4E5F6A7B8C9D0E0F1A2B3C4D0123ABCD
Keygrip = 2EACA0C5A4B46168EB91970B6715AF1AA52968BE
uid [ unknown] Test (rpm-sign)
Кэшируйте парольную фразу для ключа подписи RPM. В командной строке, показанной ниже, замените 'PASSPHRASE'
фактической парольной фразой для ключа подписи RPM.
$ /usr/libexec/gpg-preset-passphrase --passphrase 'PASSPHRASE' --preset 2EACA0C5A4B46168EB91970B6715AF1AA52968BE
Создать тестовый файл RPM без подписи. Убедитесь, что тестовый файл RPM не подписан.
$ rpm --checksig test-1.0.0-1.f25.noarch.rpm
test-1.0.0-1.fc25.noarch.rpm: sha1 md5 OK
Убедитесь, что RPMSIGN (8)
использует кэшированный пароль, т. Е. Что RPMSIGN (8)
не предлагает вам ввести кодовую фразу для ключа подписи RPM - когда подписание тестового файла RPM.
$ rpmsign --resign test-1.0.0-1.f25.noarch.rpm
Убедитесь, что тестовый файл RPM подписан.
$ rpm --checksig test-1.0.0-1.f25.noarch.rpm
test-1.0.0-1.fc25.noarch.rpm: rsa sha1 (md5) pgp md5 OK
Согласно этой веб-странице GnuPG Issue 2331 :
gpg1 не знает об захватах клавиш. Вместо ключа gpg1 использует отпечаток пальца в качестве cacheid для gpg-agent. Команда агента GET_PASSPHRAE, используемая gpg1, использует режим кэширования, отличный от того, который использует gpg-preset-passphrases. Таким образом, даже если вы замените клавиатуру отпечатком (под) клавиши, это не сработает.
Что бы это ни стоило, я провел некоторое тестирование с GnuPG версии 2.0.x на хостах RHEL7, и gpg-preset-passphrase
, похоже, не поддерживается. Я могу получить только gpg-preset-passphrase
для работы с GnuPG версии 2.1.x.
Ваш файл конфигурации curl может принудительно использовать прокси, даже если среда не работает.
Найдите файл ~ / .curlrc
и посмотрите, есть ли в нем строка proxy = ....
.
Вы также можете попробовать использовать curl без файла конфигурации: curl -q http://the.site.com
и посмотрите, получите ли вы ту же ошибку от прокси. ( -q
должен быть первым заданным параметром, иначе он все равно читает файл конфигурации по умолчанию.)
Наконец, поскольку у вас есть внутренняя сеть, вызывает ли шлюз прокси? Вы не можете остановить это на своем компьютере, сетевому администратору придется это исправить.
Удача.