HTTPS网址未加密

时间:2016-02-24 15:44:52

标签: android ssl https retrofit charles-proxy

我正在使用 Charles代理将来自我的Android应用的所有请求提取到网络服务。

查尔斯向我展示了完整的请求,这意味着我可以看到整个网址,标题和正文,所以我可以看到 www.example.com/rest/resource/param1/param2 , 我随之发送的JSON以及身份验证标题。

在阅读了thisthis one这样的帖子后,我认为使用TLS的好处是只能从网址获取域名,在本例中为 www。 example.com

为了确保它不是客户的错,我通过改造 HttpsURLConnection 请求了网络服务资源,我可以看到整个请求两次。

我想证书也已正确安装,因为每次发出 https 请求时,它都会显示在浏览器中。我在这里遗漏了别的东西还是这是正常行为?

到目前为止,我无法找到发生这种情况的原因,所以我们将不胜感激。

1 个答案:

答案 0 :(得分:2)

要使用Charles代理进行调试,您必须在浏览器(客户端)上安装证书。

使用https,网址已加密

但是因为您选择使用该代理,您的浏览器会建立与该代理的安全连接以及该网站的代理。所以,只有1)你,2)代理3)网站可以解密https流量。

在您的浏览器上安装CA证书您允许扣留相应私钥(在您的情况下,您的代理)的人冒充(因此,使用MITM解密)网站