无法使用Charles Web Proxy和android连接到SSL,但仅用于测试

时间:2014-10-16 20:04:49

标签: android unit-testing ssl charles-proxy

我们昨天刚从http中将所有其余的API切换为https。因此,我目前无法从我的设备拦截Charles中的休息呼叫(我之前能够做得很好),但仅用进行单元测试。

当我运行应用程序时,我可以看到Charles中的所有api调用就好了(我在我的Android设备上配置了Charles证书)。但是,当我在Android Studio中运行单元测试时,我会在每个API调用的概述中看到以下内容:

No request was made. Possibly the SSL certificate was rejected.
You may need to configure your browser to trust the Charles CA SSL certificate. 

我正在使用Charles 3.9.2。

1 个答案:

答案 0 :(得分:0)

如何在java中使用Charles:

  1. 导出您的Charles证书' SSL Proxying->保存Charles Root证书'。将证书保存为.pem

  2. 将证书添加到JVM。修改并运行命令:

  3. keytool -import -alias charles -file <PATH_TO_CHARLES_CERTIFICATE.pem> -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit

    P.S。 keytool是JDK的一部分,通常它属于$ JAVA_HOME / Contents / Home / bin /