我想在我的 Android 应用程序和托管我的 Web 服务的服务器之间使用 SSL 连接。
我想使用自签名证书,然后使用 SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER
但是这样会存在中间人攻击的漏洞,所以我决定使用受信任的证书。
我打算购买证书,但我想知道哪些 CA 最受信任以及如何生成 BKS
我检查了这个link和 this one并选择了第一个链接中描述的解决方案,即使用充气城堡库生成它并将其作为原始资源加载到应用程序中。这是一种安全的方法吗,它是否可以安全地与使用 android 2.2 的设备一起使用?
我正在尝试了解所有这些是如何工作的,但这是我第一次使用证书。
非常感谢!
最佳答案
自签名证书本身并不容易受到中间人攻击。但是,使用 ALLOW_ALL_HOSTNAME_VERIFIER
是可行的,因此您不应该使用它。只要您正确设置您的应用程序以信任您的自签名证书,并正确验证其有效性,就真的没有安全问题。
如果您想购买证书,只需从与 Android 2.2 bundle 在一起的 CA 获得一个,您就不必处理自定义信任库和额外代码:它会正常工作,因为系统信任发行CA。
关于android - 将受信任的 SSL 证书添加到为 API 8 设计的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12805428/