关于Android上的SSL几乎没有问题

时间:2012-08-09 16:56:23

标签: android ssl

我编写的应用程序需要将非常机密的数据发送到HTTP服务器。由于这些数据的机密性,我需要尽可能多地保护连接。我决定通过HTTP POST使用SSL。我的问题是我在SSL保护方面真的很陌生,我对在Android上创建SSL应用程序的过程有一些疑问。任何人都可以告诉我,我做得好吗?

要创建我的应用程序,我执行以下步骤:

  1. 我使用OpenSSL生成SSL密钥和证书并遵循此tutorial 我需要给编写HTTP服务器的队友提供.key文件,以便他可以配置apache并使用这个.key文件来验证发件人的身份吗?

  2. 我在此tutorial之后创建.bks密钥库 然后我使用相同的教程读取此密钥库,然后我可以连接到服务器。然后服务器可以使用.key文件验证我的身份吗?

  3. 这就是我在应用程序和HTTP服务器之间建立安全连接所需的全部内容吗?这样做是否正常且安全?

1 个答案:

答案 0 :(得分:1)

  1. 错误。您需要生成一个密钥对:保持私钥私密,为您的配偶提供 public 密钥。

  2. 您似乎没有阅读过您引用的教程。它正确地说,你可以使用keytool完成整个过程。根本不需要将OpenSSL引入其中。

  3. 然而,教程中关于Apache事情更快的说法是A级废话。它和HttpsURLConnection类都使用引擎盖下的JSSE,它使用引擎盖下的java.net.Socket,它的速度首先是网络绑定的。如果它更快,那将是真正的奇迹。或者更慢。使用它可能有其他原因(我从来没有),但这不是其中之一。恕我直言,更快的是设置几个系统属性并使用内置的东西,而不是写几码的代码。