首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于Java生成密钥的JavaScript加密

基于Java生成密钥的JavaScript加密
EN

Stack Overflow用户
提问于 2012-06-26 19:19:32
回答 1查看 1.1K关注 0票数 0

我正在尝试实现Java和JavaScript之间的加密解决方案。

在Java端,我有以下静态代码块:

代码语言:javascript
复制
public class Manager {

  public static KeyPairGenerator keyPairGenerator;
  public static KeyPair keyPair;

  static{       
      try {
        keyPairGenerator = KeyPairGenerator.getInstance("RSA");
        keyPairGenerator.initialize(1024);
        keyPair = keyPairGenerator.genKeyPair();
      } catch (NoSuchAlgorithmException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      }
  }
  ...
}

这基本上是在我的服务器启动并运行后生成一个新的KeyPair ...

然后我以JSON格式给出公钥:

代码语言:javascript
复制
<%
JSONObject json = new JSONObject();
json.put("publicKey", "-----BEGIN PUBLIC KEY-----" + Base64.encodeBase64URLSafeString(Manager.keyPair.getPublic().getEncoded()) + "-----END PUBLIC KEY-----");
%>

我想使用这个密钥( 1024或2048位)来编码来自客户端表单的信息……有人知道如何使用RSA1024位base64编码的公钥对信息进行编码吗?

我尝试了jCryption和其他几个库,但都没有用。

EN

回答 1

Stack Overflow用户

发布于 2012-06-29 08:23:52

如果你不将你的公钥作为证书发送,你最好单独发送模数和公共指数(例如,在单独的字段中编码的64进制)。默认编码将产生X509 SubjectPublicKeyInfo ASN.1结构,您需要在JavaScript库中解析该结构。

请注意,您仅保护防止窃听者;中间人攻击仍然可行,因为它们可以用自己的公钥替换您的公钥。RSA 1024现在当然已经过时了。幸运的是,您仍然有TLS/SSL来保护您。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11206202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档