node.js - 如何验证密钥对匹配?(节点锻造)
问题描述
我需要确保客户端生成的 RSA 密钥对在签名之前匹配。我似乎找不到任何有关如何执行此操作的文档( npm:node-forge )。我猜我可以用它签名,然后验证签名,但这效率不高。我目前有这个:
const Forge = require("node-forge");
try {
publicKey = Forge.pki.publicKeyFromPem(publicKey);
privateKey = Forge.pki.privateKeyFromPem(privateKey);
} catch(err) {
// ...
}
// ...
任何想法表示赞赏。
解决方案
我找到了答案:我不需要首先发送公钥。您可以像这样从私钥构建公钥:
// const privateKey = ...;
const publicKey = Forge.pki.setRsaPublicKey(privateKey.n, privateKey.e);
可以在此处找到有关此解决方案的更多信息:仅使用 nodejs/javascript 从私钥 pem 中提取公钥。
推荐阅读
- unit-testing - scalatest 独立于单元测试运行集成测试
- javascript - 在 setTimeout 期间阻止函数执行
- excel - count values in a row based on criteria in a column excel
- python - 根据函数返回查找提供最佳组合的列组合
- ajax - 当我不在开发者模式 Symfony 2.8 时,路径出错
- git - 从 GitLab 到 GitHub 的 Git 合并分支
- windows - 无法在 Windows 10 上将模型链接到“en_core_web_md”
- python - 基数为 10 的 int() 的无效文字:“冰淇淋”错误
- solr - Delta 导入导致 Solr 响应翻倍甚至更差
- perl - Perl Redis 监听不订阅频道