使用非标准证书#

在防火墙后使用 Conda 可能需要使用一组非标准证书,这需要自定义设置。

如果您使用的是一组非标准证书,那么 requests 包需要设置 REQUESTS_CA_BUNDLE。如果您收到自签名证书的错误,您可以考虑取消设置 REQUESTS_CA_BUNDLE 以及 CURL_CA_BUNDLE 以及 禁用 SSL 验证,以便通过 HTTP 创建 Conda 环境。

您可能需要将 Conda 环境设置为使用您的公司提供的根证书,而不是 Conda 的通用证书。

在 macOS 上解决此问题的一种工作流程是

  • 打开 Chrome,转到任何网站,单击 URL 左侧的锁图标。在下拉菜单中单击“证书”。在下一个窗口中,您会看到一组证书。最上面的(也称为窗口中的顶行)是根证书(例如 Zscaler Root CA)。

  • 打开 macOS 钥匙串,单击“证书”,并在众多证书中选择您刚刚识别的根证书。将其导出到您选择的任何文件夹。

  • 使用 OpenSSL 转换此证书:openssl x509 -inform der -in /path/to/your/certificate.cer -out /path/to/converted/certificate.pem

  • 为了快速检查,将您的 shell 设置为确认证书:export REQUESTS_CA_BUNDLE=/path/to/converted/certificate.pem

  • 要永久设置此项,请打开您的 shell 配置文件(例如 .bashrc.zshrc)并添加以下行:export REQUESTS_CA_BUNDLE=/path/to/converted/certificate.pem. 现在退出您的终端/shell 并重新打开。再次检查。