Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 难以掌握如何使用私钥安全地签署JWT_Javascript_Signing_Jwt - Fatal编程技术网

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

Javascript 难以掌握如何使用私钥安全地签署JWT,javascript,signing,jwt,Javascript,Signing,Jwt,我在看哪个是指 我正在尝试使用javasrcipt对一段数据进行签名。但是,它说我必须使用RSA私钥,它不允许您使用公钥 我的目标是一旦表单通过PHP提交,调用这个javascript函数并加密数据 请原谅我的无知,但是如何在javascript中使用私有RSA密钥并同时保持其私有性呢 似乎您必须以某种方式为它提供一个私钥,而使用web浏览器中的简单开发人员工具的用户不会看到该私钥吗 function _genJWS() { var sHead = '{"alg":"RS256"}';

我在看哪个是指

我正在尝试使用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发送到服务器
据我所知,没有javascript库能够生成JWE(我可能错了,但我什么也没发现)