0

当我创建一个用户时,我将创建一个私钥和公钥。公钥是用户的令牌 ID。私钥将用于加密和解密数据。

当用户登录时,我的 Android 应用程序将调用 REST Web 服务,验证后将返回私钥和公钥。然后使用私钥,应用程序可以创建签名。

这是正确的方法吗?我只是使用 HTTP 而不是 https。

4

2 回答 2

3

这是正确的方法吗?

不。

我只是使用 HTTP 而不是 https。

为什么?我不明白为什么你不像其他人一样只使用 HTTPS。这是一个已解决的问题。

纠正您的错误陈述:

  1. 私钥仅用于解密数据,并创建数字签名。
  2. 公钥用于加密数据和验证数字签名。
  3. 公钥不能用作用户令牌,因为它是公开的。

您需要了解更多关于 PKI 的知识,而不是您目前所知道的。

于 2013-07-11T08:19:35.380 回答
2

简短的回答:不

首先,您通过未受保护的 HTTP 传输私钥。

其次,完全不清楚您想要使用公钥/私钥实现什么。从您的描述中,我了解到您想将其用于身份验证和签名。但是为什么私钥会存储在服务器上呢?

通常情况相反:客户端拥有公钥和私钥。它将公钥发送给任何想要但私钥永远不会离开设备的人!

于 2013-07-11T08:03:57.213 回答