簡體   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