ssl 请求:认证和验证之间有什么区别?

cvxl0en2  于 2022-11-24  发布在  其他
关注(0)|答案(2)|浏览(155)

认证和验证之间有什么区别?
来自文档:
verify-(可选)如果为True,则将验证SSL证书。还可以提供CA_BUNDLE路径。cert-(可选)如果为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文件,但我想我仍然必须将它与我的代码捆绑在一起。
在我的代码中,我应该修改... verify还是cert?...使用cacert.pem的路径还是只使用"cacert.pem"?

7cwmlq89

7cwmlq891#

我认为文件中已明确说明:SSL证书验证
cert选项用于发送您自己的证书,例如使用客户端证书向服务器验证您自己。它需要一个证书文件,如果密钥与证书不在同一个文件中,还需要密钥文件。
选项verify用于启用(默认)或禁用服务器证书的验证。它可以使用True或False或包含可信CA的文件名。如果没有给出(没有记录?),它将使用OpenSSL中的默认CA路径/文件,OpenSSL通常在UNIX(OS X除外)上工作,而在Windows上不工作。

jdzmm42g

jdzmm42g2#

如果*.pem文件包含此部分

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

然后使用cert
如果不是,则使用verify

相关问题