android - 将受信任的 SSL 证书添加到为 API 8 设计的应用程序

标签 android ssl ssl-certificate android-2.2-froyo

我想在我的 Android 应用程序和托管我的 Web 服务的服务器之间使用 SSL 连接。

我想使用自签名证书,然后使用 SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER

但是这样会存在中间人攻击的漏洞,所以我决定使用受信任的证书。

我打算购买证书,但我想知道哪些 CA 最受信任以及如何生成 BKS

我检查了这个linkthis 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/

相关文章:

ssl - Nginx 反向代理到 Heroku 的 SSL 握手失败

.htaccess - 使用和不使用 SSL 将 www 添加到 URL

java - Spring Boot SSL 和 keystore 证书安装

android - 如何使用 intent-filter 捕获仅限于特定 URL 的 Android 共享 Intent ?

android - Android Studio中的拖放功能不起作用

java - Cordova 应用程序 - 在 Android 中使用铃声音量而不是媒体

azure - 在 Azure 中,大多数情况下通过 SSL 的 HTTPWebRequest 失败 - 底层连接已关闭

authentication - SSL 握手中的客户端证书身份验证

java - 难以将 SSL 证书安装到 Tomcat 中

android - 调用 setSelection() 后,ListView 不再对 onclick 使用react