2017年12月12日星期二

GoAgent的HTTPS证书问题

问题症状:
Chrome更新到58+版本之后,GoAgent就不能用了,在访问https网站时一直提示 “不是私密链接”,从而不能访问;
而之前直接删除goagent下面的certs文件夹以及ca.crt文件重新运行后倒入新的ca.crt文件到系统的方法依然不能使用


解决方案:
       经过查找,发现是由于新版本的chrome增强了安全性,因此GoAgent伪造的用于翻墙给所有网站签名的证书
不被信任,导致一直不能使用(其实GoAgent的翻墙原理是基于"中间人攻击"的)

1.删除已导入的证书文件(windows下运行certmgr.msc和certlm.msc,然后删除goagent证书;mac下在钥匙串中删
除证书)
2.停止运行GoAgent(如果正在运行)
3.删除GoAgent根目录下的certs文件夹以及ca.crt证书文件
4.去掉GoAgent根目录proxylib.py 中第275行
#cert.add_extensions([OpenSSL.crypto.X509Extension(b'subjectAltName',True, ', '
.join('DNS: %s' % x for x in sans))])一行的#号注释,
见https://github.com/out0fmemory/GoAgent-Always-Available/blob/master/local/proxylib.py#L275
5.重新运行GoAgent,将会产生新的ca.crt证书
6.导入新生成的ca.crt证书,一般双击就可以了
7.刷新浏览器,此时应该可以使用了。

没有评论:

发表评论