我正在尝试为我的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无法执行它。它会引发以下错误: “错误:未初始化”
有谁知道出了什么问题?
答案 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