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.
 
 
 
 
 
 

25 lines
550 B

'use strict';
const common = require('../common');
const assert = require('assert');
if (!common.hasCrypto) {
common.skip('missing crypto');
return;
}
const crypto = require('crypto');
const p = crypto.createDiffieHellman(1024).getPrime();
for (let 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!'
);
}