繁体   English   中英

难以掌握如何使用私钥安全地签署JWT

[英]Having trouble grasping how to securely sign JWT with Private Key

我在这里看的这个例子是指JWTjavascript功能

我正在尝试使用javasrcipt签名数据。 但是,它说我必须使用私有RSA密钥,并且不允许您使用公共密钥。

我的目标是通过PHP提交表单后,调用此javascript函数并加密数据。

请原谅我的无知,但是您如何才能在JavaScript中使用私密RSA密钥并同时保持私密呢?

看来您必须以某种方式为其提供私钥,并且使用Web浏览器中的简单开发人员工具,该私钥是否对用户不可见?

function _genJWS() {
  var sHead = '{"alg":"RS256"}';
  var sPayload = '{"data":"HI","exp":1300819380}';
  var sPemPrvKey = document.form1.pemprvkey1.value;

  var jws = new KJUR.jws.JWS();
  var sResult = null;
  try {
    sResult = jws.generateJWSByP1PrvKey(sHead, sPayload, sPemPrvKey);
    document.form1.jwsgenerated1.value = sResult;
  } catch (ex) {
    alert("Error: " + ex);
  }
}

您要寻找的不是JWS(签名),而是JWE(加密)。

如果要使用JWE将安全数据发送到服务器,则必须:

  • 获取服务器的公钥
  • 使用此公钥加密您的数据并生成一个JWE
  • 将您的JWE发送到服务器。

据我所知,没有能够产生JWE的JavaScript库(我可能是错的,但是我什么也没发现)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM