Как узнать, как curl получает свой прокси

Спасибо @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

:: TEST ::

Создать тестовый файл 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

:: ДОБАВЛЕНИЕ 1 (2016-12-17) ::

Согласно этой веб-странице 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.

Ссылки

GnuPG ArchWiki

2
06.01.2017, 21:43
1 ответ

Ваш файл конфигурации curl может принудительно использовать прокси, даже если среда не работает.

Найдите файл ~ / .curlrc и посмотрите, есть ли в нем строка proxy = .... .

Вы также можете попробовать использовать curl без файла конфигурации: curl -q http://the.site.com и посмотрите, получите ли вы ту же ошибку от прокси. ( -q должен быть первым заданным параметром, иначе он все равно читает файл конфигурации по умолчанию.)

Наконец, поскольку у вас есть внутренняя сеть, вызывает ли шлюз прокси? Вы не можете остановить это на своем компьютере, сетевому администратору придется это исправить.

Удача.

2
27.01.2020, 22:10

Теги

Похожие вопросы