Вы можете загрузить сертификат CA, вставленный корпоративным брандмауэром, и установить его в хранилище ключей pip. Ниже описан процесс, который я использовал, но я уверен, что те, кто более опытен в форматах / манипулировании сертификатами, могут улучшить его:
ОБРАТИТЕ ВНИМАНИЕ: файл pace cacerts.pem будет перезаписываться всякий раз, когда pip
обновлен, поэтому сертификат компании необходимо будет повторно вставить.
Шаг 1 . Определите правильный склад ключей. Если вы используете виртуальную среду, местоположение хранилища ключей, используемого pip при его активации, должно быть C:\PATH\TO\VENV\Lib\site-packages\pip\_vendor\certifi\cacert.pem
ПРИМЕЧАНИЕ. В отличие от большинства хранилищ ключей, с которыми я имел дело (в основном при попытке заставить продукты JetBrains работать за брандмауэрами корпорации), это простой текст. Подробнее об этом на шаге 3 .
Шаг 2 . Загрузите сертификат. Используя Firefox (есть много способов сделать это), перейдите по URL-адресу, который предшествует ошибке (что-то вроде https://pypi.org/simple/, или https://pypi.python.org/simple/). Нажмите на «Блокировка»> «Показать сведения о соединении»> «Дополнительная информация». На странице В информационном окне выберите Просмотр сертификата> Вкладка «Сведения». Экспортируйте сертификат верхнего уровня как .crt / .pem. Вернитесь на вкладку «Общие», это может потребоваться на шаге 3.
Шаг 3 . Обычно вы можете просто использовать команду keytool, например keytool -import -alias key-alias -file "C:\path\to\exported\key.der" -keystore "C:\Path\to\keystore\.PyCharm2018.3\system\tasks\cacerts"
, но при этом вы получите следующую ошибку keytool: java.security.KeyStoreException: нераспознанный формат хранилища ключей: null . Оказывается, вы можете просто скопировать сертификат открытого текста, экспортированный на шаге 2, прямо в хранилище ключей.
Вам не нужно включать какую-либо информацию заголовка, просто от ----- НАЧАТЬ СЕРТИФИКАТ ----- до ----- КОНЕЦ СЕРТИФИКАТА -----. Однако в будущем может быть полезно, если кто-то (вы) снова захочет просмотреть это хранилище ключей, поэтому вы можете скопировать его с вкладки «Общие», упомянутой выше.