忽略SSL证书验证有什么含义?

时间:2019-12-12 11:42:09

标签: python-3.x ssl python-requests ssl-certificate urllib3

我对Python的请求库中的SSL验证有疑问,但我认为比这更笼统。

我目前正在忽略证书验证,因为我 要连接的第三方API使用的是自签名证书。

在请求中关闭SSL验证有什么含义?在现实世界中不验证SSL证书的含义是什么?我可以保证所传输的数据是安全/加密的吗?

2 个答案:

答案 0 :(得分:1)

这是一种安全漏洞,因为任何人都可以欺骗此证书并拦截您的流量。您只需将自签名证书添加到使用API​​的计算机的受信任证书链中即可。 该如何操作取决于操作系统和特定的设置,但是快速的Google会指导您找到正确的解决方案。

答案 1 :(得分:0)

  

我可以保证传输的数据是安全/加密的吗?

数据已加密(这是TLS的机密性保证),但是由于您未对远程部分进行身份验证(如果禁用证书验证或绕过所有错误),则最好发送加密内容对于包括攻击者在内的任何人,如果您不验证远程方,TLS握手都会成功,当然包括在他身边的攻击者都会简单地阅读它。

TLS提供多种功能,其中两个主要功能是身份验证和机密性。它们是正交的(您可以拥有一个而没有另一个),但是如果没有全部,它们可能没有那么有用。

与自然思维相反,身份验证比机密性更为重要,因为如果您无法确定谁是远程方,那么通过加密发送身份验证会带来什么好处?没事。

相关问题