[Pkg-javascript-commits] [node-browserify-aes] 31/43: tests: !node10 is now implied
Bastien Roucariès
rouca at moszumanska.debian.org
Thu Sep 7 14:42:00 UTC 2017
This is an automated email from the git hooks/post-receive script.
rouca pushed a commit to branch master
in repository node-browserify-aes.
commit 3bc9da2957ed7bf7a30c3c3e3db4e612367cc810
Author: Daniel Cousens <github at dcousens.com>
Date: Fri Jun 16 13:29:38 2017 +1000
tests: !node10 is now implied
---
package.json | 2 +-
test/index.js | 332 +++++++++++++++++++++++++++++-----------------------------
2 files changed, 166 insertions(+), 168 deletions(-)
diff --git a/package.json b/package.json
index e08a3d3..5c4ccfb 100644
--- a/package.json
+++ b/package.json
@@ -28,7 +28,7 @@
},
"homepage": "https://github.com/crypto-browserify/browserify-aes",
"dependencies": {
- "buffer-xor": "^1.0.2",
+ "buffer-xor": "^1.0.3",
"cipher-base": "^1.0.0",
"create-hash": "^1.1.0",
"evp_bytestokey": "^1.0.0",
diff --git a/test/index.js b/test/index.js
index 4c9707d..eaf5f13 100644
--- a/test/index.js
+++ b/test/index.js
@@ -247,178 +247,176 @@ fixtures.forEach(function (fixture, i) {
})
})
-if (!isNode10()) {
- test('node tests', function (t) {
- var TEST_CASES = [
- { algo: 'aes-128-gcm',
- key: '6970787039613669314d623455536234',
- iv: '583673497131313748307652',
- plain: 'Hello World!',
- ct: '4BE13896F64DFA2C2D0F2C76',
- tag: '272B422F62EB545EAA15B5FF84092447',
- tampered: false },
- { algo: 'aes-128-gcm',
- key: '6970787039613669314d623455536234',
- iv: '583673497131313748307652',
- plain: 'Hello World!',
- ct: '4BE13896F64DFA2C2D0F2C76',
- aad: '000000FF',
- tag: 'BA2479F66275665A88CB7B15F43EB005',
- tampered: false },
- { algo: 'aes-128-gcm',
- key: '6970787039613669314d623455536234',
- iv: '583673497131313748307652',
- plain: 'Hello World!',
- ct: '4BE13596F64DFA2C2D0FAC76',
- tag: '272B422F62EB545EAA15B5FF84092447',
- tampered: true },
- { algo: 'aes-256-gcm',
- key: '337a54767a7233703637564336316a6d56353472495975313534357834546c59',
- iv: '36306950306836764a6f4561',
- plain: 'Hello node.js world!',
- ct: '58E62CFE7B1D274111A82267EBB93866E72B6C2A',
- tag: '9BB44F663BADABACAE9720881FB1EC7A',
- tampered: false },
- { algo: 'aes-256-gcm',
- key: '337a54767a7233703637564336316a6d56353472495975313534357834546c59',
- iv: '36306950306836764a6f4561',
- plain: 'Hello node.js world!',
- ct: '58E62CFF7B1D274011A82267EBB93866E72B6C2B',
- tag: '9BB44F663BADABACAE9720881FB1EC7A',
- tampered: true },
- { algo: 'aes-192-gcm',
- key: '1ed2233fa2223ef5d7df08546049406c7305220bca40d4c9',
- iv: '0e1791e9db3bd21a9122c416',
- plain: 'Hello node.js world!',
- password: 'very bad password',
- aad: '63616c76696e',
- ct: 'DDA53A4059AA17B88756984995F7BBA3C636CC44',
- tag: 'D2A35E5C611E5E3D2258360241C5B045',
- tampered: false }
- ]
-
- var ciphers = Object.keys(modes)
- function testIt (i) {
- t.test('test case ' + i, function (t) {
- var test = TEST_CASES[i]
-
- if (ciphers.indexOf(test.algo) === -1) {
- console.log('skipping unsupported ' + test.algo + ' test')
- return
- }
+test('node tests', function (t) {
+ var TEST_CASES = [
+ { algo: 'aes-128-gcm',
+ key: '6970787039613669314d623455536234',
+ iv: '583673497131313748307652',
+ plain: 'Hello World!',
+ ct: '4BE13896F64DFA2C2D0F2C76',
+ tag: '272B422F62EB545EAA15B5FF84092447',
+ tampered: false },
+ { algo: 'aes-128-gcm',
+ key: '6970787039613669314d623455536234',
+ iv: '583673497131313748307652',
+ plain: 'Hello World!',
+ ct: '4BE13896F64DFA2C2D0F2C76',
+ aad: '000000FF',
+ tag: 'BA2479F66275665A88CB7B15F43EB005',
+ tampered: false },
+ { algo: 'aes-128-gcm',
+ key: '6970787039613669314d623455536234',
+ iv: '583673497131313748307652',
+ plain: 'Hello World!',
+ ct: '4BE13596F64DFA2C2D0FAC76',
+ tag: '272B422F62EB545EAA15B5FF84092447',
+ tampered: true },
+ { algo: 'aes-256-gcm',
+ key: '337a54767a7233703637564336316a6d56353472495975313534357834546c59',
+ iv: '36306950306836764a6f4561',
+ plain: 'Hello node.js world!',
+ ct: '58E62CFE7B1D274111A82267EBB93866E72B6C2A',
+ tag: '9BB44F663BADABACAE9720881FB1EC7A',
+ tampered: false },
+ { algo: 'aes-256-gcm',
+ key: '337a54767a7233703637564336316a6d56353472495975313534357834546c59',
+ iv: '36306950306836764a6f4561',
+ plain: 'Hello node.js world!',
+ ct: '58E62CFF7B1D274011A82267EBB93866E72B6C2B',
+ tag: '9BB44F663BADABACAE9720881FB1EC7A',
+ tampered: true },
+ { algo: 'aes-192-gcm',
+ key: '1ed2233fa2223ef5d7df08546049406c7305220bca40d4c9',
+ iv: '0e1791e9db3bd21a9122c416',
+ plain: 'Hello node.js world!',
+ password: 'very bad password',
+ aad: '63616c76696e',
+ ct: 'DDA53A4059AA17B88756984995F7BBA3C636CC44',
+ tag: 'D2A35E5C611E5E3D2258360241C5B045',
+ tampered: false }
+ ]
+
+ var ciphers = Object.keys(modes)
+ function testIt (i) {
+ t.test('test case ' + i, function (t) {
+ var test = TEST_CASES[i]
+
+ if (ciphers.indexOf(test.algo) === -1) {
+ console.log('skipping unsupported ' + test.algo + ' test')
+ return
+ }
+
+ (function () {
+ var encrypt = crypto.createCipheriv(test.algo,
+ Buffer.from(test.key, 'hex'), Buffer.from(test.iv, 'hex'))
+ if (test.aad) encrypt.setAAD(Buffer.from(test.aad, 'hex'))
- (function () {
- var encrypt = crypto.createCipheriv(test.algo,
- Buffer.from(test.key, 'hex'), Buffer.from(test.iv, 'hex'))
- if (test.aad) encrypt.setAAD(Buffer.from(test.aad, 'hex'))
-
- var hex = encrypt.update(test.plain, 'ascii', 'hex')
- hex += encrypt.final('hex')
- var authTag = encrypt.getAuthTag()
-
- // only test basic encryption run if output is marked as tampered.
- if (!test.tampered) {
- t.equal(hex.toUpperCase(), test.ct)
- t.equal(authTag.toString('hex').toUpperCase(), test.tag)
- }
- })()
-
- ;(function () {
- var decrypt = crypto.createDecipheriv(test.algo,
- Buffer.from(test.key, 'hex'), Buffer.from(test.iv, 'hex'))
- decrypt.setAuthTag(Buffer.from(test.tag, 'hex'))
- if (test.aad) decrypt.setAAD(Buffer.from(test.aad, 'hex'))
- var msg = decrypt.update(test.ct, 'hex', 'ascii')
- if (!test.tampered) {
- msg += decrypt.final('ascii')
- t.equal(msg, test.plain)
- } else {
- // assert that final throws if input data could not be verified!
- t.throws(function () { decrypt.final('ascii') }, / auth/)
- }
- })()
-
- ;(function () {
- if (!test.password) return
- var encrypt = crypto.createCipher(test.algo, test.password)
- if (test.aad) encrypt.setAAD(Buffer.from(test.aad, 'hex'))
- var hex = encrypt.update(test.plain, 'ascii', 'hex')
- hex += encrypt.final('hex')
- var authTag = encrypt.getAuthTag()
- // only test basic encryption run if output is marked as tampered.
- if (!test.tampered) {
- t.equal(hex.toUpperCase(), test.ct)
- t.equal(authTag.toString('hex').toUpperCase(), test.tag)
- }
- })()
-
- ;(function () {
- if (!test.password) return
- var decrypt = crypto.createDecipher(test.algo, test.password)
- decrypt.setAuthTag(Buffer.from(test.tag, 'hex'))
- if (test.aad) decrypt.setAAD(Buffer.from(test.aad, 'hex'))
- var msg = decrypt.update(test.ct, 'hex', 'ascii')
- if (!test.tampered) {
- msg += decrypt.final('ascii')
- t.equal(msg, test.plain)
- } else {
- // assert that final throws if input data could not be verified!
- t.throws(function () { decrypt.final('ascii') }, / auth/)
- }
- })()
-
- // after normal operation, test some incorrect ways of calling the API:
- // it's most certainly enough to run these tests with one algorithm only.
-
- if (i > 0) {
- t.end()
- return
+ var hex = encrypt.update(test.plain, 'ascii', 'hex')
+ hex += encrypt.final('hex')
+ var authTag = encrypt.getAuthTag()
+
+ // only test basic encryption run if output is marked as tampered.
+ if (!test.tampered) {
+ t.equal(hex.toUpperCase(), test.ct)
+ t.equal(authTag.toString('hex').toUpperCase(), test.tag)
+ }
+ })()
+
+ ;(function () {
+ var decrypt = crypto.createDecipheriv(test.algo,
+ Buffer.from(test.key, 'hex'), Buffer.from(test.iv, 'hex'))
+ decrypt.setAuthTag(Buffer.from(test.tag, 'hex'))
+ if (test.aad) decrypt.setAAD(Buffer.from(test.aad, 'hex'))
+ var msg = decrypt.update(test.ct, 'hex', 'ascii')
+ if (!test.tampered) {
+ msg += decrypt.final('ascii')
+ t.equal(msg, test.plain)
+ } else {
+ // assert that final throws if input data could not be verified!
+ t.throws(function () { decrypt.final('ascii') }, / auth/)
}
+ })()
+
+ ;(function () {
+ if (!test.password) return
+ var encrypt = crypto.createCipher(test.algo, test.password)
+ if (test.aad) encrypt.setAAD(Buffer.from(test.aad, 'hex'))
+ var hex = encrypt.update(test.plain, 'ascii', 'hex')
+ hex += encrypt.final('hex')
+ var authTag = encrypt.getAuthTag()
+ // only test basic encryption run if output is marked as tampered.
+ if (!test.tampered) {
+ t.equal(hex.toUpperCase(), test.ct)
+ t.equal(authTag.toString('hex').toUpperCase(), test.tag)
+ }
+ })()
+
+ ;(function () {
+ if (!test.password) return
+ var decrypt = crypto.createDecipher(test.algo, test.password)
+ decrypt.setAuthTag(Buffer.from(test.tag, 'hex'))
+ if (test.aad) decrypt.setAAD(Buffer.from(test.aad, 'hex'))
+ var msg = decrypt.update(test.ct, 'hex', 'ascii')
+ if (!test.tampered) {
+ msg += decrypt.final('ascii')
+ t.equal(msg, test.plain)
+ } else {
+ // assert that final throws if input data could not be verified!
+ t.throws(function () { decrypt.final('ascii') }, / auth/)
+ }
+ })()
- (function () {
- // non-authenticating mode:
- var encrypt = crypto.createCipheriv('aes-128-cbc',
- 'ipxp9a6i1Mb4USb4', '6fKjEjR3Vl30EUYC')
- encrypt.update('blah', 'ascii')
- encrypt.final()
- t.throws(function () { encrypt.getAuthTag() })
- t.throws(function () {
- encrypt.setAAD(Buffer.from('123', 'ascii'))
- })
- })()
-
- ;(function () {
- // trying to get tag before inputting all data:
- var encrypt = crypto.createCipheriv(test.algo,
- Buffer.from(test.key, 'hex'), Buffer.from(test.iv, 'hex'))
- encrypt.update('blah', 'ascii')
- t.throws(function () { encrypt.getAuthTag() }, / state/)
- })()
-
- ;(function () {
- // trying to set tag on encryption object:
- var encrypt = crypto.createCipheriv(test.algo,
- Buffer.from(test.key, 'hex'), Buffer.from(test.iv, 'hex'))
- t.throws(function () {
- encrypt.setAuthTag(Buffer.from(test.tag, 'hex'))
- }, / state/)
- })()
-
- ;(function () {
- // trying to read tag from decryption object:
- var decrypt = crypto.createDecipheriv(test.algo,
- Buffer.from(test.key, 'hex'), Buffer.from(test.iv, 'hex'))
- t.throws(function () { decrypt.getAuthTag() }, / state/)
- })()
+ // after normal operation, test some incorrect ways of calling the API:
+ // it's most certainly enough to run these tests with one algorithm only.
+
+ if (i > 0) {
t.end()
- })
- }
+ return
+ }
- for (var i in TEST_CASES) {
- testIt(i)
- }
- })
-}
+ (function () {
+ // non-authenticating mode:
+ var encrypt = crypto.createCipheriv('aes-128-cbc',
+ 'ipxp9a6i1Mb4USb4', '6fKjEjR3Vl30EUYC')
+ encrypt.update('blah', 'ascii')
+ encrypt.final()
+ t.throws(function () { encrypt.getAuthTag() })
+ t.throws(function () {
+ encrypt.setAAD(Buffer.from('123', 'ascii'))
+ })
+ })()
+
+ ;(function () {
+ // trying to get tag before inputting all data:
+ var encrypt = crypto.createCipheriv(test.algo,
+ Buffer.from(test.key, 'hex'), Buffer.from(test.iv, 'hex'))
+ encrypt.update('blah', 'ascii')
+ t.throws(function () { encrypt.getAuthTag() }, / state/)
+ })()
+
+ ;(function () {
+ // trying to set tag on encryption object:
+ var encrypt = crypto.createCipheriv(test.algo,
+ Buffer.from(test.key, 'hex'), Buffer.from(test.iv, 'hex'))
+ t.throws(function () {
+ encrypt.setAuthTag(Buffer.from(test.tag, 'hex'))
+ }, / state/)
+ })()
+
+ ;(function () {
+ // trying to read tag from decryption object:
+ var decrypt = crypto.createDecipheriv(test.algo,
+ Buffer.from(test.key, 'hex'), Buffer.from(test.iv, 'hex'))
+ t.throws(function () { decrypt.getAuthTag() }, / state/)
+ })()
+ t.end()
+ })
+ }
+
+ for (var i in TEST_CASES) {
+ testIt(i)
+ }
+})
function corectPaddingWords (padding, result) {
test('correct padding ' + padding.toString('hex'), function (t) {
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/node-browserify-aes.git
More information about the Pkg-javascript-commits
mailing list