0

SSHプロトコルのnode.js実装用にdiffie-hellman-group1-sha1キー交換を実装しようとしています。

これには組み込みの暗号モジュールを使用したいと思います。私のコード:

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

しかし、node.jsはそれを実行できません。次のエラーがスローされます:「エラー:初期化されていません」

誰かが何が悪いのか知っていますか?

4

1 に答える 1

0

node.jsのバグのようです: https ://github.com/joyent/node/issues/2338

Nodeバージョン7.5には、これに対するソリューションが含まれており、事前定義されたdiffieHellmansを取得できます。using crypto.getDiffieHellman("modp2");

次のプッシュリクエストで追加されました: https ://github.com/joyent/node/pull/2638

事前定義されたすべてのdiffiehellmansは、 https ://gist.github.com/1899353で見ることができます。

于 2012-02-24T10:19:45.340 に答える