【问题标题】:How to secure a communication between Android App and Tomcat server?如何保护 Android App 和 Tomcat 服务器之间的通信?
【发布时间】:2013-05-24 15:29:08
【问题描述】:

我正在尝试secureTomcat server and an android app之间的通信!

我选择了simple https configuration 并按照本教程:http://www.mkyong.com/tomcat/how-to-configure-tomcat-to-support-ssl-or-https/ 了解如何配置 Tomcat 以支持 SSL 或 Https。 密钥生成成功,可以访问https。当我用它测试我的 android 应用程序时,它无法识别服务器。

经过一番研究,我了解到android仅适用于BKS密钥,并且需要一些代码来根据:How to create a BKS (BouncyCastle) format Java Keystore that contains a client certificate chainFew questions about SSL on Android完成安全性,但我仍然不明白究竟是什么要遵循的步骤!

请谁能帮我理解这个!!干杯!

【问题讨论】:

  • 你的证书是谁颁发的?
  • nobody :S 我用keytool生成了一个...但是没有权限
  • 这就是原因。除非将自签名证书安装在设备上,否则 android 将不允许您使用自签名证书进行 https 连接。
  • “它”是什么意思。我该如何安装它??
  • 自签名证书。不知道怎么安装。

标签: android security https tomcat7


【解决方案1】:

我假设您使用的是自签名证书。

有两种方法可以做到这一点。 :

  1. 在应用程序的原始资源中包含 BKS 证书,并将此 KeyStore 作为对象提供给 TrustManagerFactory。

  2. 您可以告诉 SSLSocketFactory 忽略证书并接受所有通过 SSL 的证书而不验证它们。

确切的实现实际上取决于您的网络连接实现(HTTPClient 与 HttpsURLConnection)和您的需求。你可以在 stackoverflow 的其他地方找到相关的实现。

【讨论】:

  • 我要添加一个警告,即您永远不应该接受所有 SSL 证书。这会使您的程序容易受到man-in-the-middle attacks 的攻击。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-15
  • 1970-01-01
  • 2019-11-23
  • 2017-09-11
  • 2013-06-25
  • 1970-01-01
相关资源
最近更新 更多