证书和验证之间有什么区别?
来自文档:
验证 - (可选)如果为True,将验证SSL证书。还可以提供CA_BUNDLE路径。 cert - (可选)if String,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)
他们看起来都像做同样的事情。除了验证可以禁用ssl验证。
我正在尝试使用PYinstaller将代码编译为exe。我正在使用certifi模块,我看到已经有一个cacert.pem文件,但我想我仍然需要将它与我的代码捆绑在一起。
在我的代码中,我是修改...验证还是证书?...带有cacert.pem的路径或只是'cacert.pem'?
答案 0 :(得分:1)
我认为文档中明确说明了这一点:http://www.python-requests.org/en/latest/user/advanced/#ssl-cert-verification
选项cert
是向您发送自己的证书,例如使用客户端证书对服务器进行身份验证。它需要一个证书文件,如果密钥与证书不在同一个文件中,那么密钥文件也是如此。
选项verify
用于启用(默认)或禁用服务器证书的验证。它可以采用True或False或包含受信任CA的文件名。如果没有给出我认为(没有记录?)它将采用OpenSSL的默认CA路径/文件,它通常在UNIX上运行(OS X除外),而不是在Windows上运行。