如何避免 libmproxy 中的'tlsv1 alert unknown ca'错误?



当前正在使用libmproxy,后者反过来使用telnetlib,向HTTPS网页发出请求。但是,会出现以下错误:

Error: [('SSL routines', 'SSL3_READ_BYTES', 'tlsv1 alert unknown ca')]

我认为这与无法验证为页面使用的证书提供担保的CA的身份有关。我认为应该有一个我可以打开(或关闭)的设置,可以绕过验证——我对验证数字签名者的身份不感兴趣。

我认为一个可能的、有点丑陋的解决方案可能是修补代码以捕获异常并忽略它,但我宁愿有一种更干净、更受支持的方法来做这件事。

什么是避免/解决这个问题的好方法?

非常感谢!

如果您有Windows客户端,似乎可以使用certutil。

http://support.microsoft.com/kb/555252

对于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"

(从https://apple.stackexchange.com/questions/80623/import-certificates-into-system-keychain-via-the-command-line)

此外,阅读libmproxy的网页,它似乎能够加载自定义证书。如果您已经有了客户信任的内部证书颁发机构,您可能只想从那里生成证书。

当提供给用户的proxySG证书不是由受信任的CA签名时,就会发生这种情况。

我也有这个错误,我通过组策略将CA(用于ssl代理的CA)推送到实际的浏览器来修复它。

最新更新