wuchangming / node-mitmproxy

node-mitmproxy is an extensible man-in-the-middle(MITM) proxy server for HTTP/HTTPS base on Node.js.
MIT License
280 stars 62 forks source link

windows下无法使用 #3

Open andythink opened 8 years ago

andythink commented 8 years ago

安装的是0.1.0 版本 启动后,浏览器代理设置到127.0.0.1:6789,不能使用

  1. chrome中提示无效的证书
  2. 打不开cnodejs.org
wuchangming commented 8 years ago

是否安装了根证书? 第一步:生成ca根证书

node-mitmproxy createCA

第二步,安装ca根证书:

Mac
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ~/node-mitmproxy/node-mitmproxy.ca.crt
windows
start %HOMEPATH%/node-mitmproxy/node-mitmproxy.ca.crt
andythink commented 8 years ago

start %HOMEPATH%/node-mitmproxy/node-mitmproxy.ca.crt,证书导入了,还是不行

wuchangming commented 8 years ago

需要把证书安装到受信任的根证书目录

图示: 1、
1 pic

2、 2 pic

andythink commented 8 years ago

可以了,但是有个问题,能不能不用手动导入证书,用一个权威机构颁发的代替node-mitmproxy.ca.crt,如果能实现这样感觉意义比较大

wuchangming commented 8 years ago

证书链这么设计其实是为了保证https的安全。CA证书的安装是需要的,如果可以随意生成权威机构颁发的证书让浏览器信任,证书链的安全保证就没有了。 阮一峰有篇博客讲的比较好,可以参考 《数字签名是什么?》

现在的安装ca根证书过程确实比较麻烦,我研究下有没更好的方式。你有好的建议也可以提议,期待你的Pull Request