如何验证密钥对是否匹配? (节点伪造)
How do I verify a key pair matches? (node-forge)
我需要确保客户端生成的 RSA 密钥对在签名之前匹配。我似乎找不到有关如何执行此操作的任何文档 (npm:node-forge)。我猜我可以用它签名,然后验证签名,但效率不高。我目前有这个:
const Forge = require("node-forge");
try {
publicKey = Forge.pki.publicKeyFromPem(publicKey);
privateKey = Forge.pki.privateKeyFromPem(privateKey);
} catch(err) {
// ...
}
// ...
欢迎任何想法。
我找到了答案:我不需要首先发送 public 密钥。您可以像这样从私钥构建 public 密钥:
// const privateKey = ...;
const publicKey = Forge.pki.setRsaPublicKey(privateKey.n, privateKey.e);
可在此处找到有关此解决方案的更多信息:。
我需要确保客户端生成的 RSA 密钥对在签名之前匹配。我似乎找不到有关如何执行此操作的任何文档 (npm:node-forge)。我猜我可以用它签名,然后验证签名,但效率不高。我目前有这个:
const Forge = require("node-forge");
try {
publicKey = Forge.pki.publicKeyFromPem(publicKey);
privateKey = Forge.pki.privateKeyFromPem(privateKey);
} catch(err) {
// ...
}
// ...
欢迎任何想法。
我找到了答案:我不需要首先发送 public 密钥。您可以像这样从私钥构建 public 密钥:
// const privateKey = ...;
const publicKey = Forge.pki.setRsaPublicKey(privateKey.n, privateKey.e);
可在此处找到有关此解决方案的更多信息: