Charles没有密码的自定义CA证书

时间:2011-08-20 06:57:33

标签: debugging charles-proxy

我正在使用优秀的Charles代理来简化Web调试。我正在使用它的SSL代理功能,并安装了捆绑的generic CA Certificate。虽然这有效,但它不安全,因为只要我的浏览器信任此证书,我就容易受到MIM攻击。

我正在尝试使用OpenSSL创建“自定义CA证书”,因为Charles允许修复此问题。这些是我正在遵循的步骤:

NAME=daaku-ca
openssl genrsa -out $NAME.key 1024
openssl req -new -key $NAME.key -out $NAME.csr
openssl x509 -days 3650 -signkey $NAME.key -in $NAME.csr -req -out $NAME.crt
openssl pkcs12 -export -out $NAME.pfx -inkey $NAME.key -in $NAME.crt

按照这些步骤,我最终得到了一个自签名根证书 $NAME.crt,我已成功导入到我的Mac OS X钥匙串中。虽然Charles中的$NAME.pfx可以正常使用,如果我输入密码,但如果没有密码则无法正常使用。

我的问题是如何生成在Charles中运行且不需要密码的证书。

2 个答案:

答案 0 :(得分:5)

我在博客中介绍了如何在Charles上使用自定义SSL证书,在上一节中我解决了每次Charles启动时都必须输入密码的问题。

http://codeblog.shape.dk/blog/2014/01/06/custom-ssl-certificate-with-charles-web-proxy/

答案 1 :(得分:2)

自Charles 3.10问世以来,这不再是一个问题,因为每个安装都会生成自己的证书。因此,即使您信任Charles生成的证书,您也不会受到其他Charles用户的MIM攻击。

Per version 3.10 release notes:

  

版本3.10 2015年3月21日

     

主要新功能,改进和错误修复。

     

SSL更改

     

SSL证书根证书更改生成唯一   每次安装Charles的证书(参见SSL中的SSL代理)   帮助菜单)SSL代理现在有自己的设置菜单项   代理菜单请注意,这些更改会影响您的方式   目前使用Charles进行SSL代理。你需要安装和   信任一个新证书,该证书将自动生成   您。您可以使用以下命令在计算机上安装该证书   SSL代理下的“帮助”菜单中的选项。你也可以导出   证书,发送到其他系统,或浏览下载   要在iPhone等移动设备上安装的证书。