0

我编写的应用程序需要向 HTTP 服务器发送非常机密的数据。由于这些数据的机密性,我需要尽可能地保护连接。我决定通过 HTTP POST 使用 SSL。我的问题是我在 SSL 保护方面真的是新手,我对在 Android 上创建 SSL 应用程序的过程有些怀疑。谁能告诉我我是否做得很好?

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

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

  2. 我按照本教程创建 .bks 密钥库 然后我使用相同的教程阅读了这个密钥库,然后我可以连接到服务器。然后服务器可以使用 .key 文件验证我的身份,对吗?

这就是在我的应用程序和 HTTP 服务器之间创建安全连接所需的全部内容吗?这会正常工作和安全吗?

4

1 回答 1

1
  1. 错误的。您需要生成一个密钥对:将私钥保密,将公钥交给您的伴侣

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

然而,教程中关于 Apache 更快的说法是 A 级的废话。它和 HttpsURLConnection 类都在后台使用 JSSE,后者在后台使用 java.net.Socket,其速度首先是网络绑定的。要是能快点就真的很神奇了。或者更慢。使用它可能还有其他原因(我从来没有),但这不是其中之一。恕我直言,更快的是设置几个系统属性并使用内置的东西,而不是编写几码代码。

于 2012-08-09T22:40:09.167 回答