【发布时间】:2011-07-06 22:03:18
【问题描述】:
我正在尝试为我创建的 RESTful Web 服务构建用户登录/身份验证客户端。 但是,在尝试使用身份验证 API 的可用 JAX-RS 设置身份验证时,我遇到了一些麻烦并决定改变方法。现在,我真正想做的是: 该网页向一个 uri(用户/登录名)发送一个 ajax POST 请求,其中包含他的电子邮件和由“:”符号分隔的密码。然后,该消息正文将在客户端使用一些 JavaScript 库使用 RSA 算法进行加密,并在服务器端解密。
问题是:我使用 Java 生成 PublicKey,它们存储为 base64 字符串,使用 X509 填充编码。
如何仅使用 JavaScript 解码这个表示公钥的编码字符串,并实际使用它来加密某些文本?
提前致谢!
【问题讨论】:
-
为什么要在客户端加密?在 JavaScript 中?为什么不使用 SSL?
-
如果您的加密是客户端,如果我可以 MITM 并使用您的客户端源对其进行解码,那么加密它的意义何在?使用 SSL 会更好。
-
我使用公钥对其进行加密,并使用存储在服务器中的私钥以安全的方式对其进行解密。正如我第一次看到的那样,MITM 攻击虽然会发生,因为几乎不可能知道给定 PublicKey 的 PrivateKey。
标签: javascript rsa