请求:cert 和 verify 之间有什么区别?

Jas*_*lam 6 python ssl ssl-certificate pyinstaller python-requests

证书和验证有什么区别?

\n\n

来自文档:

\n\n

verify \xe2\x80\x93 (可选)如果为 True,则将验证 SSL 证书。还可以提供 CA_BUNDLE 路径。\ncert \xe2\x80\x93 (可选)如果是字符串,则为 ssl 客户端证书文件 (.pem) 的路径。如果是元组,则 (\xe2\x80\x98cert\xe2\x80\x99, \xe2\x80\x98key\xe2\x80\x99) 对。

\n\n

这是否意味着我可以执行以下操作:

\n\n
CA_BUNDLE='path/to/.pem'\nrequests.get(url=google.com, verify= CA_BUNDLE)\n
Run Code Online (Sandbox Code Playgroud)\n\n

或者

\n\n
Cert='path/to/.pem'\nrequests.get(url=google.com, cert=Cert)\n
Run Code Online (Sandbox Code Playgroud)\n\n

他们看起来都在做同样的事情。except verify 可以禁用 ssl 验证。

\n\n

我正在尝试使用 PYinstaller 将我的代码编译为 exe。我正在使用 certifi 模块,我看到它已经有一个 cacert.pem 文件,但我想我仍然需要将它与我的代码捆绑在一起。

\n\n

在我的代码中,我是否修改...验证或证书?...使用 cacert.pem 的路径或只是“cacert.pem”?

\n

Ste*_*ich 5

我认为文档中已经明确说明:SSL Cert Verification

该选项cert是向您发送自己的证书,例如使用客户端证书对服务器进行身份验证。它需要一个证书文件,如果密钥与证书不在同一个文件中,则还需要密钥文件。

该选项verify用于启用(默认)或禁用服务器证书的验证。它可以采用 True 或 False 或包含受信任 CA 的文件名。如果没有给出,我认为(没有记录?)它将采用来自 OpenSSL 的默认 CA 路径/文件,它通常在 UNIX 上工作(除了 OS X),而不是在 Windows 上。