如何在 Charles 中使用应用程序的客户端证书?

Posted

技术标签:

【中文标题】如何在 Charles 中使用应用程序的客户端证书?【英文标题】:How to use application's client certificate with Charles? 【发布时间】:2018-02-24 05:41:39 【问题描述】:

尝试调查我的 android 上安装的应用程序的私有 API,我注意到大多数现代应用程序使用自定义客户端证书,这意味着在 Android 上安装了受信任的根证书,Charles 仍然无法监控流量,因为服务器会拒绝握手从查尔斯。我想要么我需要一个不同的工具来监控流量,要么我需要指导 Charles 使用嵌入在应用程序本身中的一些自定义证书文件。

【问题讨论】:

【参考方案1】:

您需要该证书文件(我不知道您是否以及如何从应用程序中提取它)。

您还需要知道该证书的密码(密码)。当您第一次连接到选定的主机时,Charles 会询问它。

然后只需使用最新的 Charles(在 4.2.1 版上测试)菜单 Proxy -> SSL 代理设置,标签 Client Certificates 并添加所选主机和端口的证书(PKCS#12 密钥文件)。

【讨论】:

即使您可以提取客户端证书,是否可以解密所有通信?

以上是关于如何在 Charles 中使用应用程序的客户端证书?的主要内容,如果未能解决你的问题,请参考以下文章

Charles的使用:安装证书

HTTPS 抓包原理以及 Android 端如何防止抓包

Charles原理

客户端(手机)如何拦截和修改http响应

Charles抓包工具的基本操作

Charles抓包工具的基本操作