node.js diffie-hellman-group1-sha1错误

时间:2012-02-24 09:29:42

标签: node.js diffie-hellman

我正在尝试为我的node.js实现SSH协议实现diffie-hellman-group1-sha1密钥交换。

我想使用内置的加密模块。我的代码:

var hellman = crypto.createDiffieHellman(
"FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD1"+
"29024E088A67CC74020BBEA63B139B22514A08798E3404DD"+
"EF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245"+
"E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED"+
"EE386BFB5A899FA5AE9F24117C4B1FE649286651ECE65381"+
"FFFFFFFFFFFFFFFF","hex");
hellman.setPrivateKey(crypto.randomBytes(20));
hellman.generateKeys(); 

但是node.js无法执行它。它会引发以下错误: “错误:未初始化”

有谁知道出了什么问题?

1 个答案:

答案 0 :(得分:0)

这似乎是node.js的一个错误: https://github.com/joyent/node/issues/2338

节点版本7.5包含了一个解决方案,其中一个可以获得预定义的diffieHellmans using crypto.getDiffieHellman("modp2");

在以下推送请求中添加了它: https://github.com/joyent/node/pull/2638

这里可以观看所有预定义的难以置信的地狱人: https://gist.github.com/1899353