5

我正在创建一个 Phonegap 应用程序,它需要允许用户登录到我们的中央身份验证服务。

我担心的是,由于手机上的文件是在本地加载的(通过 file://),因此没有像通过 HTTPS 连接那样的安全性。如果我将用户名和密码传递到我们服务器上的 HTTPS 位置,即使响应是安全的,请求也不会受到保护。

我不想使用 ChildBrowser 插件进行登录,因为似乎没有任何类型的事件冒泡会告诉我登录过程何时完成,而且并非所有平台都支持 ChildBrowser 插件。

看起来使用非对称加密使用公钥加密用户名/密码组合并使用私钥在服务器上对其进行解密似乎是合理的。不过,我似乎无法让任何 javascript RSA 库在后端与 Java 配合得很好。

对于在 Phonegap 应用程序中保护用户密码的这种情况,非对称加密看起来不错吗?有更好的解决方案吗?

如何使用 Javascript -> Java 来实现这一点?我一直在客户端使用 ohdave.com/RSA 脚本,但 Java 不想使用 ohdave 生成​​的密钥重新创建密钥。

任何帮助表示赞赏。

4

1 回答 1

4

从那以后,我了解到通过 HTTPS 请求身份验证 Web 服务将启动握手,从而允许使用 SSL 证书对凭据进行加密。

至于在手机上存储凭据,我是这样做的:

  1. 通过 SSL 在基本授权标头中使用 Base64 编码将凭据发送到登录 Web 服务。
  2. 成功的登录响应包括使用服务器上的密钥加密的凭据 AES。
  3. AES 加密凭据存储在手机上。
  4. 未来的登录是通过在摘要授权标头中通过 SSL 将加密凭据发送到登录 Web 服务来处理的。
于 2013-04-30T18:29:26.340 回答