2

我面临的挑战是将使用 HTTP 连接的 android 应用程序转换为 HTTPS 连接而不重写代码?

在没有 root 访问权限的设备上实现上述挑战有哪些可用选项?

4

3 回答 3

2

任何依赖服务器端重定向(从 HTTP 到 HTTPS)的解决方案都容易受到 MITM 攻击(请参阅此答案)。

如果此应用程序中的地址是可配置的,只需将它们更改为使用您的 HTTPS URL。

否则,您当然可以使用服务器端重定向来稍微降低风险,但这并不能防止降级 MITM 攻击(这种情况可能会发生,在使用移动设备时可能更是如此)。

于 2012-11-20T19:38:40.027 回答
0

如果它始终连接到您控制的已知端点,您可以在目标服务器端实现一些东西来重定向,如果它是一个 Apache 服务器,可能类似于 mod_rewrite。

于 2012-11-20T17:39:08.457 回答
0

没有什么可重写的。您基本上将http://链接更改为https://,就是这样。当端点的证书是自签名的或由一些不太流行的 CA 签名时可能会出现一些问题,但是您可以轻松地将您的 HttpClient 替换为这个,将颁发者的 CA 添加到您的应用程序中,基本上只需一屏代码即可完成。

如果应用程序不是您的并且您没有代码,那么您可以尝试通过隧道通过您的接入点访问网络,这将通过 ssh 隧道或 VPN 或其他任何方式透明地重新路由数据包。

如果应用程序不是您的,但您可以拥有代码 - 恕我直言,这是最好的方法。

于 2012-11-20T19:46:26.647 回答