目前正在使用libmproxy,而telnetlib使用{{3}}来向HTTPS网页发出请求。但是,会引发以下错误:
Error: [('SSL routines', 'SSL3_READ_BYTES', 'tlsv1 alert unknown ca')]
我认为这与无法验证担保页面使用的证书的CA的身份有关。我认为应该有一个可以打开(或关闭)的设置,可以绕过验证 - 我对验证数字签名者的身份不感兴趣。
我认为一种可能的,丑陋的解决方案可能是修补代码以捕获异常并忽略它,但我宁愿采用更清晰,更受支持的方式来实现它。
避免/解决此问题的好方法是什么?
非常感谢!
答案 0 :(得分:3)
如果您有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"
此外,阅读libmproxy的网页似乎可以加载自定义证书。如果您已经拥有客户已经信任的内部证书颁发机构,那么您可能只想从那里生成证书。
答案 1 :(得分:2)
当提供给用户的proxySG证书未由可信CA签名时,会发生这种情况。
我也遇到了这个错误,我通过组策略将CA(用于ssl代理的CA)推送到实际的浏览器来修复它。