And*_*ris 11 openssl cryptography node.js node-crypto
有没有一种很好的方法来使用公钥验证Node.JS(v0.4 +)中的签名?
当前的加密模块允许使用证书但不允许使用公钥.例如:
var crypto = require("crypto");
verifier = crypto.createVerifier("sha1");
verifier.update("signed data");
verifier.verify(CERT, signature);
Run Code Online (Sandbox Code Playgroud)
变量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", ...)
Run Code Online (Sandbox Code Playgroud)
但是每次我需要验证签名时创建(和删除)文件似乎是完全浪费.
任何好的想法如何做得更好?
更新2011-08-03
Node.js v0.5中的加密模块允许使用证书和公钥 (RSA或X.509)进行验证
为什么不直接将公钥放入自签名证书中呢?那么节点的加密模块将很好地为您工作。
http://www.akadia.com/services/ssh_test_certificate.html
我认为这样做比分叉 openssl 子进程要高效得多。
| 归档时间: |
|
| 查看次数: |
6784 次 |
| 最近记录: |