From 9a310dc4df4c01968464cd0f64ea8c432fdfbfe8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ant=C3=B3nio=20Conselheiro?= Date: Thu, 15 Feb 2024 16:03:30 -0300 Subject: [PATCH] =?UTF-8?q?incluindo=20configura=C3=A7=C3=A3o=20que=20perm?= =?UTF-8?q?ite=20ignorar=20a=20inclus=C3=A3o=20do=20algoritmo=20padr=C3=A3?= =?UTF-8?q?o=20(aes/cbc)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../test-report/result.js | 2 +- .../test-report/result.js | 2 +- packages/ciphers/aes/cbc/index.ts | 2 -- packages/ciphers/aes/ctr/index.ts | 10 +++--- packages/ciphers/aes/ecb/index.ts | 6 ++-- packages/ciphers/aes/gcm/index.ts | 6 ++-- packages/ciphers/aes/siv/index.ts | 16 ++++++---- packages/ciphers/params.test.ts | 6 ++-- packages/core/index.test.ts | 20 ++++++------ packages/core/index.ts | 32 ++++++++++++++----- 10 files changed, 61 insertions(+), 41 deletions(-) diff --git a/docs/ciphers/jest-html-reporters-attach/test-report/result.js b/docs/ciphers/jest-html-reporters-attach/test-report/result.js index da2436c..b843a89 100644 --- a/docs/ciphers/jest-html-reporters-attach/test-report/result.js +++ b/docs/ciphers/jest-html-reporters-attach/test-report/result.js @@ -1 +1 @@ -window.jest_html_reporters_callback__({"numFailedTestSuites":1,"numFailedTests":2,"numPassedTestSuites":2,"numPassedTests":28,"numPendingTestSuites":0,"numPendingTests":0,"numRuntimeErrorTestSuites":0,"numTodoTests":0,"numTotalTestSuites":3,"numTotalTests":30,"startTime":1707996202647,"success":false,"testResults":[{"numFailingTests":0,"numPassingTests":5,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1707996212488,"runtime":8999,"slow":true,"start":1707996203489},"testFilePath":"/encrypted-uri/packages/ciphers/aes.test.ts","failureMessage":null,"testResults":[{"ancestorTitles":["success flow aes"],"duration":85,"failureMessages":[],"fullName":"success flow aes cbc","status":"passed","title":"cbc"},{"ancestorTitles":["success flow aes"],"duration":11,"failureMessages":[],"fullName":"success flow aes ctr","status":"passed","title":"ctr"},{"ancestorTitles":["success flow aes"],"duration":16,"failureMessages":[],"fullName":"success flow aes ecb","status":"passed","title":"ecb"},{"ancestorTitles":["success flow aes"],"duration":16,"failureMessages":[],"fullName":"success flow aes gcm","status":"passed","title":"gcm"},{"ancestorTitles":["success flow aes"],"duration":15,"failureMessages":[],"fullName":"success flow aes siv","status":"passed","title":"siv"}]},{"numFailingTests":0,"numPassingTests":12,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1707996212777,"runtime":9334,"slow":true,"start":1707996203443},"testFilePath":"/encrypted-uri/packages/ciphers/kdf.test.ts","failureMessage":null,"testResults":[{"ancestorTitles":["kdf success flow"],"duration":61,"failureMessages":[],"fullName":"kdf success flow [2] kdf include all parameters including default","status":"passed","title":"[2] kdf include all parameters including default"},{"ancestorTitles":["kdf success flow"],"duration":65,"failureMessages":[],"fullName":"kdf success flow [3] kdf with hasher sha512","status":"passed","title":"[3] kdf with hasher sha512"},{"ancestorTitles":["kdf success flow"],"duration":98,"failureMessages":[],"fullName":"kdf success flow [4] kdf with hasher sha512_256","status":"passed","title":"[4] kdf with hasher sha512_256"},{"ancestorTitles":["kdf success flow"],"duration":111,"failureMessages":[],"fullName":"kdf success flow [5] kdf with hasher sha384","status":"passed","title":"[5] kdf with hasher sha384"},{"ancestorTitles":["kdf success flow"],"duration":93,"failureMessages":[],"fullName":"kdf success flow [6] kdf with hasher sha3_512","status":"passed","title":"[6] kdf with hasher sha3_512"},{"ancestorTitles":["kdf success flow"],"duration":29,"failureMessages":[],"fullName":"kdf success flow [7] kdf with hasher sha3_384","status":"passed","title":"[7] kdf with hasher sha3_384"},{"ancestorTitles":["kdf success flow"],"duration":30,"failureMessages":[],"fullName":"kdf success flow [8] kdf with hasher sha3_256","status":"passed","title":"[8] kdf with hasher sha3_256"},{"ancestorTitles":["kdf success flow"],"duration":40,"failureMessages":[],"fullName":"kdf success flow [9] kdf with hasher sha3_224","status":"passed","title":"[9] kdf with hasher sha3_224"},{"ancestorTitles":["kdf success flow"],"duration":16,"failureMessages":[],"fullName":"kdf success flow [10] kdf with hasher keccak_512","status":"passed","title":"[10] kdf with hasher keccak_512"},{"ancestorTitles":["kdf success flow"],"duration":14,"failureMessages":[],"fullName":"kdf success flow [11] kdf with hasher keccak_384","status":"passed","title":"[11] kdf with hasher keccak_384"},{"ancestorTitles":["kdf success flow"],"duration":14,"failureMessages":[],"fullName":"kdf success flow [12] kdf with hasher keccak_256","status":"passed","title":"[12] kdf with hasher keccak_256"},{"ancestorTitles":["kdf success flow"],"duration":22,"failureMessages":[],"fullName":"kdf success flow [13] kdf with hasher keccak_224","status":"passed","title":"[13] kdf with hasher keccak_224"}]},{"numFailingTests":2,"numPassingTests":11,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1707996218178,"runtime":14694,"slow":true,"start":1707996203484},"testFilePath":"/encrypted-uri/packages/ciphers/params.test.ts","failureMessage":"\u001b[1m\u001b[31m \u001b[1m● \u001b[22m\u001b[1mhashing customization › [12] kdf with hasher keccak_256\u001b[39m\u001b[22m\n\n \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoEqual\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // deep equality\u001b[22m\n\n Expected: \u001b[32mundefined\u001b[39m\n Received: \u001b[31m\"aes/cbc\"\u001b[39m\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 228 |\u001b[39m \u001b[36mconst\u001b[39m parser \u001b[33m=\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mEncryptedURIParser\u001b[39m(encoded)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 229 |\u001b[39m expect(parser\u001b[33m.\u001b[39mdecoded\u001b[33m.\u001b[39mparams\u001b[33m?\u001b[39m\u001b[33m.\u001b[39mkdf)\u001b[33m.\u001b[39mtoEqual(undefined)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[2m\u001b[39m\u001b[90m 230 |\u001b[39m expect(parser\u001b[33m.\u001b[39mdecoded\u001b[33m.\u001b[39malgorithm)\u001b[33m.\u001b[39mtoEqual(undefined)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[2m\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 231 |\u001b[39m expect(parser\u001b[33m.\u001b[39mdecoded\u001b[33m.\u001b[39mparams\u001b[33m?\u001b[39m\u001b[33m.\u001b[39mc)\u001b[33m.\u001b[39mtoEqual(undefined)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 232 |\u001b[39m expect(parser\u001b[33m.\u001b[39mdecoded\u001b[33m.\u001b[39mparams\u001b[33m?\u001b[39m\u001b[33m.\u001b[39mdklen)\u001b[33m.\u001b[39mtoEqual(undefined)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 233 |\u001b[39m expect(parser\u001b[33m.\u001b[39mdecoded\u001b[33m.\u001b[39mparams\u001b[33m?\u001b[39m\u001b[33m.\u001b[39mh)\u001b[33m.\u001b[39mtoEqual(\u001b[32m'keccak_256'\u001b[39m)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat Object. (\u001b[22m\u001b[2m\u001b[0m\u001b[36mparams.test.ts\u001b[39m\u001b[0m\u001b[2m:230:38)\u001b[22m\u001b[2m\u001b[22m\n\n\u001b[1m\u001b[31m \u001b[1m● \u001b[22m\u001b[1mchecking if params are correctly encoded › [2] kdf include all parameters including default\u001b[39m\u001b[22m\n\n \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoEqual\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // deep equality\u001b[22m\n\n Expected: \u001b[32m\"pbkdf2\"\u001b[39m\n Received: \u001b[31mundefined\u001b[39m\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 285 |\u001b[39m \u001b[36mconst\u001b[39m parser \u001b[33m=\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mEncryptedURIParser\u001b[39m(encoded)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 286 |\u001b[39m expect(parser\u001b[33m.\u001b[39mdecoded\u001b[33m.\u001b[39malgorithm)\u001b[33m.\u001b[39mtoEqual(\u001b[32m'aes/cbc'\u001b[39m)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[2m\u001b[39m\u001b[90m 287 |\u001b[39m expect(parser\u001b[33m.\u001b[39mdecoded\u001b[33m.\u001b[39mparams\u001b[33m?\u001b[39m\u001b[33m.\u001b[39mkdf)\u001b[33m.\u001b[39mtoEqual(\u001b[32m'pbkdf2'\u001b[39m)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[2m\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 288 |\u001b[39m expect(parser\u001b[33m.\u001b[39mdecoded\u001b[33m.\u001b[39mparams\u001b[33m?\u001b[39m\u001b[33m.\u001b[39mc)\u001b[33m.\u001b[39mtoEqual(\u001b[32m'100'\u001b[39m)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 289 |\u001b[39m expect(parser\u001b[33m.\u001b[39mdecoded\u001b[33m.\u001b[39mparams\u001b[33m?\u001b[39m\u001b[33m.\u001b[39mdklen)\u001b[33m.\u001b[39mtoEqual(\u001b[32m'32'\u001b[39m)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 290 |\u001b[39m expect(parser\u001b[33m.\u001b[39mdecoded\u001b[33m.\u001b[39mparams\u001b[33m?\u001b[39m\u001b[33m.\u001b[39mh)\u001b[33m.\u001b[39mtoEqual(\u001b[32m'sha256'\u001b[39m)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat Object. (\u001b[22m\u001b[2m\u001b[0m\u001b[36mparams.test.ts\u001b[39m\u001b[0m\u001b[2m:287:40)\u001b[22m\u001b[2m\u001b[22m\n","testResults":[{"ancestorTitles":["hashing customization"],"duration":65,"failureMessages":[],"fullName":"hashing customization [3] kdf with hasher sha512","status":"passed","title":"[3] kdf with hasher sha512"},{"ancestorTitles":["hashing customization"],"duration":37,"failureMessages":[],"fullName":"hashing customization [4] kdf with hasher sha512_256","status":"passed","title":"[4] kdf with hasher sha512_256"},{"ancestorTitles":["hashing customization"],"duration":39,"failureMessages":[],"fullName":"hashing customization [5] kdf with hasher sha384","status":"passed","title":"[5] kdf with hasher sha384"},{"ancestorTitles":["hashing customization"],"duration":58,"failureMessages":[],"fullName":"hashing customization [6] kdf with hasher sha3_512","status":"passed","title":"[6] kdf with hasher sha3_512"},{"ancestorTitles":["hashing customization"],"duration":21,"failureMessages":[],"fullName":"hashing customization [7] kdf with hasher sha3_384","status":"passed","title":"[7] kdf with hasher sha3_384"},{"ancestorTitles":["hashing customization"],"duration":12,"failureMessages":[],"fullName":"hashing customization [8] kdf with hasher sha3_256","status":"passed","title":"[8] kdf with hasher sha3_256"},{"ancestorTitles":["hashing customization"],"duration":15,"failureMessages":[],"fullName":"hashing customization [9] kdf with hasher sha3_224","status":"passed","title":"[9] kdf with hasher sha3_224"},{"ancestorTitles":["hashing customization"],"duration":14,"failureMessages":[],"fullName":"hashing customization [10] kdf with hasher keccak_512","status":"passed","title":"[10] kdf with hasher keccak_512"},{"ancestorTitles":["hashing customization"],"duration":14,"failureMessages":[],"fullName":"hashing customization [11] kdf with hasher keccak_384","status":"passed","title":"[11] kdf with hasher keccak_384"},{"ancestorTitles":["hashing customization"],"duration":14,"failureMessages":["Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoEqual\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // deep equality\u001b[22m\n\nExpected: \u001b[32mundefined\u001b[39m\nReceived: \u001b[31m\"aes/cbc\"\u001b[39m\n at Object. (/encrypted-uri/packages/ciphers/params.test.ts:230:38)"],"fullName":"hashing customization [12] kdf with hasher keccak_256","status":"failed","title":"[12] kdf with hasher keccak_256"},{"ancestorTitles":["checking if params are correctly encoded"],"duration":4343,"failureMessages":[],"fullName":"checking if params are correctly encoded [1] overriding default values in decrypt","status":"passed","title":"[1] overriding default values in decrypt"},{"ancestorTitles":["checking if params are correctly encoded"],"duration":5,"failureMessages":["Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoEqual\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // deep equality\u001b[22m\n\nExpected: \u001b[32m\"pbkdf2\"\u001b[39m\nReceived: \u001b[31mundefined\u001b[39m\n at Object. (/encrypted-uri/packages/ciphers/params.test.ts:287:40)"],"fullName":"checking if params are correctly encoded [2] kdf include all parameters including default","status":"failed","title":"[2] kdf include all parameters including default"},{"ancestorTitles":["checking if params are correctly encoded"],"duration":3,"failureMessages":[],"fullName":"checking if params are correctly encoded [3] kdf with algorithm not set","status":"passed","title":"[3] kdf with algorithm not set"}]}],"config":{"bail":0,"changedFilesWithAncestor":false,"ci":false,"collectCoverage":false,"collectCoverageFrom":[],"coverageDirectory":"/encrypted-uri/packages/ciphers/coverage","coverageProvider":"babel","coverageReporters":["json","text","lcov","clover"],"detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"expand":false,"findRelatedTests":false,"forceExit":false,"json":false,"lastCommit":false,"listTests":false,"logHeapUsage":false,"maxConcurrency":5,"maxWorkers":7,"noStackTrace":false,"nonFlagArgs":[],"notify":false,"notifyMode":"failure-change","onlyChanged":false,"onlyFailures":false,"openHandlesTimeout":1000,"passWithNoTests":false,"projects":[],"reporters":[["default",{}],["/encrypted-uri/packages/ciphers/node_modules/jest-html-reporters/index.js",{"publicPath":"../../docs/ciphers","filename":"test-report.html","expand":true}]],"rootDir":"/encrypted-uri/packages/ciphers","runTestsByPath":false,"seed":-1306968625,"skipFilter":false,"snapshotFormat":{"escapeString":false,"printBasicPrototype":false},"testFailureExitCode":1,"testPathPattern":"","testSequencer":"/encrypted-uri/packages/ciphers/node_modules/@jest/test-sequencer/build/index.js","updateSnapshot":"new","useStderr":false,"watch":false,"watchAll":false,"watchman":true,"workerThreads":false},"endTime":1707996218276,"_reporterOptions":{"publicPath":"../../docs/ciphers","filename":"test-report.html","expand":true,"pageTitle":"","hideIcon":false,"testCommand":"","openReport":false,"failureMessageOnly":0,"enableMergeData":false,"dataMergeLevel":1,"inlineSource":false,"urlForTestFiles":"","darkTheme":false,"includeConsoleLog":false,"stripSkippedTest":false},"logInfoMapping":{},"attachInfos":{}}) \ No newline at end of file +window.jest_html_reporters_callback__({"numFailedTestSuites":0,"numFailedTests":0,"numPassedTestSuites":3,"numPassedTests":30,"numPendingTestSuites":0,"numPendingTests":0,"numRuntimeErrorTestSuites":0,"numTodoTests":0,"numTotalTestSuites":3,"numTotalTests":30,"startTime":1708023519178,"success":false,"testResults":[{"numFailingTests":0,"numPassingTests":5,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1708023603897,"runtime":84422,"slow":true,"start":1708023519475},"testFilePath":"/encrypted-uri/packages/ciphers/aes.test.ts","failureMessage":null,"testResults":[{"ancestorTitles":["success flow aes"],"duration":1485,"failureMessages":[],"fullName":"success flow aes cbc","status":"passed","title":"cbc"},{"ancestorTitles":["success flow aes"],"duration":46,"failureMessages":[],"fullName":"success flow aes ctr","status":"passed","title":"ctr"},{"ancestorTitles":["success flow aes"],"duration":4,"failureMessages":[],"fullName":"success flow aes ecb","status":"passed","title":"ecb"},{"ancestorTitles":["success flow aes"],"duration":4,"failureMessages":[],"fullName":"success flow aes gcm","status":"passed","title":"gcm"},{"ancestorTitles":["success flow aes"],"duration":6,"failureMessages":[],"fullName":"success flow aes siv","status":"passed","title":"siv"}]},{"numFailingTests":0,"numPassingTests":12,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1708023603960,"runtime":84467,"slow":true,"start":1708023519493},"testFilePath":"/encrypted-uri/packages/ciphers/kdf.test.ts","failureMessage":null,"testResults":[{"ancestorTitles":["kdf success flow"],"duration":1480,"failureMessages":[],"fullName":"kdf success flow [2] kdf include all parameters including default","status":"passed","title":"[2] kdf include all parameters including default"},{"ancestorTitles":["kdf success flow"],"duration":28,"failureMessages":[],"fullName":"kdf success flow [3] kdf with hasher sha512","status":"passed","title":"[3] kdf with hasher sha512"},{"ancestorTitles":["kdf success flow"],"duration":19,"failureMessages":[],"fullName":"kdf success flow [4] kdf with hasher sha512_256","status":"passed","title":"[4] kdf with hasher sha512_256"},{"ancestorTitles":["kdf success flow"],"duration":21,"failureMessages":[],"fullName":"kdf success flow [5] kdf with hasher sha384","status":"passed","title":"[5] kdf with hasher sha384"},{"ancestorTitles":["kdf success flow"],"duration":15,"failureMessages":[],"fullName":"kdf success flow [6] kdf with hasher sha3_512","status":"passed","title":"[6] kdf with hasher sha3_512"},{"ancestorTitles":["kdf success flow"],"duration":5,"failureMessages":[],"fullName":"kdf success flow [7] kdf with hasher sha3_384","status":"passed","title":"[7] kdf with hasher sha3_384"},{"ancestorTitles":["kdf success flow"],"duration":4,"failureMessages":[],"fullName":"kdf success flow [8] kdf with hasher sha3_256","status":"passed","title":"[8] kdf with hasher sha3_256"},{"ancestorTitles":["kdf success flow"],"duration":5,"failureMessages":[],"fullName":"kdf success flow [9] kdf with hasher sha3_224","status":"passed","title":"[9] kdf with hasher sha3_224"},{"ancestorTitles":["kdf success flow"],"duration":4,"failureMessages":[],"fullName":"kdf success flow [10] kdf with hasher keccak_512","status":"passed","title":"[10] kdf with hasher keccak_512"},{"ancestorTitles":["kdf success flow"],"duration":11,"failureMessages":[],"fullName":"kdf success flow [11] kdf with hasher keccak_384","status":"passed","title":"[11] kdf with hasher keccak_384"},{"ancestorTitles":["kdf success flow"],"duration":5,"failureMessages":[],"fullName":"kdf success flow [12] kdf with hasher keccak_256","status":"passed","title":"[12] kdf with hasher keccak_256"},{"ancestorTitles":["kdf success flow"],"duration":5,"failureMessages":[],"fullName":"kdf success flow [13] kdf with hasher keccak_224","status":"passed","title":"[13] kdf with hasher keccak_224"}]},{"numFailingTests":0,"numPassingTests":13,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1708023605109,"runtime":85639,"slow":true,"start":1708023519470},"testFilePath":"/encrypted-uri/packages/ciphers/params.test.ts","failureMessage":null,"testResults":[{"ancestorTitles":["hashing customization"],"duration":1438,"failureMessages":[],"fullName":"hashing customization [3] kdf with hasher sha512","status":"passed","title":"[3] kdf with hasher sha512"},{"ancestorTitles":["hashing customization"],"duration":41,"failureMessages":[],"fullName":"hashing customization [4] kdf with hasher sha512_256","status":"passed","title":"[4] kdf with hasher sha512_256"},{"ancestorTitles":["hashing customization"],"duration":22,"failureMessages":[],"fullName":"hashing customization [5] kdf with hasher sha384","status":"passed","title":"[5] kdf with hasher sha384"},{"ancestorTitles":["hashing customization"],"duration":42,"failureMessages":[],"fullName":"hashing customization [6] kdf with hasher sha3_512","status":"passed","title":"[6] kdf with hasher sha3_512"},{"ancestorTitles":["hashing customization"],"duration":5,"failureMessages":[],"fullName":"hashing customization [7] kdf with hasher sha3_384","status":"passed","title":"[7] kdf with hasher sha3_384"},{"ancestorTitles":["hashing customization"],"duration":4,"failureMessages":[],"fullName":"hashing customization [8] kdf with hasher sha3_256","status":"passed","title":"[8] kdf with hasher sha3_256"},{"ancestorTitles":["hashing customization"],"duration":3,"failureMessages":[],"fullName":"hashing customization [9] kdf with hasher sha3_224","status":"passed","title":"[9] kdf with hasher sha3_224"},{"ancestorTitles":["hashing customization"],"duration":2,"failureMessages":[],"fullName":"hashing customization [10] kdf with hasher keccak_512","status":"passed","title":"[10] kdf with hasher keccak_512"},{"ancestorTitles":["hashing customization"],"duration":2,"failureMessages":[],"fullName":"hashing customization [11] kdf with hasher keccak_384","status":"passed","title":"[11] kdf with hasher keccak_384"},{"ancestorTitles":["hashing customization"],"duration":3,"failureMessages":[],"fullName":"hashing customization [12] kdf with hasher keccak_256","status":"passed","title":"[12] kdf with hasher keccak_256"},{"ancestorTitles":["checking if params are correctly encoded"],"duration":1185,"failureMessages":[],"fullName":"checking if params are correctly encoded [1] overriding default values in decrypt","status":"passed","title":"[1] overriding default values in decrypt"},{"ancestorTitles":["checking if params are correctly encoded"],"duration":2,"failureMessages":[],"fullName":"checking if params are correctly encoded [2] kdf include all parameters including default","status":"passed","title":"[2] kdf include all parameters including default"},{"ancestorTitles":["checking if params are correctly encoded"],"duration":1,"failureMessages":[],"fullName":"checking if params are correctly encoded [3] kdf with algorithm not set","status":"passed","title":"[3] kdf with algorithm not set"}]}],"config":{"bail":0,"changedFilesWithAncestor":false,"ci":false,"collectCoverage":false,"collectCoverageFrom":[],"coverageDirectory":"/encrypted-uri/packages/ciphers/coverage","coverageProvider":"babel","coverageReporters":["json","text","lcov","clover"],"detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"expand":false,"findRelatedTests":false,"forceExit":false,"json":false,"lastCommit":false,"listTests":false,"logHeapUsage":false,"maxConcurrency":5,"maxWorkers":7,"noStackTrace":false,"nonFlagArgs":[],"notify":false,"notifyMode":"failure-change","onlyChanged":false,"onlyFailures":false,"openHandlesTimeout":1000,"passWithNoTests":false,"projects":[],"reporters":[["default",{}],["/encrypted-uri/packages/ciphers/node_modules/jest-html-reporters/index.js",{"publicPath":"../../docs/ciphers","filename":"test-report.html","expand":true}]],"rootDir":"/encrypted-uri/packages/ciphers","runTestsByPath":false,"seed":-984749182,"skipFilter":false,"snapshotFormat":{"escapeString":false,"printBasicPrototype":false},"testFailureExitCode":1,"testPathPattern":"","testSequencer":"/encrypted-uri/packages/ciphers/node_modules/@jest/test-sequencer/build/index.js","updateSnapshot":"new","useStderr":false,"watch":false,"watchAll":false,"watchman":true,"workerThreads":false},"endTime":1708023606008,"_reporterOptions":{"publicPath":"../../docs/ciphers","filename":"test-report.html","expand":true,"pageTitle":"","hideIcon":false,"testCommand":"","openReport":false,"failureMessageOnly":0,"enableMergeData":false,"dataMergeLevel":1,"inlineSource":false,"urlForTestFiles":"","darkTheme":false,"includeConsoleLog":false,"stripSkippedTest":false},"logInfoMapping":{},"attachInfos":{}}) \ No newline at end of file diff --git a/docs/core/jest-html-reporters-attach/test-report/result.js b/docs/core/jest-html-reporters-attach/test-report/result.js index 4ee234d..b3f7308 100644 --- a/docs/core/jest-html-reporters-attach/test-report/result.js +++ b/docs/core/jest-html-reporters-attach/test-report/result.js @@ -1 +1 @@ -window.jest_html_reporters_callback__({"numFailedTestSuites":0,"numFailedTests":0,"numPassedTestSuites":1,"numPassedTests":38,"numPendingTestSuites":0,"numPendingTests":0,"numRuntimeErrorTestSuites":0,"numTodoTests":0,"numTotalTestSuites":1,"numTotalTests":38,"startTime":1707994599780,"success":false,"testResults":[{"numFailingTests":0,"numPassingTests":38,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1707994604670,"runtime":4697,"slow":false,"start":1707994599973},"testFilePath":"/encrypted-uri/packages/core/index.test.ts","failureMessage":null,"testResults":[{"ancestorTitles":["decode uri with default values"],"duration":9,"failureMessages":[],"fullName":"decode uri with default values [1] decode uri with default values not include","status":"passed","title":"[1] decode uri with default values not include"},{"ancestorTitles":["decode uri with default values"],"duration":1,"failureMessages":[],"fullName":"decode uri with default values [2] decode uri with some default values not include","status":"passed","title":"[2] decode uri with some default values not include"},{"ancestorTitles":["decode uri with default values"],"duration":2,"failureMessages":[],"fullName":"decode uri with default values [3] decode uri with some default values not include","status":"passed","title":"[3] decode uri with some default values not include"},{"ancestorTitles":["decode uri with default values"],"duration":3,"failureMessages":[],"fullName":"decode uri with default values [4] decode uri with default values not include","status":"passed","title":"[4] decode uri with default values not include"},{"ancestorTitles":["decode uri with default values"],"duration":3,"failureMessages":[],"fullName":"decode uri with default values [5] decode uri with some default values not include","status":"passed","title":"[5] decode uri with some default values not include"},{"ancestorTitles":["decode uri with default values"],"duration":2,"failureMessages":[],"fullName":"decode uri with default values [6] decode uri with some default values not include","status":"passed","title":"[6] decode uri with some default values not include"},{"ancestorTitles":["decode uri with customized values"],"duration":1,"failureMessages":[],"fullName":"decode uri with customized values [1] decode aes/gcm with customized values","status":"passed","title":"[1] decode aes/gcm with customized values"},{"ancestorTitles":["decode uri with customized values"],"duration":1,"failureMessages":[],"fullName":"decode uri with customized values [2] decode salsa20 with customized values","status":"passed","title":"[2] decode salsa20 with customized values"},{"ancestorTitles":["decode uri with customized values"],"duration":1,"failureMessages":[],"fullName":"decode uri with customized values [3] decode xchacha with customized values","status":"passed","title":"[3] decode xchacha with customized values"},{"ancestorTitles":["decode uri with customized values"],"duration":2,"failureMessages":[],"fullName":"decode uri with customized values [4] decode chacha12 with customized values","status":"passed","title":"[4] decode chacha12 with customized values"},{"ancestorTitles":["encode uri with configs using default values"],"duration":1,"failureMessages":[],"fullName":"encode uri with configs using default values [1] encode with default config with default values","status":"passed","title":"[1] encode with default config with default values"},{"ancestorTitles":["encode uri with configs using default values"],"duration":2,"failureMessages":[],"fullName":"encode uri with configs using default values [2] encode with default config with default values","status":"passed","title":"[2] encode with default config with default values"},{"ancestorTitles":["encode uri with configs using default values"],"duration":1,"failureMessages":[],"fullName":"encode uri with configs using default values [3] encode with default config with default values","status":"passed","title":"[3] encode with default config with default values"},{"ancestorTitles":["encode uri with configs using default values"],"duration":1,"failureMessages":[],"fullName":"encode uri with configs using default values [4] encode with default config with default values","status":"passed","title":"[4] encode with default config with default values"},{"ancestorTitles":["encode uri with configs using default values"],"duration":1,"failureMessages":[],"fullName":"encode uri with configs using default values [5] encode with default config with default values","status":"passed","title":"[5] encode with default config with default values"},{"ancestorTitles":["encode uri with configs using default values"],"duration":1,"failureMessages":[],"fullName":"encode uri with configs using default values [6] encode with default config with default values","status":"passed","title":"[6] encode with default config with default values"},{"ancestorTitles":["encode uri with configs using default values"],"duration":1,"failureMessages":[],"fullName":"encode uri with configs using default values [7] encode with default config with default values","status":"passed","title":"[7] encode with default config with default values"},{"ancestorTitles":["encode uri with configs using default values"],"duration":2,"failureMessages":[],"fullName":"encode uri with configs using default values [8] encode with default config with default values","status":"passed","title":"[8] encode with default config with default values"},{"ancestorTitles":["encode uri with customized values"],"duration":1,"failureMessages":[],"fullName":"encode uri with customized values [1] encode aes/gcm with customized values","status":"passed","title":"[1] encode aes/gcm with customized values"},{"ancestorTitles":["encode uri with customized values"],"duration":1,"failureMessages":[],"fullName":"encode uri with customized values [2] encode salsa20 with customized values","status":"passed","title":"[2] encode salsa20 with customized values"},{"ancestorTitles":["encode uri with customized values"],"duration":1,"failureMessages":[],"fullName":"encode uri with customized values [3] encode xchacha with customized values","status":"passed","title":"[3] encode xchacha with customized values"},{"ancestorTitles":["encode uri with customized values"],"duration":1,"failureMessages":[],"fullName":"encode uri with customized values [4] encode chacha12 with customized values","status":"passed","title":"[4] encode chacha12 with customized values"},{"ancestorTitles":["uri matcher"],"duration":1,"failureMessages":[],"fullName":"uri matcher [1] match valid encrypted uri","status":"passed","title":"[1] match valid encrypted uri"},{"ancestorTitles":["uri matcher"],"duration":1,"failureMessages":[],"fullName":"uri matcher [2] match valid encrypted uri","status":"passed","title":"[2] match valid encrypted uri"},{"ancestorTitles":["uri matcher"],"duration":21,"failureMessages":[],"fullName":"uri matcher [3] match valid encrypted uri","status":"passed","title":"[3] match valid encrypted uri"},{"ancestorTitles":["uri matcher"],"duration":2,"failureMessages":[],"fullName":"uri matcher [4] match valid encrypted uri","status":"passed","title":"[4] match valid encrypted uri"},{"ancestorTitles":["uri matcher"],"duration":1,"failureMessages":[],"fullName":"uri matcher [5] match valid encrypted uri","status":"passed","title":"[5] match valid encrypted uri"},{"ancestorTitles":["uri matcher"],"duration":0,"failureMessages":[],"fullName":"uri matcher [6] match valid encrypted uri","status":"passed","title":"[6] match valid encrypted uri"},{"ancestorTitles":["uri matcher"],"duration":1,"failureMessages":[],"fullName":"uri matcher [7] match valid encrypted uri","status":"passed","title":"[7] match valid encrypted uri"},{"ancestorTitles":["uri matcher"],"duration":1,"failureMessages":[],"fullName":"uri matcher [8] match valid encrypted uri","status":"passed","title":"[8] match valid encrypted uri"},{"ancestorTitles":["uri matcher"],"duration":1,"failureMessages":[],"fullName":"uri matcher [9] match valid encrypted uri","status":"passed","title":"[9] match valid encrypted uri"},{"ancestorTitles":["uri matcher"],"duration":1,"failureMessages":[],"fullName":"uri matcher [10] match valid encrypted uri","status":"passed","title":"[10] match valid encrypted uri"},{"ancestorTitles":["uri matcher"],"duration":1,"failureMessages":[],"fullName":"uri matcher [11] match valid encrypted uri","status":"passed","title":"[11] match valid encrypted uri"},{"ancestorTitles":["EncryptedURI object"],"duration":1,"failureMessages":[],"fullName":"EncryptedURI object [1] match valid encrypted uri","status":"passed","title":"[1] match valid encrypted uri"},{"ancestorTitles":["EncryptedURI object"],"duration":3,"failureMessages":[],"fullName":"EncryptedURI object [2] EncryptedURI must run decrypt for custom algorithm","status":"passed","title":"[2] EncryptedURI must run decrypt for custom algorithm"},{"ancestorTitles":["EncryptedURI object"],"duration":3,"failureMessages":[],"fullName":"EncryptedURI object [3] EncryptedURI must run encrypt for custom algorithm","status":"passed","title":"[3] EncryptedURI must run encrypt for custom algorithm"},{"ancestorTitles":["EncryptedURI getKDFConfig"],"duration":1,"failureMessages":[],"fullName":"EncryptedURI getKDFConfig [1] EncryptedURI get KDF config from KDF config","status":"passed","title":"[1] EncryptedURI get KDF config from KDF config"},{"ancestorTitles":["EncryptedURI getKDFConfig"],"duration":1,"failureMessages":[],"fullName":"EncryptedURI getKDFConfig [2] EncryptedURI get KDF config from decoded URI","status":"passed","title":"[2] EncryptedURI get KDF config from decoded URI"}]}],"config":{"bail":0,"changedFilesWithAncestor":false,"ci":false,"collectCoverage":false,"collectCoverageFrom":[],"coverageDirectory":"/encrypted-uri/packages/core/coverage","coverageProvider":"babel","coverageReporters":["json","text","lcov","clover"],"detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"expand":false,"findRelatedTests":false,"forceExit":false,"json":false,"lastCommit":false,"listTests":false,"logHeapUsage":false,"maxConcurrency":5,"maxWorkers":7,"noStackTrace":false,"nonFlagArgs":[],"notify":false,"notifyMode":"failure-change","onlyChanged":false,"onlyFailures":false,"openHandlesTimeout":1000,"passWithNoTests":false,"projects":[],"reporters":[["default",{}],["/encrypted-uri/packages/core/node_modules/jest-html-reporters/index.js",{"publicPath":"../../docs/core","filename":"test-report.html","expand":true}]],"rootDir":"/encrypted-uri/packages/core","runTestsByPath":false,"seed":-1892291236,"skipFilter":false,"snapshotFormat":{"escapeString":false,"printBasicPrototype":false},"testFailureExitCode":1,"testPathPattern":"","testSequencer":"/encrypted-uri/packages/core/node_modules/@jest/test-sequencer/build/index.js","updateSnapshot":"new","useStderr":false,"verbose":true,"watch":false,"watchAll":false,"watchman":true,"workerThreads":false},"endTime":1707994604689,"_reporterOptions":{"publicPath":"../../docs/core","filename":"test-report.html","expand":true,"pageTitle":"","hideIcon":false,"testCommand":"","openReport":false,"failureMessageOnly":0,"enableMergeData":false,"dataMergeLevel":1,"inlineSource":false,"urlForTestFiles":"","darkTheme":false,"includeConsoleLog":false,"stripSkippedTest":false},"logInfoMapping":{},"attachInfos":{}}) \ No newline at end of file +window.jest_html_reporters_callback__({"numFailedTestSuites":0,"numFailedTests":0,"numPassedTestSuites":1,"numPassedTests":38,"numPendingTestSuites":0,"numPendingTests":0,"numRuntimeErrorTestSuites":0,"numTodoTests":0,"numTotalTestSuites":1,"numTotalTests":38,"startTime":1708023511645,"success":false,"testResults":[{"numFailingTests":0,"numPassingTests":38,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1708023515362,"runtime":3513,"slow":false,"start":1708023511849},"testFilePath":"/encrypted-uri/packages/core/index.test.ts","failureMessage":null,"testResults":[{"ancestorTitles":["decode uri with default values"],"duration":3,"failureMessages":[],"fullName":"decode uri with default values [1] decode uri with default values not include","status":"passed","title":"[1] decode uri with default values not include"},{"ancestorTitles":["decode uri with default values"],"duration":1,"failureMessages":[],"fullName":"decode uri with default values [2] decode uri with some default values not include","status":"passed","title":"[2] decode uri with some default values not include"},{"ancestorTitles":["decode uri with default values"],"duration":0,"failureMessages":[],"fullName":"decode uri with default values [3] decode uri with some default values not include","status":"passed","title":"[3] decode uri with some default values not include"},{"ancestorTitles":["decode uri with default values"],"duration":1,"failureMessages":[],"fullName":"decode uri with default values [4] decode uri with default values not include","status":"passed","title":"[4] decode uri with default values not include"},{"ancestorTitles":["decode uri with default values"],"duration":1,"failureMessages":[],"fullName":"decode uri with default values [5] decode uri with some default values not include","status":"passed","title":"[5] decode uri with some default values not include"},{"ancestorTitles":["decode uri with default values"],"duration":1,"failureMessages":[],"fullName":"decode uri with default values [6] decode uri with some default values not include","status":"passed","title":"[6] decode uri with some default values not include"},{"ancestorTitles":["decode uri with customized values"],"duration":1,"failureMessages":[],"fullName":"decode uri with customized values [1] decode aes/gcm with customized values","status":"passed","title":"[1] decode aes/gcm with customized values"},{"ancestorTitles":["decode uri with customized values"],"duration":0,"failureMessages":[],"fullName":"decode uri with customized values [2] decode salsa20 with customized values","status":"passed","title":"[2] decode salsa20 with customized values"},{"ancestorTitles":["decode uri with customized values"],"duration":0,"failureMessages":[],"fullName":"decode uri with customized values [3] decode xchacha with customized values","status":"passed","title":"[3] decode xchacha with customized values"},{"ancestorTitles":["decode uri with customized values"],"duration":0,"failureMessages":[],"fullName":"decode uri with customized values [4] decode chacha12 with customized values","status":"passed","title":"[4] decode chacha12 with customized values"},{"ancestorTitles":["encode uri with configs using default values"],"duration":1,"failureMessages":[],"fullName":"encode uri with configs using default values [1] encode with default config with default values","status":"passed","title":"[1] encode with default config with default values"},{"ancestorTitles":["encode uri with configs using default values"],"duration":1,"failureMessages":[],"fullName":"encode uri with configs using default values [2] encode with default config with default values","status":"passed","title":"[2] encode with default config with default values"},{"ancestorTitles":["encode uri with configs using default values"],"duration":0,"failureMessages":[],"fullName":"encode uri with configs using default values [3] encode with default config with default values","status":"passed","title":"[3] encode with default config with default values"},{"ancestorTitles":["encode uri with configs using default values"],"duration":1,"failureMessages":[],"fullName":"encode uri with configs using default values [4] encode with default config with default values","status":"passed","title":"[4] encode with default config with default values"},{"ancestorTitles":["encode uri with configs using default values"],"duration":3,"failureMessages":[],"fullName":"encode uri with configs using default values [5] encode with default config with default values","status":"passed","title":"[5] encode with default config with default values"},{"ancestorTitles":["encode uri with configs using default values"],"duration":0,"failureMessages":[],"fullName":"encode uri with configs using default values [6] encode with default config with default values","status":"passed","title":"[6] encode with default config with default values"},{"ancestorTitles":["encode uri with configs using default values"],"duration":1,"failureMessages":[],"fullName":"encode uri with configs using default values [7] encode with default config with default values","status":"passed","title":"[7] encode with default config with default values"},{"ancestorTitles":["encode uri with configs using default values"],"duration":0,"failureMessages":[],"fullName":"encode uri with configs using default values [8] encode with default config with default values","status":"passed","title":"[8] encode with default config with default values"},{"ancestorTitles":["encode uri with customized values"],"duration":0,"failureMessages":[],"fullName":"encode uri with customized values [1] encode aes/gcm with customized values","status":"passed","title":"[1] encode aes/gcm with customized values"},{"ancestorTitles":["encode uri with customized values"],"duration":0,"failureMessages":[],"fullName":"encode uri with customized values [2] encode salsa20 with customized values","status":"passed","title":"[2] encode salsa20 with customized values"},{"ancestorTitles":["encode uri with customized values"],"duration":0,"failureMessages":[],"fullName":"encode uri with customized values [3] encode xchacha with customized values","status":"passed","title":"[3] encode xchacha with customized values"},{"ancestorTitles":["encode uri with customized values"],"duration":0,"failureMessages":[],"fullName":"encode uri with customized values [4] encode chacha12 with customized values","status":"passed","title":"[4] encode chacha12 with customized values"},{"ancestorTitles":["uri matcher"],"duration":1,"failureMessages":[],"fullName":"uri matcher [1] match valid encrypted uri","status":"passed","title":"[1] match valid encrypted uri"},{"ancestorTitles":["uri matcher"],"duration":0,"failureMessages":[],"fullName":"uri matcher [2] match valid encrypted uri","status":"passed","title":"[2] match valid encrypted uri"},{"ancestorTitles":["uri matcher"],"duration":1,"failureMessages":[],"fullName":"uri matcher [3] match valid encrypted uri","status":"passed","title":"[3] match valid encrypted uri"},{"ancestorTitles":["uri matcher"],"duration":0,"failureMessages":[],"fullName":"uri matcher [4] match valid encrypted uri","status":"passed","title":"[4] match valid encrypted uri"},{"ancestorTitles":["uri matcher"],"duration":0,"failureMessages":[],"fullName":"uri matcher [5] match valid encrypted uri","status":"passed","title":"[5] match valid encrypted uri"},{"ancestorTitles":["uri matcher"],"duration":0,"failureMessages":[],"fullName":"uri matcher [6] match valid encrypted uri","status":"passed","title":"[6] match valid encrypted uri"},{"ancestorTitles":["uri matcher"],"duration":0,"failureMessages":[],"fullName":"uri matcher [7] match valid encrypted uri","status":"passed","title":"[7] match valid encrypted uri"},{"ancestorTitles":["uri matcher"],"duration":0,"failureMessages":[],"fullName":"uri matcher [8] match valid encrypted uri","status":"passed","title":"[8] match valid encrypted uri"},{"ancestorTitles":["uri matcher"],"duration":1,"failureMessages":[],"fullName":"uri matcher [9] match valid encrypted uri","status":"passed","title":"[9] match valid encrypted uri"},{"ancestorTitles":["uri matcher"],"duration":0,"failureMessages":[],"fullName":"uri matcher [10] match valid encrypted uri","status":"passed","title":"[10] match valid encrypted uri"},{"ancestorTitles":["uri matcher"],"duration":0,"failureMessages":[],"fullName":"uri matcher [11] match valid encrypted uri","status":"passed","title":"[11] match valid encrypted uri"},{"ancestorTitles":["EncryptedURI object"],"duration":0,"failureMessages":[],"fullName":"EncryptedURI object [1] match valid encrypted uri","status":"passed","title":"[1] match valid encrypted uri"},{"ancestorTitles":["EncryptedURI object"],"duration":1,"failureMessages":[],"fullName":"EncryptedURI object [2] EncryptedURI must run decrypt for custom algorithm","status":"passed","title":"[2] EncryptedURI must run decrypt for custom algorithm"},{"ancestorTitles":["EncryptedURI object"],"duration":1,"failureMessages":[],"fullName":"EncryptedURI object [3] EncryptedURI must run encrypt for custom algorithm","status":"passed","title":"[3] EncryptedURI must run encrypt for custom algorithm"},{"ancestorTitles":["EncryptedURI getKDFConfig"],"duration":0,"failureMessages":[],"fullName":"EncryptedURI getKDFConfig [1] EncryptedURI get KDF config from KDF config","status":"passed","title":"[1] EncryptedURI get KDF config from KDF config"},{"ancestorTitles":["EncryptedURI getKDFConfig"],"duration":1,"failureMessages":[],"fullName":"EncryptedURI getKDFConfig [2] EncryptedURI get KDF config from decoded URI","status":"passed","title":"[2] EncryptedURI get KDF config from decoded URI"}]}],"config":{"bail":0,"changedFilesWithAncestor":false,"ci":false,"collectCoverage":false,"collectCoverageFrom":[],"coverageDirectory":"/encrypted-uri/packages/core/coverage","coverageProvider":"babel","coverageReporters":["json","text","lcov","clover"],"detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"expand":false,"findRelatedTests":false,"forceExit":false,"json":false,"lastCommit":false,"listTests":false,"logHeapUsage":false,"maxConcurrency":5,"maxWorkers":7,"noStackTrace":false,"nonFlagArgs":[],"notify":false,"notifyMode":"failure-change","onlyChanged":false,"onlyFailures":false,"openHandlesTimeout":1000,"passWithNoTests":false,"projects":[],"reporters":[["default",{}],["/encrypted-uri/packages/core/node_modules/jest-html-reporters/index.js",{"publicPath":"../../docs/core","filename":"test-report.html","expand":true}]],"rootDir":"/encrypted-uri/packages/core","runTestsByPath":false,"seed":-1845586471,"skipFilter":false,"snapshotFormat":{"escapeString":false,"printBasicPrototype":false},"testFailureExitCode":1,"testPathPattern":"","testSequencer":"/encrypted-uri/packages/core/node_modules/@jest/test-sequencer/build/index.js","updateSnapshot":"new","useStderr":false,"verbose":true,"watch":false,"watchAll":false,"watchman":true,"workerThreads":false},"endTime":1708023515368,"_reporterOptions":{"publicPath":"../../docs/core","filename":"test-report.html","expand":true,"pageTitle":"","hideIcon":false,"testCommand":"","openReport":false,"failureMessageOnly":0,"enableMergeData":false,"dataMergeLevel":1,"inlineSource":false,"urlForTestFiles":"","darkTheme":false,"includeConsoleLog":false,"stripSkippedTest":false},"logInfoMapping":{},"attachInfos":{}}) \ No newline at end of file diff --git a/packages/ciphers/aes/cbc/index.ts b/packages/ciphers/aes/cbc/index.ts index 93679a0..cba6bb1 100755 --- a/packages/ciphers/aes/cbc/index.ts +++ b/packages/ciphers/aes/cbc/index.ts @@ -21,7 +21,6 @@ class EncryptedURIAESCBCDecrypter extends EncryptedURIDecrypter extends Enc async decrypt(): Promise { const cipher = base64.decode(this.decoded.cipher || ''); const params = getSalt(cipher, this.decoded?.params); - const result = await ecb(kdf(this.password, params.salt, this.decoded)) + const derivatedKey = kdf(this.password, params.salt, this.decoded); + const result = await ecb(derivatedKey) .decrypt(params.cipher); return bytesToUtf8(result); @@ -42,7 +43,8 @@ class EncryptedURIAESECBEncrypter extends Enc const content = utf8ToBytes(this.params.content); const saltLength = 8; const salt = randomBytes(saltLength); - const rawCipher = await ecb(kdf(this.params.password, salt, this.params)).encrypt(content); + const derivatedKey = kdf(this.params.password, salt, this.params); + const rawCipher = await ecb(derivatedKey).encrypt(content); const cipher = base64.encode(OpenSSLSerializer.encode(rawCipher, salt)); return Promise.resolve({ cipher }); diff --git a/packages/ciphers/aes/gcm/index.ts b/packages/ciphers/aes/gcm/index.ts index b7ebc64..c64838f 100755 --- a/packages/ciphers/aes/gcm/index.ts +++ b/packages/ciphers/aes/gcm/index.ts @@ -20,7 +20,8 @@ class EncryptedURIAESGCMDecrypter extends EncryptedURIDecrypter { constructor( @@ -20,7 +20,8 @@ class EncryptedURIAESSIVDecrypter extends EncryptedURIDecrypter { const parser = new EncryptedURIParser(encoded); expect(parser.decoded.params?.kdf).toEqual(undefined); - expect(parser.decoded.algorithm).toEqual('aes/cbc'); + expect(parser.decoded.algorithm).toEqual(undefined); expect(parser.decoded.params?.c).toEqual(undefined); expect(parser.decoded.params?.dklen).toEqual(undefined); expect(parser.decoded.params?.h).toEqual('keccak_512'); @@ -204,7 +204,7 @@ describe('hashing customization', () => { const parser = new EncryptedURIParser(encoded); expect(parser.decoded.params?.kdf).toEqual(undefined); - expect(parser.decoded.algorithm).toEqual('aes/cbc'); + expect(parser.decoded.algorithm).toEqual(undefined); expect(parser.decoded.params?.c).toEqual(undefined); expect(parser.decoded.params?.dklen).toEqual(undefined); expect(parser.decoded.params?.h).toEqual('keccak_384'); @@ -301,7 +301,7 @@ describe('checking if params are correctly encoded', () => { const parser = new EncryptedURIParser(encoded); expect(parser.decoded.params?.kdf).toEqual(undefined); - expect(parser.decoded.algorithm).toEqual('aes/cbc'); + expect(parser.decoded.algorithm).toEqual(undefined); expect(parser.decoded.params?.c).toEqual(undefined); expect(parser.decoded.params?.dklen).toEqual(undefined); expect(parser.decoded.params?.h).toEqual(undefined); diff --git a/packages/core/index.test.ts b/packages/core/index.test.ts index 4e89d92..6883004 100755 --- a/packages/core/index.test.ts +++ b/packages/core/index.test.ts @@ -19,9 +19,8 @@ describe('decode uri with default values', () => { }); it('[3] decode uri with some default values not include', () => { - expect(new EncryptedURIParser('encrypted:aes/cbc?2345678wertyui;en1e3kj3e31jn2algoritmgenerateddata').decoded) + expect(new EncryptedURIParser('encrypted:?2345678wertyui;en1e3kj3e31jn2algoritmgenerateddata').decoded) .toEqual({ - algorithm: 'aes/cbc', cipher: 'en1e3kj3e31jn2algoritmgenerateddata', queryString: '2345678wertyui' }); @@ -52,9 +51,8 @@ describe('decode uri with default values', () => { }); it('[6] decode uri with some default values not include', () => { - expect(new EncryptedURIParser('encrypted:aes/cbc?iv=2345678wertyui&pad=pkcs%237;en1e3kj3e31jn2algoritmgenerateddata').decoded) + expect(new EncryptedURIParser('encrypted:?iv=2345678wertyui&pad=pkcs%237;en1e3kj3e31jn2algoritmgenerateddata').decoded) .toEqual({ - algorithm: 'aes/cbc', cipher: 'en1e3kj3e31jn2algoritmgenerateddata', queryString: 'iv=2345678wertyui&pad=pkcs%237', params: { @@ -126,7 +124,7 @@ describe('encode uri with configs using default values', () => { params: { iv: '2345678wertyui' } - }).encoded).toEqual('encrypted:aes/cbc?iv=2345678wertyui;en1e3kj3e31jn2algoritmgenerateddata') + }).encoded).toEqual('encrypted:?iv=2345678wertyui;en1e3kj3e31jn2algoritmgenerateddata') }); it('[3] encode with default config with default values', () => { @@ -142,7 +140,7 @@ describe('encode uri with configs using default values', () => { algorithm: 'aes/cbc', cipher: 'en1e3kj3e31jn2algoritmgenerateddata', queryString: '2345678wertyui' - }).encoded).toEqual('encrypted:aes/cbc?2345678wertyui;en1e3kj3e31jn2algoritmgenerateddata') + }).encoded).toEqual('encrypted:?2345678wertyui;en1e3kj3e31jn2algoritmgenerateddata') }); it('[5] encode with default config with default values', () => { @@ -153,7 +151,7 @@ describe('encode uri with configs using default values', () => { iv: '2345678wertyui', pad: 'pkcs#7' } - }).encoded).toEqual('encrypted:aes/cbc?iv=2345678wertyui&pad=pkcs%237;en1e3kj3e31jn2algoritmgenerateddata') + }).encoded).toEqual('encrypted:?iv=2345678wertyui&pad=pkcs%237;en1e3kj3e31jn2algoritmgenerateddata') }); it('[6] encode with default config with default values', () => { @@ -171,7 +169,7 @@ describe('encode uri with configs using default values', () => { algorithm: 'aes/cbc', cipher: 'en1e3kj3e31jn2algoritmgenerateddata', queryString: 'iv=2345678wertyui' - }).encoded).toEqual('encrypted:aes/cbc?iv=2345678wertyui;en1e3kj3e31jn2algoritmgenerateddata') + }).encoded).toEqual('encrypted:?iv=2345678wertyui;en1e3kj3e31jn2algoritmgenerateddata') }); it('[8] encode with default config with default values', () => { @@ -182,7 +180,7 @@ describe('encode uri with configs using default values', () => { iv: '2345678wertyui', pad: 'pkcs#7' } - }).encoded).toEqual('encrypted:aes/cbc?iv=2345678wertyui&pad=pkcs%237;en1e3kj3e31jn2algoritmgenerateddata') + }).encoded).toEqual('encrypted:?iv=2345678wertyui&pad=pkcs%237;en1e3kj3e31jn2algoritmgenerateddata') }); }); @@ -244,7 +242,7 @@ describe('uri matcher', () => { }); it('[3] match valid encrypted uri', () => { - expect(EncryptedURIParser.matcher('encrypted:aes/cbc?2345678wertyui;en1e3kj3e31jn2algoritmgenerateddata')) + expect(EncryptedURIParser.matcher('encrypted:?2345678wertyui;en1e3kj3e31jn2algoritmgenerateddata')) .toEqual(true); }); @@ -259,7 +257,7 @@ describe('uri matcher', () => { }); it('[6] match valid encrypted uri', () => { - expect(EncryptedURIParser.matcher('encrypted:aes/cbc?iv=2345678wertyui&pad=pkcs%237;en1e3kj3e31jn2algoritmgenerateddata')) + expect(EncryptedURIParser.matcher('encrypted:?iv=2345678wertyui&pad=pkcs%237;en1e3kj3e31jn2algoritmgenerateddata')) .toEqual(true); }); diff --git a/packages/core/index.ts b/packages/core/index.ts index 63b83b8..2abc70e 100755 --- a/packages/core/index.ts +++ b/packages/core/index.ts @@ -111,8 +111,6 @@ export type TEncryptedURI = { }; class EncryptedURIDecoder { - - private readonly ENCRYPTED_URI_MATCHER = /^encrypted:/; private readonly QUERY_STRING_MATCHER = /^\?[^;]*;/; @@ -229,7 +227,7 @@ class EncryptedURIEncoder { return params; } - encode(content: TEncryptedURI & { kdf?: TEncryptedURIKDFParams }): string { + encode(content: TEncryptedURI & { kdf?: TEncryptedURIKDFParams, config?: TEncryptedDefaultsConfig }): string { const algorithm = this.encodeAlgorithm(content); const parameters = this.encodeParameters(content); @@ -263,8 +261,19 @@ class EncryptedURIEncoder { } private encodeAlgorithm( - content: TEncryptedURI + content: TEncryptedURI & { + config?: TEncryptedDefaultsConfig + } ): string { + const config = EncryptedURI.getConfigsOfDefaults(content.config); + + if ( + config.ignoreDefaultAlgorithm && + content.algorithm === EncryptedURI.defaultAlgotithm + ) { + return ''; + } + return content.algorithm || ''; } } @@ -280,10 +289,12 @@ export class EncryptedURIParser { constructor(content: string); constructor(content: TEncryptedURI & { - kdf?: TEncryptedURIKDFParams | undefined; + kdf?: TEncryptedURIKDFParams; + config?: TEncryptedDefaultsConfig; }); constructor(content: string | TEncryptedURI & { - kdf?: TEncryptedURIKDFParams | undefined; + kdf?: TEncryptedURIKDFParams; + config?: TEncryptedDefaultsConfig; }) { if (typeof content === 'string') { const decoder = new EncryptedURIDecoder(); @@ -530,7 +541,8 @@ export class EncryptedURI { } static encode(params: TEncryptedURI & { - kdf?: TEncryptedURIKDFParams | undefined; + kdf?: TEncryptedURIKDFParams; + config?: TEncryptedDefaultsConfig; }): string { return new EncryptedURIParser(params).encoded; } @@ -542,7 +554,11 @@ export class EncryptedURI { const ciphred = await new encrypter(params, ...args).encrypt(); ciphred.algorithm = encrypter.algorithm || params.algorithm; - return Promise.resolve(this.encode({ ...ciphred, kdf: params.kdf })); + return Promise.resolve(this.encode({ + ...ciphred, + kdf: params.kdf, + config: params.config + })); } static decrypt(