在最近与同事的讨论中,我们分析了让Android的默认Android系统验证从已知CA(如Verising,Comodo等)签署TLS证书的含义。关于操作系统可能受到危害的问题(可能植根于恶意软件或被黑客入侵)以及修改整个CA证书库以验证未由实际CA签名的证书。让Android中的应用程序执行HTTPs CA签名验证
对此的一个可能的建议解决方案是在应用程序本身中实现证书验证,在应用程序本身中有一个列表(理论上,考虑到应用程序开发人员知道他将使用哪些证书,该列表会更狭窄)根CA证书应用程序并让应用程序进行验证。这将允许真正的验证而不依赖于系统CA证书。
我仍然有点担心错误地实现这一点,让de app做验证有多聪明?
是的,我也结束了对此的结论。我考虑过的另一个选择是使用Android SSLSocketFactory并在那里添加已知的CA根证书(将证书嵌入应用程序的二进制文件中)。 – Larcho