SSL代理功能
Charles可作为中间人HTTPS代理,使您能够以明文形式查看浏览器与SSL网络服务器之间的通信内容。
该功能通过中间人攻击原理实现:Charles会动态生成目标服务器的证书,并使用自有的根证书(Charles CA证书)进行签名,而非直接呈现服务器的真实证书。此时浏览器接收到的是Charles伪造的证书,因此会显示安全警告提示根证书机构不受信任。若将Charles CA证书添加至受信任证书列表,警告即会消失——具体操作步骤详见下文。
需注意的是,Charles与网络服务器之间的通信仍采用SSL加密。数据在浏览器至Charles、Charles至服务器的传输过程中均保持SSL加密状态。
此功能对调试安全(SSL)网络应用至关重要。
用户可在代理首选项中启用或关闭SSL代理功能。关闭时,Charles将直接转发所有SSL流量至目标服务器。
选择SSL代理目标主机
必须明确指定需要启用SSL代理的主机名,该列表位于代理设置的SSL标签页。也可在结构视图中右键点击主机名来切换SSL代理状态。
新增主机名至SSL代理列表后,可能需要重启Charles才能使现有浏览器会话生效。
若需代理所有主机名,请在SSL代理设置的主机名列表中输入*通配符。
信任Charles的SSL证书
Charles使用自有的根证书为站点生成签名证书。由于该根证书不在系统受信任列表中,浏览器或其他应用程序接收时将显示警告。关于如何信任Charles根证书的操作指南,请参阅SSL证书章节。