2012-08-09 76 views
0

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

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

  1. 我生成SSL密钥和证书使用OpenSSL并且在这之后tutorial 我需要给.key文件到我的队友谁写的HTTP服务器,以便他可以配置Apache并使用.key文件来验证发件人的身份是否正确?

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

这就是我需要在我的应用程序和HTTP服务器之间创建安全连接的所有东西吗?这样做是否会正常工作和安全?

回答

1
  1. 错了。您需要生成一个密钥对:保持私钥私密,给你的伴侣公众密钥。

  2. 你似乎没有读过你引用的教程。它正确地说,你可以用keytool完成整个过程。没有必要将OpenSSL加入其中。

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

+1

我猜测OP的朋友正在和他一起在这个项目上工作,所以在这种情况下他*会*需要私钥放到服务器上。 – you786 2012-08-09 22:43:03

+0

@ you786当然不是。他可能需要将他的*证书,*包含他的* public *密钥,输出到服务器,所以它会接受它,但他的私钥不应该离开他的手。否则它不是私人的,无辜的? – EJP 2012-08-10 10:16:01