You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

26 lines
542 B

'use strict';
var common = require('../common');
var assert = require('assert');
if (!common.hasCrypto) {
common.skip('missing crypto');
return;
}
var crypto = require('crypto');
var p = crypto.createDiffieHellman(1024).getPrime();
for (var i = 0; i < 2000; i++) {
const a = crypto.createDiffieHellman(p);
const b = crypto.createDiffieHellman(p);
a.generateKeys();
b.generateKeys();
assert.deepStrictEqual(
a.computeSecret(b.getPublicKey()),
b.computeSecret(a.getPublicKey()),
'secrets should be equal!'
);
}