gpt4 book ai didi

node.js - 使用公钥验证 Node.JS 加密中的签名

转载 作者:IT老高 更新时间:2023-10-28 23:17:38 24 4
gpt4 key购买 nike

有没有一种使用公钥验证 Node.JS (v0.4+) 中签名的好方法?

当前的加密模块允许使用证书但不允许使用公钥。例如:

var crypto = require("crypto");

verifier = crypto.createVerifier("sha1");
verifier.update("signed data");
verifier.verify(CERT, signature);

变量 CERT 需要签名证书(我猜公钥是从中提取的),但我只有公钥而不是证书。

实现这一点的唯一可靠方法似乎是将数据、公钥和签名的内容转储到文件中并执行 openssl dgst

fs.writeFileSync("public.key", pubkey);
fs.writeFileSync("sig.sha1", signature);
fs.writeFileSync("data.txt", data);
exec("openssl dgst -sha1 -verify public.key -signature sig.sha1 data.txt", ...)

但是每次我需要验证签名时创建(和删除)文件似乎完全是浪费。

有什么好的想法可以做得更好吗?

更新 2011-08-03

Node.js v0.5 中的加密模块允许验证 both with certificates and public keys (RSA 或 X.509)

最佳答案

您为什么不直接将您的公钥放入自签名证书中呢?然后 Node 的加密模块将为您正常工作。

http://www.akadia.com/services/ssh_test_certificate.html

我认为这样做会比 fork 一个 openssl 子进程更有效。

关于node.js - 使用公钥验证 Node.JS 加密中的签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6217388/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com