mirror of
https://github.com/servo/servo.git
synced 2025-08-03 12:40:06 +01:00
Update web-platform-tests to revision 4333a1d2f109795547fc5e22ebfc8481fa649de7
This commit is contained in:
parent
728ebcc932
commit
8c46b67f8e
456 changed files with 10561 additions and 5108 deletions
|
@ -0,0 +1,3 @@
|
|||
// META: title=WebCryptoAPI: deriveBits() Using ECDH
|
||||
// META: script=ecdh_bits.js
|
||||
run_test();
|
|
@ -1,4 +0,0 @@
|
|||
importScripts("/resources/testharness.js");
|
||||
importScripts("ecdh_bits.js");
|
||||
|
||||
run_test();
|
|
@ -0,0 +1,3 @@
|
|||
// META: title=WebCryptoAPI: deriveKey() Using ECDH
|
||||
// META: script=ecdh_keys.js
|
||||
run_test();
|
|
@ -1,4 +0,0 @@
|
|||
importScripts("/resources/testharness.js");
|
||||
importScripts("ecdh_keys.js");
|
||||
|
||||
run_test();
|
|
@ -0,0 +1,9 @@
|
|||
// META: title=WebCryptoAPI: deriveBits() and deriveKey() Using HKDF
|
||||
// META: variant=?1-1000
|
||||
// META: variant=?1001-2000
|
||||
// META: variant=?2001-3000
|
||||
// META: variant=?3001-last
|
||||
// META: script=/common/subset-tests.js
|
||||
// META: script=hkdf_vectors.js
|
||||
// META: script=hkdf.js
|
||||
run_test();
|
|
@ -1,5 +0,0 @@
|
|||
importScripts("/resources/testharness.js");
|
||||
importScripts("hkdf_vectors.js");
|
||||
importScripts("hkdf.js");
|
||||
|
||||
run_test();
|
|
@ -36,7 +36,7 @@ function run_test() {
|
|||
var algorithm = {name: "HKDF", salt: salts[saltSize], info: infos[infoSize], hash: hashName};
|
||||
|
||||
// Check for correct deriveBits result
|
||||
promise_test(function(test) {
|
||||
subsetTest(promise_test, function(test) {
|
||||
return subtle.deriveBits(algorithm, baseKeys[derivedKeySize], 256)
|
||||
.then(function(derivation) {
|
||||
assert_true(equalBuffers(derivation, derivations[derivedKeySize][saltSize][hashName][infoSize]), "Derived correct key");
|
||||
|
@ -46,7 +46,7 @@ function run_test() {
|
|||
}, testName);
|
||||
|
||||
// 0 length (OperationError)
|
||||
promise_test(function(test) {
|
||||
subsetTest(promise_test, function(test) {
|
||||
return subtle.deriveBits(algorithm, baseKeys[derivedKeySize], 0)
|
||||
.then(function(derivation) {
|
||||
assert_equals(derivation.byteLength, 0, "Derived correctly empty key");
|
||||
|
@ -65,7 +65,7 @@ function run_test() {
|
|||
testName += " using " + derivedKeySize + " derivedKey, " + saltSize + " salt, " + hashName + ", with " + infoSize + " info";
|
||||
|
||||
// Test the particular key derivation.
|
||||
promise_test(function(test) {
|
||||
subsetTest(promise_test, function(test) {
|
||||
return subtle.deriveKey(algorithm, baseKeys[derivedKeySize], derivedKeyType.algorithm, true, derivedKeyType.usages)
|
||||
.then(function(key) {
|
||||
// Need to export the key to see that the correct bits were set.
|
||||
|
@ -85,7 +85,7 @@ function run_test() {
|
|||
|
||||
// - illegal name for hash algorithm (NotSupportedError)
|
||||
var badHash = hashName.substring(0, 3) + hashName.substring(4);
|
||||
promise_test(function(test) {
|
||||
subsetTest(promise_test, function(test) {
|
||||
var badAlgorithm = {name: "HKDF", salt: salts[saltSize], hash: badHash};
|
||||
return subtle.deriveKey(badAlgorithm, baseKeys[derivedKeySize], derivedKeyType.algorithm, true, derivedKeyType.usages)
|
||||
.then(function(key) {
|
||||
|
@ -96,7 +96,7 @@ function run_test() {
|
|||
}, testName + " with bad hash name " + badHash);
|
||||
|
||||
// - baseKey usages missing "deriveKey" (InvalidAccessError)
|
||||
promise_test(function(test) {
|
||||
subsetTest(promise_test, function(test) {
|
||||
return subtle.deriveKey(algorithm, noKey[derivedKeySize], derivedKeyType.algorithm, true, derivedKeyType.usages)
|
||||
.then(function(key) {
|
||||
assert_unreached("missing deriveKey usage should have thrown an InvalidAccessError");
|
||||
|
@ -106,7 +106,7 @@ function run_test() {
|
|||
}, testName + " with missing deriveKey usage");
|
||||
|
||||
// - baseKey algorithm does not match HKDF (InvalidAccessError)
|
||||
promise_test(function(test) {
|
||||
subsetTest(promise_test, function(test) {
|
||||
return subtle.deriveKey(algorithm, wrongKey, derivedKeyType.algorithm, true, derivedKeyType.usages)
|
||||
.then(function(key) {
|
||||
assert_unreached("wrong (ECDH) key should have thrown an InvalidAccessError");
|
||||
|
@ -120,7 +120,7 @@ function run_test() {
|
|||
// Test various error conditions for deriveBits below:
|
||||
|
||||
// missing salt (TypeError)
|
||||
promise_test(function(test) {
|
||||
subsetTest(promise_test, function(test) {
|
||||
return subtle.deriveBits({name: "HKDF", info: infos[infoSize], hash: hashName}, baseKeys[derivedKeySize], 0)
|
||||
.then(function(derivation) {
|
||||
assert_equals(derivation.byteLength, 0, "Derived even with missing salt");
|
||||
|
@ -130,7 +130,7 @@ function run_test() {
|
|||
}, testName + " with missing salt");
|
||||
|
||||
// missing info (TypeError)
|
||||
promise_test(function(test) {
|
||||
subsetTest(promise_test, function(test) {
|
||||
return subtle.deriveBits({name: "HKDF", salt: salts[saltSize], hash: hashName}, baseKeys[derivedKeySize], 0)
|
||||
.then(function(derivation) {
|
||||
assert_equals(derivation.byteLength, 0, "Derived even with missing info");
|
||||
|
@ -140,7 +140,7 @@ function run_test() {
|
|||
}, testName + " with missing info");
|
||||
|
||||
// length null (OperationError)
|
||||
promise_test(function(test) {
|
||||
subsetTest(promise_test, function(test) {
|
||||
return subtle.deriveBits(algorithm, baseKeys[derivedKeySize], null)
|
||||
.then(function(derivation) {
|
||||
assert_unreached("null length should have thrown an TypeError");
|
||||
|
@ -150,7 +150,7 @@ function run_test() {
|
|||
}, testName + " with null length");
|
||||
|
||||
// length not multiple of 8 (OperationError)
|
||||
promise_test(function(test) {
|
||||
subsetTest(promise_test, function(test) {
|
||||
return subtle.deriveBits(algorithm, baseKeys[derivedKeySize], 44)
|
||||
.then(function(derivation) {
|
||||
assert_unreached("non-multiple of 8 length should have thrown an OperationError");
|
||||
|
@ -161,7 +161,7 @@ function run_test() {
|
|||
|
||||
// - illegal name for hash algorithm (NotSupportedError)
|
||||
var badHash = hashName.substring(0, 3) + hashName.substring(4);
|
||||
promise_test(function(test) {
|
||||
subsetTest(promise_test, function(test) {
|
||||
var badAlgorithm = {name: "HKDF", salt: salts[saltSize], hash: badHash};
|
||||
return subtle.deriveBits(badAlgorithm, baseKeys[derivedKeySize], 256)
|
||||
.then(function(derivation) {
|
||||
|
@ -172,7 +172,7 @@ function run_test() {
|
|||
}, testName + " with bad hash name " + badHash);
|
||||
|
||||
// - baseKey usages missing "deriveBits" (InvalidAccessError)
|
||||
promise_test(function(test) {
|
||||
subsetTest(promise_test, function(test) {
|
||||
return subtle.deriveBits(algorithm, noBits[derivedKeySize], 256)
|
||||
.then(function(derivation) {
|
||||
assert_unreached("missing deriveBits usage should have thrown an InvalidAccessError");
|
||||
|
@ -182,7 +182,7 @@ function run_test() {
|
|||
}, testName + " with missing deriveBits usage");
|
||||
|
||||
// - baseKey algorithm does not match HKDF (InvalidAccessError)
|
||||
promise_test(function(test) {
|
||||
subsetTest(promise_test, function(test) {
|
||||
return subtle.deriveBits(algorithm, wrongKey, 256)
|
||||
.then(function(derivation) {
|
||||
assert_unreached("wrong (ECDH) key should have thrown an InvalidAccessError");
|
||||
|
@ -202,7 +202,7 @@ function run_test() {
|
|||
algorithm.info = infos[infoSize];
|
||||
}
|
||||
|
||||
promise_test(function(test) {
|
||||
subsetTest(promise_test, function(test) {
|
||||
return subtle.deriveBits(algorithm, baseKeys[derivedKeySize], 256)
|
||||
.then(function(derivation) {
|
||||
assert_unreached("non-digest algorithm should have thrown an NotSupportedError");
|
||||
|
@ -218,7 +218,7 @@ function run_test() {
|
|||
});
|
||||
testName += " using " + derivedKeySize + " derivedKey, " + saltSize + " salt, " + nonDigestHash + ", with " + infoSize + " info";
|
||||
|
||||
promise_test(function(test) {
|
||||
subsetTest(promise_test, function(test) {
|
||||
return subtle.deriveKey(algorithm, baseKeys[derivedKeySize], derivedKeyType.algorithm, true, derivedKeyType.usages)
|
||||
.then(function(derivation) {
|
||||
assert_unreached("non-digest algorithm should have thrown an NotSupportedError");
|
||||
|
@ -235,7 +235,7 @@ function run_test() {
|
|||
|
||||
done();
|
||||
}, function(err) {
|
||||
test(function(test) {
|
||||
subsetTest(test, function(test) {
|
||||
assert_unreached("setUpBaseKeys failed with error '" + err.message + "'");
|
||||
}, "setUpBaseKeys");
|
||||
done();
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
// META: title=WebCryptoAPI: deriveBits() and deriveKey() Using PBKDF2
|
||||
// META: timeout=long
|
||||
// META: variant=?1-1000
|
||||
// META: variant=?1001-2000
|
||||
// META: variant=?2001-3000
|
||||
// META: variant=?3001-4000
|
||||
// META: variant=?4001-5000
|
||||
// META: variant=?5001-6000
|
||||
// META: variant=?6001-7000
|
||||
// META: variant=?7001-8000
|
||||
// META: variant=?8001-last
|
||||
// META: script=/common/subset-tests.js
|
||||
// META: script=pbkdf2_vectors.js
|
||||
// META: script=pbkdf2.js
|
||||
run_test();
|
|
@ -1,6 +0,0 @@
|
|||
// META: timeout=long
|
||||
importScripts("/resources/testharness.js");
|
||||
importScripts("pbkdf2_vectors.js");
|
||||
importScripts("pbkdf2.js");
|
||||
|
||||
run_test();
|
|
@ -1,4 +1,4 @@
|
|||
function run_test(testPasswordSize, testSaltSize) {
|
||||
function run_test() {
|
||||
// May want to test prefixed implementations.
|
||||
var subtle = self.crypto.subtle;
|
||||
|
||||
|
@ -27,15 +27,13 @@ function run_test(testPasswordSize, testSaltSize) {
|
|||
// and number of iterations. The derivations object is structured in
|
||||
// that way, so navigate it to run tests and compare with correct results.
|
||||
Object.keys(derivations).forEach(function(passwordSize) {
|
||||
if (typeof testPasswordSize != 'undefined' && testPasswordSize != passwordSize) return;
|
||||
Object.keys(derivations[passwordSize]).forEach(function(saltSize) {
|
||||
if (typeof testSaltSize != 'undefined' && testSaltSize != saltSize) return;
|
||||
Object.keys(derivations[passwordSize][saltSize]).forEach(function(hashName) {
|
||||
Object.keys(derivations[passwordSize][saltSize][hashName]).forEach(function(iterations) {
|
||||
var testName = passwordSize + " password, " + saltSize + " salt, " + hashName + ", with " + iterations + " iterations";
|
||||
|
||||
// Check for correct deriveBits result
|
||||
promise_test(function(test) {
|
||||
subsetTest(promise_test, function(test) {
|
||||
return subtle.deriveBits({name: "PBKDF2", salt: salts[saltSize], hash: hashName, iterations: parseInt(iterations)}, baseKeys[passwordSize], 256)
|
||||
.then(function(derivation) {
|
||||
assert_true(equalBuffers(derivation, derivations[passwordSize][saltSize][hashName][iterations]), "Derived correct key");
|
||||
|
@ -54,7 +52,7 @@ function run_test(testPasswordSize, testSaltSize) {
|
|||
testName += " using " + passwordSize + " password, " + saltSize + " salt, " + hashName + ", with " + iterations + " iterations";
|
||||
|
||||
// Test the particular key derivation.
|
||||
promise_test(function(test) {
|
||||
subsetTest(promise_test, function(test) {
|
||||
return subtle.deriveKey({name: "PBKDF2", salt: salts[saltSize], hash: hashName, iterations: parseInt(iterations)}, baseKeys[passwordSize], derivedKeyType.algorithm, true, derivedKeyType.usages)
|
||||
.then(function(key) {
|
||||
// Need to export the key to see that the correct bits were set.
|
||||
|
@ -74,7 +72,7 @@ function run_test(testPasswordSize, testSaltSize) {
|
|||
|
||||
// - illegal name for hash algorithm (NotSupportedError)
|
||||
var badHash = hashName.substring(0, 3) + hashName.substring(4);
|
||||
promise_test(function(test) {
|
||||
subsetTest(promise_test, function(test) {
|
||||
return subtle.deriveKey({name: "PBKDF2", salt: salts[saltSize], hash: badHash, iterations: parseInt(iterations)}, baseKeys[passwordSize], derivedKeyType.algorithm, true, derivedKeyType.usages)
|
||||
.then(function(key) {
|
||||
assert_unreached("bad hash name should have thrown an NotSupportedError");
|
||||
|
@ -84,7 +82,7 @@ function run_test(testPasswordSize, testSaltSize) {
|
|||
}, testName + " with bad hash name " + badHash);
|
||||
|
||||
// - baseKey usages missing "deriveKey" (InvalidAccessError)
|
||||
promise_test(function(test) {
|
||||
subsetTest(promise_test, function(test) {
|
||||
return subtle.deriveKey({name: "PBKDF2", salt: salts[saltSize], hash: hashName, iterations: parseInt(iterations)}, noKey[passwordSize], derivedKeyType.algorithm, true, derivedKeyType.usages)
|
||||
.then(function(key) {
|
||||
assert_unreached("missing deriveKey usage should have thrown an InvalidAccessError");
|
||||
|
@ -94,7 +92,7 @@ function run_test(testPasswordSize, testSaltSize) {
|
|||
}, testName + " with missing deriveKey usage");
|
||||
|
||||
// - baseKey algorithm does not match PBKDF2 (InvalidAccessError)
|
||||
promise_test(function(test) {
|
||||
subsetTest(promise_test, function(test) {
|
||||
return subtle.deriveKey({name: "PBKDF2", salt: salts[saltSize], hash: hashName, iterations: parseInt(iterations)}, wrongKey, derivedKeyType.algorithm, true, derivedKeyType.usages)
|
||||
.then(function(key) {
|
||||
assert_unreached("wrong (ECDH) key should have thrown an InvalidAccessError");
|
||||
|
@ -107,7 +105,7 @@ function run_test(testPasswordSize, testSaltSize) {
|
|||
|
||||
// Test various error conditions for deriveBits below:
|
||||
// length null (OperationError)
|
||||
promise_test(function(test) {
|
||||
subsetTest(promise_test, function(test) {
|
||||
return subtle.deriveBits({name: "PBKDF2", salt: salts[saltSize], hash: hashName, iterations: parseInt(iterations)}, baseKeys[passwordSize], null)
|
||||
.then(function(derivation) {
|
||||
assert_unreached("null length should have thrown an OperationError");
|
||||
|
@ -117,7 +115,7 @@ function run_test(testPasswordSize, testSaltSize) {
|
|||
}, testName + " with null length");
|
||||
|
||||
// 0 length (OperationError)
|
||||
promise_test(function(test) {
|
||||
subsetTest(promise_test, function(test) {
|
||||
return subtle.deriveBits({name: "PBKDF2", salt: salts[saltSize], hash: hashName, iterations: parseInt(iterations)}, baseKeys[passwordSize], 0)
|
||||
.then(function(derivation) {
|
||||
assert_unreached("0 length should have thrown an OperationError");
|
||||
|
@ -127,7 +125,7 @@ function run_test(testPasswordSize, testSaltSize) {
|
|||
}, testName + " with 0 length");
|
||||
|
||||
// length not multiple of 8 (OperationError)
|
||||
promise_test(function(test) {
|
||||
subsetTest(promise_test, function(test) {
|
||||
return subtle.deriveBits({name: "PBKDF2", salt: salts[saltSize], hash: hashName, iterations: parseInt(iterations)}, baseKeys[passwordSize], 44)
|
||||
.then(function(derivation) {
|
||||
assert_unreached("non-multiple of 8 length should have thrown an OperationError");
|
||||
|
@ -138,7 +136,7 @@ function run_test(testPasswordSize, testSaltSize) {
|
|||
|
||||
// - illegal name for hash algorithm (NotSupportedError)
|
||||
var badHash = hashName.substring(0, 3) + hashName.substring(4);
|
||||
promise_test(function(test) {
|
||||
subsetTest(promise_test, function(test) {
|
||||
return subtle.deriveBits({name: "PBKDF2", salt: salts[saltSize], hash: badHash, iterations: parseInt(iterations)}, baseKeys[passwordSize], 256)
|
||||
.then(function(derivation) {
|
||||
assert_unreached("bad hash name should have thrown an NotSupportedError");
|
||||
|
@ -148,7 +146,7 @@ function run_test(testPasswordSize, testSaltSize) {
|
|||
}, testName + " with bad hash name " + badHash);
|
||||
|
||||
// - baseKey usages missing "deriveBits" (InvalidAccessError)
|
||||
promise_test(function(test) {
|
||||
subsetTest(promise_test, function(test) {
|
||||
return subtle.deriveBits({name: "PBKDF2", salt: salts[saltSize], hash: hashName, iterations: parseInt(iterations)}, noBits[passwordSize], 256)
|
||||
.then(function(derivation) {
|
||||
assert_unreached("missing deriveBits usage should have thrown an InvalidAccessError");
|
||||
|
@ -158,7 +156,7 @@ function run_test(testPasswordSize, testSaltSize) {
|
|||
}, testName + " with missing deriveBits usage");
|
||||
|
||||
// - baseKey algorithm does not match PBKDF2 (InvalidAccessError)
|
||||
promise_test(function(test) {
|
||||
subsetTest(promise_test, function(test) {
|
||||
return subtle.deriveBits({name: "PBKDF2", salt: salts[saltSize], hash: hashName, iterations: parseInt(iterations)}, wrongKey, 256)
|
||||
.then(function(derivation) {
|
||||
assert_unreached("wrong (ECDH) key should have thrown an InvalidAccessError");
|
||||
|
@ -169,7 +167,7 @@ function run_test(testPasswordSize, testSaltSize) {
|
|||
});
|
||||
|
||||
// Check that 0 iterations throws proper error
|
||||
promise_test(function(test) {
|
||||
subsetTest(promise_test, function(test) {
|
||||
return subtle.deriveBits({name: "PBKDF2", salt: salts[saltSize], hash: hashName, iterations: 0}, baseKeys[passwordSize], 256)
|
||||
.then(function(derivation) {
|
||||
assert_unreached("0 iterations should have thrown an error");
|
||||
|
@ -185,7 +183,7 @@ function run_test(testPasswordSize, testSaltSize) {
|
|||
});
|
||||
testName += " using " + passwordSize + " password, " + saltSize + " salt, " + hashName + ", with 0 iterations";
|
||||
|
||||
promise_test(function(test) {
|
||||
subsetTest(promise_test, function(test) {
|
||||
return subtle.deriveKey({name: "PBKDF2", salt: salts[saltSize], hash: hashName, iterations: 0}, baseKeys[passwordSize], derivedKeyType.algorithm, true, derivedKeyType.usages)
|
||||
.then(function(derivation) {
|
||||
assert_unreached("0 iterations should have thrown an error");
|
||||
|
@ -201,7 +199,7 @@ function run_test(testPasswordSize, testSaltSize) {
|
|||
[1, 1000, 100000].forEach(function(iterations) {
|
||||
var testName = passwordSize + " password, " + saltSize + " salt, " + nonDigestHash + ", with " + iterations + " iterations";
|
||||
|
||||
promise_test(function(test) {
|
||||
subsetTest(promise_test, function(test) {
|
||||
return subtle.deriveBits({name: "PBKDF2", salt: salts[saltSize], hash: nonDigestHash, iterations: parseInt(iterations)}, baseKeys[passwordSize], 256)
|
||||
.then(function(derivation) {
|
||||
assert_unreached("non-digest algorithm should have thrown an NotSupportedError");
|
||||
|
@ -217,7 +215,7 @@ function run_test(testPasswordSize, testSaltSize) {
|
|||
});
|
||||
testName += " using " + passwordSize + " password, " + saltSize + " salt, " + nonDigestHash + ", with " + iterations + " iterations";
|
||||
|
||||
promise_test(function(test) {
|
||||
subsetTest(promise_test, function(test) {
|
||||
return subtle.deriveKey({name: "PBKDF2", salt: salts[saltSize], hash: nonDigestHash, iterations: parseInt(iterations)}, baseKeys[passwordSize], derivedKeyType.algorithm, true, derivedKeyType.usages)
|
||||
.then(function(derivation) {
|
||||
assert_unreached("non-digest algorithm should have thrown an NotSupportedError");
|
||||
|
@ -234,7 +232,7 @@ function run_test(testPasswordSize, testSaltSize) {
|
|||
|
||||
done();
|
||||
}, function(err) {
|
||||
test(function(test) {
|
||||
subsetTest(test, function(test) {
|
||||
assert_unreached("setUpBaseKeys failed with error '" + err.message + "'");
|
||||
}, "setUpBaseKeys");
|
||||
done();
|
||||
|
|
|
@ -1,17 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<meta name="timeout" content="long">
|
||||
<title>WebCryptoAPI: deriveBits() Using ECDH</title>
|
||||
<link rel="author" title="Charles Engelke" href="mailto:w3c@engelke.com">
|
||||
<link rel="help" href="https://w3c.github.io/webcrypto/Overview.html#SubtleCrypto-method-deriveBits">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
|
||||
<script src="ecdh_bits.js"></script>
|
||||
|
||||
<h1>deriveBits Tests for ECDH</h1>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
run_test();
|
||||
</script>
|
|
@ -1,17 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<meta name="timeout" content="long">
|
||||
<title>WebCryptoAPI:deriveKey() Using ECDH</title>
|
||||
<link rel="author" title="Charles Engelke" href="mailto:w3c@engelke.com">
|
||||
<link rel="help" href="https://w3c.github.io/webcrypto/Overview.html#SubtleCrypto-method-deriveKey">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
|
||||
<script src="ecdh_keys.js"></script>
|
||||
|
||||
<h1>deriveKey Tests for ECDH</h1>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
run_test();
|
||||
</script>
|
|
@ -1,19 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<meta name="timeout" content="long">
|
||||
<title>WebCryptoAPI: deriveBits() and deriveKey() Using HKDF</title>
|
||||
<link rel="author" title="Charles Engelke" href="mailto:w3c@engelke.com">
|
||||
<link rel="help" href="https://w3c.github.io/webcrypto/Overview.html#SubtleCrypto-method-deriveBits">
|
||||
<link rel="help" href="https://w3c.github.io/webcrypto/Overview.html#SubtleCrypto-method-deriveKey">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
|
||||
<script src="hkdf_vectors.js"></script>
|
||||
<script src="hkdf.js"></script>
|
||||
|
||||
<h1>deriveBits and deriveKey Tests for HKDF</h1>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
run_test();
|
||||
</script>
|
|
@ -1,22 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<meta name="timeout" content="long">
|
||||
<title>WebCryptoAPI: deriveBits() and deriveKey() Using PBKDF2</title>
|
||||
<link rel="author" title="Charles Engelke" href="mailto:w3c@engelke.com">
|
||||
<link rel="help" href="https://w3c.github.io/webcrypto/Overview.html#SubtleCrypto-method-deriveBits">
|
||||
<link rel="help" href="https://w3c.github.io/webcrypto/Overview.html#SubtleCrypto-method-deriveKey">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
|
||||
<script src="pbkdf2_vectors.js"></script>
|
||||
<script src="pbkdf2.js"></script>
|
||||
|
||||
<h1>deriveBits and deriveKey Tests for PBKDF2</h1>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
run_test(
|
||||
"empty", //password size
|
||||
"empty" //salt size
|
||||
);
|
||||
</script>
|
|
@ -1,22 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<meta name="timeout" content="long">
|
||||
<title>WebCryptoAPI: deriveBits() and deriveKey() Using PBKDF2</title>
|
||||
<link rel="author" title="Charles Engelke" href="mailto:w3c@engelke.com">
|
||||
<link rel="help" href="https://w3c.github.io/webcrypto/Overview.html#SubtleCrypto-method-deriveBits">
|
||||
<link rel="help" href="https://w3c.github.io/webcrypto/Overview.html#SubtleCrypto-method-deriveKey">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
|
||||
<script src="pbkdf2_vectors.js"></script>
|
||||
<script src="pbkdf2.js"></script>
|
||||
|
||||
<h1>deriveBits and deriveKey Tests for PBKDF2</h1>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
run_test(
|
||||
"empty", //password size
|
||||
"long" //salt size
|
||||
);
|
||||
</script>
|
|
@ -1,22 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<meta name="timeout" content="long">
|
||||
<title>WebCryptoAPI: deriveBits() and deriveKey() Using PBKDF2</title>
|
||||
<link rel="author" title="Charles Engelke" href="mailto:w3c@engelke.com">
|
||||
<link rel="help" href="https://w3c.github.io/webcrypto/Overview.html#SubtleCrypto-method-deriveBits">
|
||||
<link rel="help" href="https://w3c.github.io/webcrypto/Overview.html#SubtleCrypto-method-deriveKey">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
|
||||
<script src="pbkdf2_vectors.js"></script>
|
||||
<script src="pbkdf2.js"></script>
|
||||
|
||||
<h1>deriveBits and deriveKey Tests for PBKDF2</h1>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
run_test(
|
||||
"empty", //password size
|
||||
"short" //salt size
|
||||
);
|
||||
</script>
|
|
@ -1,22 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<meta name="timeout" content="long">
|
||||
<title>WebCryptoAPI: deriveBits() and deriveKey() Using PBKDF2</title>
|
||||
<link rel="author" title="Charles Engelke" href="mailto:w3c@engelke.com">
|
||||
<link rel="help" href="https://w3c.github.io/webcrypto/Overview.html#SubtleCrypto-method-deriveBits">
|
||||
<link rel="help" href="https://w3c.github.io/webcrypto/Overview.html#SubtleCrypto-method-deriveKey">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
|
||||
<script src="pbkdf2_vectors.js"></script>
|
||||
<script src="pbkdf2.js"></script>
|
||||
|
||||
<h1>deriveBits and deriveKey Tests for PBKDF2</h1>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
run_test(
|
||||
"long", //password size
|
||||
"empty" //salt size
|
||||
);
|
||||
</script>
|
|
@ -1,22 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<meta name="timeout" content="long">
|
||||
<title>WebCryptoAPI: deriveBits() and deriveKey() Using PBKDF2</title>
|
||||
<link rel="author" title="Charles Engelke" href="mailto:w3c@engelke.com">
|
||||
<link rel="help" href="https://w3c.github.io/webcrypto/Overview.html#SubtleCrypto-method-deriveBits">
|
||||
<link rel="help" href="https://w3c.github.io/webcrypto/Overview.html#SubtleCrypto-method-deriveKey">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
|
||||
<script src="pbkdf2_vectors.js"></script>
|
||||
<script src="pbkdf2.js"></script>
|
||||
|
||||
<h1>deriveBits and deriveKey Tests for PBKDF2</h1>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
run_test(
|
||||
"long", //password size
|
||||
"long" //salt size
|
||||
);
|
||||
</script>
|
|
@ -1,22 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<meta name="timeout" content="long">
|
||||
<title>WebCryptoAPI: deriveBits() and deriveKey() Using PBKDF2</title>
|
||||
<link rel="author" title="Charles Engelke" href="mailto:w3c@engelke.com">
|
||||
<link rel="help" href="https://w3c.github.io/webcrypto/Overview.html#SubtleCrypto-method-deriveBits">
|
||||
<link rel="help" href="https://w3c.github.io/webcrypto/Overview.html#SubtleCrypto-method-deriveKey">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
|
||||
<script src="pbkdf2_vectors.js"></script>
|
||||
<script src="pbkdf2.js"></script>
|
||||
|
||||
<h1>deriveBits and deriveKey Tests for PBKDF2</h1>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
run_test(
|
||||
"long", //password size
|
||||
"short" //salt size
|
||||
);
|
||||
</script>
|
|
@ -1,22 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<meta name="timeout" content="long">
|
||||
<title>WebCryptoAPI: deriveBits() and deriveKey() Using PBKDF2</title>
|
||||
<link rel="author" title="Charles Engelke" href="mailto:w3c@engelke.com">
|
||||
<link rel="help" href="https://w3c.github.io/webcrypto/Overview.html#SubtleCrypto-method-deriveBits">
|
||||
<link rel="help" href="https://w3c.github.io/webcrypto/Overview.html#SubtleCrypto-method-deriveKey">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
|
||||
<script src="pbkdf2_vectors.js"></script>
|
||||
<script src="pbkdf2.js"></script>
|
||||
|
||||
<h1>deriveBits and deriveKey Tests for PBKDF2</h1>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
run_test(
|
||||
"short", //password size
|
||||
"empty" //salt size
|
||||
);
|
||||
</script>
|
|
@ -1,22 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<meta name="timeout" content="long">
|
||||
<title>WebCryptoAPI: deriveBits() and deriveKey() Using PBKDF2</title>
|
||||
<link rel="author" title="Charles Engelke" href="mailto:w3c@engelke.com">
|
||||
<link rel="help" href="https://w3c.github.io/webcrypto/Overview.html#SubtleCrypto-method-deriveBits">
|
||||
<link rel="help" href="https://w3c.github.io/webcrypto/Overview.html#SubtleCrypto-method-deriveKey">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
|
||||
<script src="pbkdf2_vectors.js"></script>
|
||||
<script src="pbkdf2.js"></script>
|
||||
|
||||
<h1>deriveBits and deriveKey Tests for PBKDF2</h1>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
run_test(
|
||||
"short", //password size
|
||||
"long" //salt size
|
||||
);
|
||||
</script>
|
|
@ -1,22 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<meta name="timeout" content="long">
|
||||
<title>WebCryptoAPI: deriveBits() and deriveKey() Using PBKDF2</title>
|
||||
<link rel="author" title="Charles Engelke" href="mailto:w3c@engelke.com">
|
||||
<link rel="help" href="https://w3c.github.io/webcrypto/Overview.html#SubtleCrypto-method-deriveBits">
|
||||
<link rel="help" href="https://w3c.github.io/webcrypto/Overview.html#SubtleCrypto-method-deriveKey">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
|
||||
<script src="pbkdf2_vectors.js"></script>
|
||||
<script src="pbkdf2.js"></script>
|
||||
|
||||
<h1>deriveBits and deriveKey Tests for PBKDF2</h1>
|
||||
|
||||
<div id="log"></div>
|
||||
<script>
|
||||
run_test(
|
||||
"short", //password size
|
||||
"short" //salt size
|
||||
);
|
||||
</script>
|
|
@ -1,3 +1,4 @@
|
|||
// META: title=WebCryptoAPI: generateKey() for Failures
|
||||
// META: timeout=long
|
||||
// META: script=../util/helpers.js
|
||||
// META: script=failures.js
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
// META: title=WebCryptoAPI: generateKey() for Failures
|
||||
// META: timeout=long
|
||||
// META: script=../util/helpers.js
|
||||
// META: script=failures.js
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
// META: title=WebCryptoAPI: generateKey() for Failures
|
||||
// META: timeout=long
|
||||
// META: script=../util/helpers.js
|
||||
// META: script=failures.js
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
// META: title=WebCryptoAPI: generateKey() for Failures
|
||||
// META: timeout=long
|
||||
// META: script=../util/helpers.js
|
||||
// META: script=failures.js
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
// META: title=WebCryptoAPI: generateKey() for Failures
|
||||
// META: timeout=long
|
||||
// META: script=../util/helpers.js
|
||||
// META: script=failures.js
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
// META: title=WebCryptoAPI: generateKey() for Failures
|
||||
// META: timeout=long
|
||||
// META: script=../util/helpers.js
|
||||
// META: script=failures.js
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
// META: title=WebCryptoAPI: generateKey() for Failures
|
||||
// META: timeout=long
|
||||
// META: script=../util/helpers.js
|
||||
// META: script=failures.js
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
// META: title=WebCryptoAPI: generateKey() for Failures
|
||||
// META: timeout=long
|
||||
// META: script=../util/helpers.js
|
||||
// META: script=failures.js
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
// META: title=WebCryptoAPI: generateKey() for Failures
|
||||
// META: timeout=long
|
||||
// META: script=../util/helpers.js
|
||||
// META: script=failures.js
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
// META: title=WebCryptoAPI: generateKey() for Failures
|
||||
// META: timeout=long
|
||||
// META: script=../util/helpers.js
|
||||
// META: script=failures.js
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
// META: title=WebCryptoAPI: generateKey() Successful Calls
|
||||
// META: timeout=long
|
||||
// META: script=../util/helpers.js
|
||||
// META: script=/common/subset-tests.js
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
// META: title=WebCryptoAPI: generateKey() Successful Calls
|
||||
// META: timeout=long
|
||||
// META: script=../util/helpers.js
|
||||
// META: script=/common/subset-tests.js
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
// META: title=WebCryptoAPI: generateKey() Successful Calls
|
||||
// META: timeout=long
|
||||
// META: script=../util/helpers.js
|
||||
// META: script=/common/subset-tests.js
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
// META: title=WebCryptoAPI: generateKey() Successful Calls
|
||||
// META: timeout=long
|
||||
// META: script=../util/helpers.js
|
||||
// META: script=/common/subset-tests.js
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
// META: title=WebCryptoAPI: generateKey() Successful Calls
|
||||
// META: timeout=long
|
||||
// META: script=../util/helpers.js
|
||||
// META: script=/common/subset-tests.js
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
// META: title=WebCryptoAPI: generateKey() Successful Calls
|
||||
// META: timeout=long
|
||||
// META: script=../util/helpers.js
|
||||
// META: script=/common/subset-tests.js
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
// META: title=WebCryptoAPI: generateKey() Successful Calls
|
||||
// META: timeout=long
|
||||
// META: script=../util/helpers.js
|
||||
// META: script=/common/subset-tests.js
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
// META: title=WebCryptoAPI: generateKey() Successful Calls
|
||||
// META: timeout=long
|
||||
// META: variant=?1-10
|
||||
// META: variant=?11-20
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
// META: title=WebCryptoAPI: generateKey() Successful Calls
|
||||
// META: timeout=long
|
||||
// META: variant=?1-10
|
||||
// META: variant=?11-20
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
// META: title=WebCryptoAPI: generateKey() Successful Calls
|
||||
// META: timeout=long
|
||||
// META: variant=?1-10
|
||||
// META: variant=?11-20
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue