0

我对 Javascript 和 Node.js 很陌生。我使用 Jupyter Notebook 运行了这个 [SMART HEALTH CARD][1] 的一个小节来生成密钥。我只是拿了“创建签名健康卡”部分并在笔记本上运行它。我得到 "{ keys: [] }" 。当我从 Node 运行它时,我什么也得不到(没有错误,也没有 JSON 输出)。我正在使用 MacOS Big Sur 11.6.2 & node 16.9.0 & node-jose 2.0.0

我运行的实际小节是:

var jose = require('node-jose');

const keystore = jose.JWK.createKeyStore()

let signingKey;

keystore.generate("EC", "P-256").
then(function(result) {
  // {result} is a jose.JWK.Key
  signingKey = result;
});

keystore.toJSON(true);

当我将 console.log(signingKey) 添加到 Jupyter Notebook 的生成函数中时,我得到了密钥,所以不知何故,signingKey 没有从生成函数中导出。

我已经查看了所有问题和 Node-Jose 文档,但无法弄清楚。这个无知的人错过了什么?

4

1 回答 1

0

签名密钥是生成函数中的局部变量。我需要做的就是在函数中添加一个返回(签名密钥),然后我就有了我的密钥。

我确信有更好的答案,但至少我对 .then() 有所了解。

于 2022-01-23T21:22:11.473 回答