Android防止SSL的中间人攻击

时间:2013-04-06 10:40:03

标签: android ssl https man-in-the-middle

我在Android应用中使用HTTPS与我自己的API进行通信。 当我打包嗅闻时,我看不到任何好的信息。 但是,当我使用像Fiddler2这样的软件在我的Android上安装可信证书时,我可以看到我所有的HTTPS通话都是危险的。

问题是如此接近这个人,但在Android而不是iPhone: hiding iOS HTTPS calls from fiddler

我正在使用loopj库来进行我的https调用:Android Asynchronous Http Client http://loopj.com/android-async-http/

我该如何处理这样的漏洞? (我知道如何在概念上处理它,但我需要示例代码)

1 个答案:

答案 0 :(得分:11)

当用户选择将Fiddler2的证书安装为受信任的根证书时,他就会选择妥协他自己的安全性。我不确定您能做些什么,因为您的应用程序的HTTPS连接将通过Android的证书验证系统,该系统会认为连接是有效的,因为证书是可信的。

我想要的解决方案是将SSL证书嵌入到您的应用程序中,并告诉您的应用程序它是唯一受信任的证书。它是安全且免费的,因为您可以附加自己创建的自签名证书,因为您可以控制验证机制。有关代码示例,请参阅this blog article