【问题标题】:Requests: what is the difference between cert and verify?请求:cert 和 verify 有什么区别?
【发布时间】:2014-04-16 19:55:02
【问题描述】:

cert 和 verify 有什么区别?

来自文档:

verify –(可选)如果为 True,将验证 SSL 证书。还可以提供 CA_BUNDLE 路径。 cert –(可选)如果是字符串,则为 ssl 客户端证书文件 (.pem) 的路径。如果是 Tuple,则为 (‘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'?

【问题讨论】:

    标签: python ssl ssl-certificate python-requests pyinstaller


    【解决方案1】:

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

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

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

    【讨论】:

    • 我要打包我的 pem 文件。然后我可以执行以下哪个操作: verify=bundledfile.pem 或 verify=path/to/bundledfile.pem ?
    • 可能与打开文件的方式相同:如果需要指定绝对路径,请使用此路径,但如果相对路径足够,则无需指定绝对路径。
    猜你喜欢
    • 1970-01-01
    • 2019-07-07
    • 2019-12-06
    • 2021-06-26
    • 2020-09-16
    • 1970-01-01
    • 2018-10-08
    • 2010-09-11
    相关资源
    最近更新 更多