diff options
author | isaacs <i@izs.me> | 2013-05-17 17:19:12 -0700 |
---|---|---|
committer | isaacs <i@izs.me> | 2013-05-20 14:27:32 -0700 |
commit | 3a2b5030ae1cd200e92eaf3928bd20a8deda50c6 (patch) | |
tree | 9de51d00fdedf303b99d4d83572921ac5499025c /test | |
parent | d5d5170c359fc96f36650cdd9b84cbb013c33735 (diff) | |
download | node-new-3a2b5030ae1cd200e92eaf3928bd20a8deda50c6.tar.gz |
crypto: Clear error after DiffieHellman key errors
Fixes #5499
Diffstat (limited to 'test')
-rw-r--r-- | test/simple/test-crypto.js | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/test/simple/test-crypto.js b/test/simple/test-crypto.js index 01487aca88..1d913fe0b5 100644 --- a/test/simple/test-crypto.js +++ b/test/simple/test-crypto.js @@ -698,10 +698,21 @@ var secret3 = dh3.computeSecret(key2, 'hex', 'base64'); assert.equal(secret1, secret3); +// Run this one twice to make sure that the dh3 clears its error properly +(function() { + var c = crypto.createDecipher('aes-128-ecb', ''); + assert.throws(function() { c.final('utf8') }, /wrong final block length/); +})(); + assert.throws(function() { dh3.computeSecret(''); }, /key is too small/i); +(function() { + var c = crypto.createDecipher('aes-128-ecb', ''); + assert.throws(function() { c.final('utf8') }, /wrong final block length/); +})(); + // Create a shared using a DH group. var alice = crypto.createDiffieHellmanGroup('modp5'); var bob = crypto.createDiffieHellmanGroup('modp5'); @@ -858,11 +869,6 @@ assert.equal(-1, crypto.getHashes().indexOf('SHA1')); assert.equal(-1, crypto.getHashes().indexOf('SHA')); assertSorted(crypto.getHashes()); -(function() { - var c = crypto.createDecipher('aes-128-ecb', ''); - assert.throws(function() { c.final('utf8') }, /invalid public key/); -})(); - // Base64 padding regression test, see #4837. (function() { var c = crypto.createCipher('aes-256-cbc', 'secret'); |