node/test/pummel/test-dh-regr.js
Johan Bergström 671fbd5a9d test: refactor all tests that depends on crypto
we had a few ways versions of looking for support before executing a test. this
commit unifies them as well as add the check for all tests that previously
lacked them. found by running `./configure --without-ssl && make test`. also,
produce tap skip output if the test is skipped.

PR-URL: https://github.com/iojs/io.js/pull/1049
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
2015-03-05 10:31:41 +09:00

24 lines
541 B
JavaScript

var common = require('../common');
var assert = require('assert');
if (!common.hasCrypto) {
console.log('1..0 # Skipped: missing crypto');
process.exit();
}
var crypto = require('crypto');
var p = crypto.createDiffieHellman(256).getPrime();
for (var i = 0; i < 2000; i++) {
var a = crypto.createDiffieHellman(p),
b = crypto.createDiffieHellman(p);
a.generateKeys();
b.generateKeys();
assert.deepEqual(
a.computeSecret(b.getPublicKey()),
b.computeSecret(a.getPublicKey()),
'secrets should be equal!'
);
}