crypto = require('crypto').webcrypto;
}
-async function run(tlist, T, prepare_args) {
+async function run(tlist) {
function validate(t, r, i) {
if (r.status == "fulfilled" && !t[i].exception) {
return r.value === "SUCCESS";
for (let k = 0; k < tlist.length; k++) {
let ts = tlist[k];
- let results = await Promise.allSettled(ts.tests.map(t => T(prepare_args(t, ts.opts))));
+ let results = await Promise.allSettled(ts.tests.map(t => ts.T(ts.prepare_args(t, ts.opts))));
let r = results.map((r, i) => validate(ts.tests, r, i));
console.log(`${ts.name} ${r.every(v=>v == true) ? "SUCCESS" : "FAILED"}`);
let aes_tsuite = {
name: "AES encoding/decoding",
+ T: test,
+ prepare_args: p,
opts: {
iv: "44556677445566774455667744556677",
key: "00112233001122330011223300112233",
{ name: "AES-CBC", data: "aabbccdd".repeat(5), iv: "ffffffffffffffffffffffffffffffff" },
]};
-run([aes_tsuite], test, p);
+run([aes_tsuite]);
crypto = require('crypto').webcrypto;
}
-async function run(tlist, T, prepare_args) {
+async function run(tlist) {
function validate(t, r, i) {
if (r.status == "fulfilled" && !t[i].exception) {
return r.value === "SUCCESS";
for (let k = 0; k < tlist.length; k++) {
let ts = tlist[k];
- let results = await Promise.allSettled(ts.tests.map(t => T(prepare_args(t, ts.opts))));
+ let results = await Promise.allSettled(ts.tests.map(t => ts.T(ts.prepare_args(t, ts.opts))));
let r = results.map((r, i) => validate(ts.tests, r, i));
console.log(`${ts.name} ${r.every(v=>v == true) ? "SUCCESS" : "FAILED"}`);
let aes_tsuite = {
name: "AES decoding",
+ T: test,
+ prepare_args: p,
opts: {
key: "00112233001122330011223300112233",
iv: "44556677445566774455667744556677",
expected: "AES-CBC-256-SECRET-TEXT" },
]};
-run([aes_tsuite], test, p);
+run([aes_tsuite]);
crypto = require('crypto').webcrypto;
}
-async function run(tlist, T, prepare_args) {
+async function run(tlist) {
function validate(t, r, i) {
if (r.status == "fulfilled" && !t[i].exception) {
return r.value === "SUCCESS";
for (let k = 0; k < tlist.length; k++) {
let ts = tlist[k];
- let results = await Promise.allSettled(ts.tests.map(t => T(prepare_args(t, ts.opts))));
+ let results = await Promise.allSettled(ts.tests.map(t => ts.T(ts.prepare_args(t, ts.opts))));
let r = results.map((r, i) => validate(ts.tests, r, i));
console.log(`${ts.name} ${r.every(v=>v == true) ? "SUCCESS" : "FAILED"}`);
let derive_tsuite = {
name: "derive",
+ T: test,
+ prepare_args: p,
opts: {
text: "secReT",
pass: "passW0rd",
expected: "e089c7491711306c69e077aa19fae6bfd2d4a6d240b0d37317d50472d7291a3e" },
]};
-run([derive_tsuite], test, p);
+run([derive_tsuite]);
crypto = require('crypto').webcrypto;
}
-async function run(tlist, T, prepare_args) {
+async function run(tlist) {
function validate(t, r, i) {
if (r.status == "fulfilled" && !t[i].exception) {
return r.value === "SUCCESS";
for (let k = 0; k < tlist.length; k++) {
let ts = tlist[k];
- let results = await Promise.allSettled(ts.tests.map(t => T(prepare_args(t, ts.opts))));
+ let results = await Promise.allSettled(ts.tests.map(t => ts.T(ts.prepare_args(t, ts.opts))));
let r = results.map((r, i) => validate(ts.tests, r, i));
console.log(`${ts.name} ${r.every(v=>v == true) ? "SUCCESS" : "FAILED"}`);
let digest_tsuite = {
name: "SHA digest",
+ T: test,
+ prepare_args: p,
opts: { },
tests: [
expected: "cdea58919606ea9ae078f7595b192b84446f2189" },
]};
-run([digest_tsuite], test, p);
+run([digest_tsuite]);
crypto = require('crypto').webcrypto;
}
-async function run(tlist, T, prepare_args) {
+async function run(tlist) {
function validate(t, r, i) {
if (r.status == "fulfilled" && !t[i].exception) {
return r.value === "SUCCESS";
for (let k = 0; k < tlist.length; k++) {
let ts = tlist[k];
- let results = await Promise.allSettled(ts.tests.map(t => T(prepare_args(t, ts.opts))));
+ let results = await Promise.allSettled(ts.tests.map(t => ts.T(ts.prepare_args(t, ts.opts))));
let r = results.map((r, i) => validate(ts.tests, r, i));
console.log(`${ts.name} ${r.every(v=>v == true) ? "SUCCESS" : "FAILED"}`);
let rsa_tsuite = {
name: "RSA-OAEP encoding/decoding",
+ T: test,
+ prepare_args: p,
opts: {
spki: "rsa.spki",
spki_hash: "SHA-256",
{ data: "aabbcc", spki: "rsa2.spki", exception: "Error: EVP_PKEY_decrypt() failed" },
]};
-run([rsa_tsuite], test, p);
+run([rsa_tsuite]);
crypto = require('crypto').webcrypto;
}
-async function run(tlist, T, prepare_args) {
+async function run(tlist) {
function validate(t, r, i) {
if (r.status == "fulfilled" && !t[i].exception) {
return r.value === "SUCCESS";
for (let k = 0; k < tlist.length; k++) {
let ts = tlist[k];
- let results = await Promise.allSettled(ts.tests.map(t => T(prepare_args(t, ts.opts))));
+ let results = await Promise.allSettled(ts.tests.map(t => ts.T(ts.prepare_args(t, ts.opts))));
let r = results.map((r, i) => validate(ts.tests, r, i));
console.log(`${ts.name} ${r.every(v=>v == true) ? "SUCCESS" : "FAILED"}`);
let rsa_tsuite = {
name: "RSA-OAEP decoding",
+ T: test,
+ prepare_args: (v) => v,
opts: { },
tests: [
{ pem: "rsa.pkcs8.broken", src: "text.base64.rsa-oaep.enc", exception: "Error: d2i_PKCS8_PRIV_KEY_INFO_bio() failed" },
]};
-run([rsa_tsuite], test, (v) => v);
+run([rsa_tsuite]);
crypto = require('crypto').webcrypto;
}
-async function run(tlist, T, prepare_args) {
+async function run(tlist) {
function validate(t, r, i) {
if (r.status == "fulfilled" && !t[i].exception) {
return r.value === "SUCCESS";
for (let k = 0; k < tlist.length; k++) {
let ts = tlist[k];
- let results = await Promise.allSettled(ts.tests.map(t => T(prepare_args(t, ts.opts))));
+ let results = await Promise.allSettled(ts.tests.map(t => ts.T(ts.prepare_args(t, ts.opts))));
let r = results.map((r, i) => validate(ts.tests, r, i));
console.log(`${ts.name} ${r.every(v=>v == true) ? "SUCCESS" : "FAILED"}`);
let hmac_tsuite = {
name: "HMAC sign",
+ T: test,
+ prepare_args: p,
opts: {
text: "TExt-T0-SiGN",
sign_key: { key: "secretKEY", fmt: "raw" },
let rsassa_pkcs1_v1_5_tsuite = {
name: "RSASSA-PKCS1-v1_5 sign",
+ T: test,
+ prepare_args: p,
opts: {
text: "TExt-T0-SiGN",
sign_key: { key: "rsa.pkcs8", fmt: "pkcs8" },
let rsa_pss_tsuite = {
name: "RSA-PSS sign",
+ T: test,
+ prepare_args: p,
opts: {
text: "TExt-T0-SiGN",
sign_key: { key: "rsa.pkcs8", fmt: "pkcs8" },
let ecdsa_tsuite = {
name: "ECDSA sign",
+ T: test,
+ prepare_args: p,
opts: {
text: "TExt-T0-SiGN",
sign_key: { key: "ec.pkcs8", fmt: "pkcs8" },
rsassa_pkcs1_v1_5_tsuite,
rsa_pss_tsuite,
ecdsa_tsuite
-], test, p);
+]);
crypto = require('crypto').webcrypto;
}
-async function run(tlist, T, prepare_args) {
+async function run(tlist) {
function validate(t, r, i) {
if (r.status == "fulfilled" && !t[i].exception) {
return r.value === "SUCCESS";
for (let k = 0; k < tlist.length; k++) {
let ts = tlist[k];
- let results = await Promise.allSettled(ts.tests.map(t => T(prepare_args(t, ts.opts))));
+ let results = await Promise.allSettled(ts.tests.map(t => ts.T(ts.prepare_args(t, ts.opts))));
let r = results.map((r, i) => validate(ts.tests, r, i));
console.log(`${ts.name} ${r.every(v=>v == true) ? "SUCCESS" : "FAILED"}`);
let hmac_tsuite = {
name: "HMAC verify",
+ T: test,
+ prepare_args: p,
opts: {
text: "SigneD-TExt",
key: { fmt: "raw", file: "aabbcc" },
let rsassa_pkcs1_v1_5_tsuite = {
name: "RSASSA-PKCS1-v1_5 verify",
+ T: test,
+ prepare_args: p,
opts: {
text: "SigneD-TExt",
key: { fmt: "spki", file: "rsa.spki" },
let rsa_pss_tsuite = {
name: "RSA-PSS verify",
+ T: test,
+ prepare_args: p,
opts: {
text: "SigneD-TExt",
key: { fmt: "spki", file: "rsa.spki" },
let ecdsa_tsuite = {
name: "ECDSA verify",
+ T: test,
+ prepare_args: p,
opts: {
text: "SigneD-TExt",
key: { fmt: "spki", file: "ec.spki" },
rsassa_pkcs1_v1_5_tsuite,
rsa_pss_tsuite,
ecdsa_tsuite,
-], test, p);
+]);