忽略SSL证书验证的含义是什么?

问题描述 投票:0回答:2

我在Python的请求库中有一个关于SSL验证的问题,但我认为比这更笼统。

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

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

python-3.x ssl python-requests ssl-certificate urllib3
2个回答
1
投票

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


1
投票

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

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

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

与自然思维相反,身份验证比机密性更为重要,因为如果您不能保证谁是远程方,那么将其加密发送会得到什么?没事。

© www.soinside.com 2019 - 2024. All rights reserved.