繁体   English   中英

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

[英]Requests: what is the difference between cert and verify?

cert 和 verify 有什么区别?

从文档:

verify –(可选)如果为 True,将验证 SSL 证书。 还可以提供 CA_BUNDLE 路径。 cert –(可选)如果是字符串,则为 ssl 客户端证书文件 (.pem) 的路径。 如果是元组,则 ('cert', 'key') 对。

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

CA_BUNDLE='path/to/.pem'
requests.get(url=google.com, verify= CA_BUNDLE)

或者

Cert='path/to/.pem'
requests.get(url=google.com, cert=Cert)

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

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

在我的代码中,我是修改 ...verify 还是 cert?...使用 cacert.pem 的路径还是只是“cacert.pem”?

我认为它在文档中明确说明:http: //www.python-requests.org/en/latest/user/advanced/#ssl-cert-verification

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

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

如果*.pem文件有这个部分

-----BEGIN PRIVATE KEY-----
....
-----END PRIVATE KEY-----

然后使用cert


如果不是,则使用verify

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM