TL; DR - 我需要使用的课程让我的服务器保持安全,防止我的客户端保持安全 - 我找不到快乐的余额。
我在Android设备上使用HttpsUrlConnection
,人类无法轻易获取这些设备。它们运行很长一段时间而不需要重新启动 - 足够长,以至于有时它们需要稍微适应不断变化的服务器。在这种情况下,安全漏洞会在野外出现,服务器会重新配置以拒绝易受攻击的协议。
据我所知,android设备以某种方式缓存连接,这意味着一旦它决定了服务器的协议,它就会坚持使用它,即使服务器开始拒绝连接。我希望它再次通过握手,获得一个新的协议,并继续工作。
我认为我可以看到如何使用自定义套接字工厂来做到这一点。
但是,我也知道设备上SSL
实现中出现的安全漏洞。我可以使用ProviderInstaller
来解决这些问题,它会使用Google Play商店更新需要更新的内容。暂时忽略当我这样做时我必须处理的对话,我也发出了这个小小的警告:
警告:更新设备的安全提供程序不会更新android.net.SSLCertificateSocketFactory。我们鼓励应用程序开发人员使用高级方法与加密技术进行交互,而不是使用此类。大多数应用程序可以使用HttpsURLConnection,HttpClient和AndroidHttpClient等API,而无需设置自定义TrustManager或创建SSLCertificateSocketFactory。
我可能会误解这一点,但我觉得我能够处理服务器更改协议以保护自己免受漏洞攻击的唯一方法是使用会导致客户端不安全的事情吗?
任何人都可以确认,澄清或提出建议吗?