没有密码的查尔斯自定义 CA 证书
Posted
技术标签:
【中文标题】没有密码的查尔斯自定义 CA 证书【英文标题】:Custom CA Certificate in Charles without a password 【发布时间】:2011-08-20 06:57:33 【问题描述】:我正在使用出色的 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 钥匙串中。虽然查尔斯中的$NAME.pfx
可以工作并且如果我输入密码就可以正确使用,但如果没有密码,它就不起作用。
我的问题是如何生成在 Charles 中有效且不需要密码的证书。
【问题讨论】:
找到了一些可能解释它的更多信息:rt.openssl.org/Ticket/… - 仍然不确定我该如何解决它。或许可以用keytool
代替?
【参考方案1】:
我写了一篇关于如何在 Charles 中使用自定义 SSL 证书的博客,在最后一节中,我解决了每次 Charles 启动时都必须输入密码的问题。
http://codeblog.shape.dk/blog/2014/01/06/custom-ssl-certificate-with-charles-web-proxy/
【讨论】:
很好 - 没有尝试过,但似乎是一个很好的解决方法!【参考方案2】:自从 Charles 3.10 发布以来,这不再是一个问题,因为每个安装都会生成自己的证书。因此,即使您信任 Charles 生成的证书,您也不会受到其他 Charles 用户的 MIM 攻击。
Per version 3.10 release notes:
3.10 版 2015 年 3 月 21 日
主要的新功能、改进和错误修复。
SSL 更改
SSL证书根证书更改生成唯一 每次安装 Charles 的证书(请参阅 SSL 代理 帮助菜单)SSL 代理现在在 代理菜单 请注意,这些更改将影响您的方式 目前使用 Charles 进行 SSL 代理。您将需要安装和 信任一个新证书,该证书将自动生成 你。您可以使用 SSL 代理下的帮助菜单中的选项。您还可以导出 证书,发送到其他系统,或浏览下载 安装在 iPhone 等移动设备上的证书。
【讨论】:
以上是关于没有密码的查尔斯自定义 CA 证书的主要内容,如果未能解决你的问题,请参考以下文章
如何将自定义 CA Root 证书添加到 Windows 中 pip 使用的 CA Store?
如何在我的 iOS 模拟器上自动安装自定义 CA 根证书以进行测试?