问题标签 [certifi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
431 浏览

python-requests - Travis 上的 SSL 证书失败,但在本地工作正常(使用请求和证书)

我正在使用请求和证书抓取以下网站:https ://ecf.ared.uscourts.gov/

当我在本地机器上抓取它时,它工作正常,但是当我在 Travis 中运行自动化测试时,它失败了:

我为此使用的代码非常简单:

任何想法 Travis 和我的本地机器之间有什么不同会导致证书失败?我认为 certifi 的想法是标准化所有这些。(我已经确认我在两台计算机上都更新了版本。)

0 投票
1 回答
297 浏览

python - Python requests.get() 引发访问 Web API 的 SSL 错误

我正在尝试访问 at https://www.ncdc.noaa.gov/cdo-we/api/v2/这需要在此处请求时立即收到一个令牌。然后:

requests.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:720)

我知道我可以设置verify=False,但我确实想验证。我还希望能够分发此代码,因此我不想通过修改我的 cacert.pem 来解决问题。我也尝试过将其certifi导入脚本。如果人们下载我的包,是否有一种与操作系统无关的方法来验证 NOAA 网站的 SSL 证书?

在我看来,如果没有verify=False. 这是我组织的机器的问题吗?

仅供参考:亚马逊、谷歌等 https 网站运行良好。

0 投票
0 回答
108 浏览

python - 为什么两个 virtualenvs 中只有一个命中“OpenSSL.SSL.Error: 'PEM routines', 'PEM_read_bio',... 'SSL_CTX_use_PrivateKey_file'...”?

在更新 virtualenv 的过程中,我似乎在 ssl 库或其他东西中弄出了问题。以前在两个 virtualenv 中的任何一个中工作的代码现在只能在一个中工作;在我更改的代码中,下面显示的代码会生成后续错误。

我没有看到看起来相关或与我在许多类似问题案例中发现的 virtualenvs 之间存在任何明显差异。任何人都可以提出任何其他调查路线,或者有什么明显的跳出吗?

在这两个环境中,我们都有

这是 SSL 错误的高级调用requests.get()和要点。再往下,我pip freeze在两个环境中包含一个差异。

产生错误:

requests.get()这是每个环境中通过参数发送到的证书(来自证书)cert=self._requests_ca_bundle;差异是空的。

pip freeze这是两个 virtualenvs中输出的差异。

0 投票
1 回答
21052 浏览

python - 如何更新证书的根证书?

我正在使用 certifi python 模块来验证 ssl 连接。我查看了 certifi (python2.7/site-packages/certifi/cacert.pem) 中包含的根证书,其中一些证书已过期。如何更新这些证书?我尝试使用 pip 更新 certifi 包,但这只更新包而不是根 CA 文件。

0 投票
1 回答
1202 浏览

python - 带有证书的请求会收到 CERTIFICATE_VERIFY_FAILED

我在请求和证书方面遇到了一些奇怪的行为,并且不完全确定它们是否/如何与我的系统的 CA 捆绑包进行交互,以及它们应该如何交互。

本地(ubuntu 16.04),在 virtualenv 中

当我使用 requests==2.18.4 和 certifi==2018.1.18 在本地运行一个简单请求时,一切正常

但是,在安装了相同库的不同远程服务器上(本地安装了公认的过时证书),我的请求行为完全不同:

远程服务器(centos 6.6)

当我运行时发生同样的错误:

我的(也许是不正确的)假设是这是由于远程系统的过时 openssl 库造成的。如果是这样的话,这让我感到惊讶,因为我认为请求使用的是 certifi CA 证书捆绑包,这是两个系统上的最新版本。

换句话说,如果我使用 python certifi 库,为什么我在系统上安装的 OpenSSL 版本很重要(如果重要的话)。在 python 3.4.3 中?

笔记

1) 由于我的组织处理包管理的方式,升级我系统的 cert 数据库有点挑战性,而且我的印象是我们使用 certifi 库无论如何都不需要这样做。

2) 我知道我可以禁用 SSL 验证,或者甚至可以通过 verify=___ 调用 requests.get 并使用指向有效证书文件的路径。但是,我在本地使用的第三方库中没有此控件,它们遇到相同的错误。我更喜欢在没有添加参数的情况下运行vanilla requests.get(" https://google.com ") 命令。

0 投票
1 回答
212 浏览

python - 在 ubuntu 18 中哪里可以找到 certifi 文件夹

我刚刚安装了一台新的 Ubuntu 18 机器。我将 python 3.6 和 openssl 1.1.0g 用于程序。我安装certifi了使用 python 在 openssl 中进行证书验证所必需的包名称(我之前遇到过 python 无法验证服务器 TLS 证书的问题,直到我下载了这个包并为我的内部服务器粘贴了一个自签名证书)。

我使用这个命令来安装它:

我需要在其中粘贴一个文件以获得内部服务器的受信任证书。在我以前的机器(ubuntu 16.04)中,我将自签名证书粘贴到里面:现在,即使我安装了软件包/usr/local/lib/python3.6/dist-packages/certifi/ ,我也找不到目录。certifi我在哪里/如何找到它并做与 ubuntu 16.04 一样的事情?

0 投票
0 回答
175 浏览

python - 导入 TensorFlow 时权限被拒绝

在 Windows Server 2016 上,在 a 之后conda update,我无法再在 Python 中导入 Tensorflow。我已经尝试重新安装它并将其升级到最新版本,但Permission Denied错误仍然存​​在。我该如何解决这个问题?

0 投票
0 回答
1159 浏览

python-3.x - SSL 证书验证失败,Install Certificates.command 上的权限错误

我正在尝试运行

下载数据集。我收到一个 SSL 证书验证失败错误,这个问题在这个问题中得到了解决:ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) by running

这给了我一个错误:

我尝试更改命令代码,但它被写保护,所以我想我不应该弄乱它。所以我跑了

它更新了,但是当我再次尝试下载安然数据时,我仍然收到相同的消息。似乎该命令被旧版本的 certifi 赶上了。出于某种原因,我在这台计算机上安装了 Python 2.7 和 3.6,所以我跑了pip3,因为有时它可以工作,但仍然遇到同样的错误。

0 投票
2 回答
377 浏览

python - 我导入维基百科,我收到错误... AttributeError: module 'certifi' has no attribute 'where'

我输入一个python 3 jupyter笔记本......

我收到一个很长的错误,其结尾显示...

0 投票
1 回答
217 浏览

python - azureml-sdk 忽略 REQUESTS_CA_BUNDLE 环境变量

我在azureml-sdk公司代理后面使用,因此被迫手动将代理的证书添加到受信任的主机列表中。通过手动将服务器证书附加到cert_ca.pem包证书的“”文件中,它可以正常工作。

正如文档中提到的python-requests,这也应该可以通过将环境变量“ REQUESTS_CA_BUNDLE”设置为特定文件来实现。但是,环境变量似乎被azureml-sdk. 这是正确的行为吗?或者如何指定自己的“ pem”文件?