Ssl 如何避免';tlsv1警报未知ca';libmproxy中的错误?
当前使用,后者反过来使用,向HTTPS网页发出请求。但是,出现以下错误:Ssl 如何避免';tlsv1警报未知ca';libmproxy中的错误?,ssl,tcp,certificate,telnetlib,libmproxy,Ssl,Tcp,Certificate,Telnetlib,Libmproxy,当前使用,后者反过来使用,向HTTPS网页发出请求。但是,出现以下错误: Error: [('SSL routines', 'SSL3_READ_BYTES', 'tlsv1 alert unknown ca')] 我认为这与无法验证为页面使用的证书提供凭证的CA的身份有关。我认为应该有一个设置,我可以打开(或关闭)来绕过验证-我对验证数字签名者的身份不感兴趣 我认为一种可能的、丑陋的解决方案可能是修补代码以捕获异常并忽略它,但我更希望有一种更干净、更受支持的方法来实现它 避免/解决此问题的好
Error: [('SSL routines', 'SSL3_READ_BYTES', 'tlsv1 alert unknown ca')]
我认为这与无法验证为页面使用的证书提供凭证的CA的身份有关。我认为应该有一个设置,我可以打开(或关闭)来绕过验证-我对验证数字签名者的身份不感兴趣
我认为一种可能的、丑陋的解决方案可能是修补代码以捕获异常并忽略它,但我更希望有一种更干净、更受支持的方法来实现它
避免/解决此问题的好方法是什么
非常感谢 当提供给用户的proxySG证书未经可信CA签名时,会发生这种情况
我也有这个错误,我通过组策略将CA(用于ssl代理的CA)推送到实际的浏览器来修复它。如果您有Windows客户端,您似乎可以使用certutil 对于Linux客户端,您可以使用:
sudo mkdir /etc/share/certificates/extra && cp cacert.crt /user/share/certficates/extra/cacert.crt
sudo dpkg-reconfigure ca-certificates
对于Mac客户端:
sudo security add-trusted-cert -d -r trustRoot -k \
"/Library/Keychains/System.keychain" \
"/private/tmp/certs/certname.cer"
(这个答案来自)
此外,阅读libmproxy的网页,它似乎能够加载自定义证书。如果您已经拥有客户信任的内部证书颁发机构,您可能只想从那里生成证书。您是否知道绕过验证会使连接容易受到潜在的MITM攻击?是的。这是一个固有的不安全环境,进入潜在的不安全状态是“可以的”。不过,感谢大家的提醒:)我试图深入研究这个问题,但这并不是一个真正的“python”问题——答案将是特定于底层库的。看起来libmproxy使用的是netlib,netlib使用的是openssl库,所以我必须先看看openssl库,找出如何在那里关闭验证,然后看看netlib是否有办法激活它,然后看看libmproxy是否有激活的方法,让netlib执行使openssl无法验证证书的操作。我尝试了以下示例:并成功加载了一个没有可信CA的网站。你可以发布一些关于如何使用lib的代码吗?还是导致问题的示例链接?你有客户端ca文件吗?你看过配置选项了吗?也许可以尝试设置no\u上游\u cert=True?默认设置:Config(certfile=None,cacert=None,clientcerts=None,no\u上游\u证书=False,body\u size\u limit=None,reverse\u proxy=None,forward\u proxy=None,transparent\u proxy=None,authenticator=None)听起来可能值得研究。你能详细说明一下怎么做以及这些术语的含义吗?