2014-12-04 60 views
4

我使用查尔斯来检查发送的数据是否将我的应用投掷到HTTPS。我在手机上安装了Charles CA证书,因此,我可以解密每个SSL流量。Android:防止嗅探(例如与CharlesProxy)的SSL流量

但我发现应用程序,我无法看到SSL流量。我如何在自己的应用中实现这种行为?有了这个,没有人在中间进攻是可能的。

+0

通过正确验证您连接到的服务器:http://tersesystems.com/2014/03/23/fixing-hostname-verification/ – zapl 2014-12-04 09:07:10

回答

3

...我在手机上安装了Charles CA证书,因此我可以解密每一个SSL流量。

但我发现应用程序,我无法看到SSL流量。我如何在自己的应用中实现这种行为?有了这个,没有人在中间进攻是可能的。

这可以通过证书/公钥固定来完成,在这种情况下,您不会根据本地根证书检查服务器证书,而是确保只获得预期的证书。有关详细信息和代码示例,请参阅OWASP

1

证书固定是你所追求的,但请注意,这样做并非没有缺点和复杂性。证书锁定为您的系统增添了一层复杂性,这意味着在部署日更多的工作以及可能出错的一件事。

证书锁定带来的一个经典错误是,后端团队在更新时会更新/更改/调整服务器证书,并忘记客户端正在使用证书锁定,这基本上会使您的整个系统停下来。

大男孩们使用它的原因是为了伪装他们的api,因此黑客/黑客难以在他们的后端发出不请自来的电话。