制作RSA加密聊天应用程序android

时间:2015-01-07 16:39:00

标签: java android encryption rsa public-key-encryption

我正在开发一个用Java制作的聊天应用程序。我有一个在python中创建的服务器,使用twisted,当然,在我的Android应用程序中,我已经实现了客户端。

它运作良好,但我想让它变得安全。我正在查看RSA加密并找到此链接:http://javadigest.wordpress.com/2012/08/26/rsa-encryption-example/

问题在于,我可以制作一对密钥,一个私钥,将在服务器上解密消息,公钥将在Android应用程序中进行硬编码(或在线某处)。问题是,当服务器将消息发送回客户端时,他将如何获得它?那个人也需要加密发送,否则,没有必要这样做。我正在考虑为每个客户创建一对密钥,但是......我认为这不是最好的方法。

欢迎所有建议

1 个答案:

答案 0 :(得分:1)

解决方案通常是创建公钥基础结构(PKI)的形式,其中可以在需要时验证客户端的公钥。您可以将它们放入证书中并通过您控制的某种证书颁发机构(CA)对其进行签名。这样您就不需要存储所有证书,也可以撤销密钥泄露的客户端证书。这是(浏览器)TLS通常使用的内容,尤其是在部署了客户端身份验证的情况下。

然而,

密钥管理是一个无法在一个答案中处理的大型主题。