如何验证密钥对匹配?(node-forge)



我需要确保客户端生成的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中提取公钥

最新更新