mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-26 03:35:33 +00:00
Bug 1464910 [wpt PR 11204] - Split up WebCryptoAPI/derive_bits_keys/ with variant
, a=testonly
Automatic update from web-platform-testsSplit up WebCryptoAPI/derive_bits_keys/ with `variant` Also use .any.js. Fixes #11203. -- wpt-commits: 864cba25d0ac3d2f49e851623370f565ca293cbe wpt-pr: 11204
This commit is contained in:
parent
739b536b16
commit
43e6f56c9c
@ -310305,123 +310305,165 @@
|
||||
}
|
||||
]
|
||||
],
|
||||
"WebCryptoAPI/derive_bits_keys/ecdh_bits.https.worker.js": [
|
||||
"WebCryptoAPI/derive_bits_keys/ecdh_bits.https.any.js": [
|
||||
[
|
||||
"/WebCryptoAPI/derive_bits_keys/ecdh_bits.https.worker.html",
|
||||
"/WebCryptoAPI/derive_bits_keys/ecdh_bits.https.any.html",
|
||||
{}
|
||||
],
|
||||
[
|
||||
"/WebCryptoAPI/derive_bits_keys/ecdh_bits.https.any.worker.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"WebCryptoAPI/derive_bits_keys/ecdh_keys.https.worker.js": [
|
||||
"WebCryptoAPI/derive_bits_keys/ecdh_keys.https.any.js": [
|
||||
[
|
||||
"/WebCryptoAPI/derive_bits_keys/ecdh_keys.https.worker.html",
|
||||
"/WebCryptoAPI/derive_bits_keys/ecdh_keys.https.any.html",
|
||||
{}
|
||||
],
|
||||
[
|
||||
"/WebCryptoAPI/derive_bits_keys/ecdh_keys.https.any.worker.html",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"WebCryptoAPI/derive_bits_keys/hkdf.https.worker.js": [
|
||||
"WebCryptoAPI/derive_bits_keys/hkdf.https.any.js": [
|
||||
[
|
||||
"/WebCryptoAPI/derive_bits_keys/hkdf.https.worker.html",
|
||||
"/WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?1-1000",
|
||||
{}
|
||||
],
|
||||
[
|
||||
"/WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?1001-2000",
|
||||
{}
|
||||
],
|
||||
[
|
||||
"/WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?2001-3000",
|
||||
{}
|
||||
],
|
||||
[
|
||||
"/WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?3001-last",
|
||||
{}
|
||||
],
|
||||
[
|
||||
"/WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?1-1000",
|
||||
{}
|
||||
],
|
||||
[
|
||||
"/WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?1001-2000",
|
||||
{}
|
||||
],
|
||||
[
|
||||
"/WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?2001-3000",
|
||||
{}
|
||||
],
|
||||
[
|
||||
"/WebCryptoAPI/derive_bits_keys/hkdf.https.any.worker.html?3001-last",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"WebCryptoAPI/derive_bits_keys/pbkdf2.https.worker.js": [
|
||||
"WebCryptoAPI/derive_bits_keys/pbkdf2.https.any.js": [
|
||||
[
|
||||
"/WebCryptoAPI/derive_bits_keys/pbkdf2.https.worker.html",
|
||||
"/WebCryptoAPI/derive_bits_keys/pbkdf2.https.any.html?1-1000",
|
||||
{
|
||||
"timeout": "long"
|
||||
}
|
||||
]
|
||||
],
|
||||
"WebCryptoAPI/derive_bits_keys/test_ecdh_bits.https.html": [
|
||||
],
|
||||
[
|
||||
"/WebCryptoAPI/derive_bits_keys/test_ecdh_bits.https.html",
|
||||
"/WebCryptoAPI/derive_bits_keys/pbkdf2.https.any.html?1001-2000",
|
||||
{
|
||||
"timeout": "long"
|
||||
}
|
||||
]
|
||||
],
|
||||
"WebCryptoAPI/derive_bits_keys/test_ecdh_keys.https.html": [
|
||||
],
|
||||
[
|
||||
"/WebCryptoAPI/derive_bits_keys/test_ecdh_keys.https.html",
|
||||
"/WebCryptoAPI/derive_bits_keys/pbkdf2.https.any.html?2001-3000",
|
||||
{
|
||||
"timeout": "long"
|
||||
}
|
||||
]
|
||||
],
|
||||
"WebCryptoAPI/derive_bits_keys/test_hkdf.https.html": [
|
||||
],
|
||||
[
|
||||
"/WebCryptoAPI/derive_bits_keys/test_hkdf.https.html",
|
||||
"/WebCryptoAPI/derive_bits_keys/pbkdf2.https.any.html?3001-4000",
|
||||
{
|
||||
"timeout": "long"
|
||||
}
|
||||
]
|
||||
],
|
||||
"WebCryptoAPI/derive_bits_keys/test_pbkdf2_empty_empty.https.html": [
|
||||
],
|
||||
[
|
||||
"/WebCryptoAPI/derive_bits_keys/test_pbkdf2_empty_empty.https.html",
|
||||
"/WebCryptoAPI/derive_bits_keys/pbkdf2.https.any.html?4001-5000",
|
||||
{
|
||||
"timeout": "long"
|
||||
}
|
||||
]
|
||||
],
|
||||
"WebCryptoAPI/derive_bits_keys/test_pbkdf2_empty_long.https.html": [
|
||||
],
|
||||
[
|
||||
"/WebCryptoAPI/derive_bits_keys/test_pbkdf2_empty_long.https.html",
|
||||
"/WebCryptoAPI/derive_bits_keys/pbkdf2.https.any.html?5001-6000",
|
||||
{
|
||||
"timeout": "long"
|
||||
}
|
||||
]
|
||||
],
|
||||
"WebCryptoAPI/derive_bits_keys/test_pbkdf2_empty_short.https.html": [
|
||||
],
|
||||
[
|
||||
"/WebCryptoAPI/derive_bits_keys/test_pbkdf2_empty_short.https.html",
|
||||
"/WebCryptoAPI/derive_bits_keys/pbkdf2.https.any.html?6001-7000",
|
||||
{
|
||||
"timeout": "long"
|
||||
}
|
||||
]
|
||||
],
|
||||
"WebCryptoAPI/derive_bits_keys/test_pbkdf2_long_empty.https.html": [
|
||||
],
|
||||
[
|
||||
"/WebCryptoAPI/derive_bits_keys/test_pbkdf2_long_empty.https.html",
|
||||
"/WebCryptoAPI/derive_bits_keys/pbkdf2.https.any.html?7001-8000",
|
||||
{
|
||||
"timeout": "long"
|
||||
}
|
||||
]
|
||||
],
|
||||
"WebCryptoAPI/derive_bits_keys/test_pbkdf2_long_long.https.html": [
|
||||
],
|
||||
[
|
||||
"/WebCryptoAPI/derive_bits_keys/test_pbkdf2_long_long.https.html",
|
||||
"/WebCryptoAPI/derive_bits_keys/pbkdf2.https.any.html?8001-last",
|
||||
{
|
||||
"timeout": "long"
|
||||
}
|
||||
]
|
||||
],
|
||||
"WebCryptoAPI/derive_bits_keys/test_pbkdf2_long_short.https.html": [
|
||||
],
|
||||
[
|
||||
"/WebCryptoAPI/derive_bits_keys/test_pbkdf2_long_short.https.html",
|
||||
"/WebCryptoAPI/derive_bits_keys/pbkdf2.https.any.worker.html?1-1000",
|
||||
{
|
||||
"timeout": "long"
|
||||
}
|
||||
]
|
||||
],
|
||||
"WebCryptoAPI/derive_bits_keys/test_pbkdf2_short_empty.https.html": [
|
||||
],
|
||||
[
|
||||
"/WebCryptoAPI/derive_bits_keys/test_pbkdf2_short_empty.https.html",
|
||||
"/WebCryptoAPI/derive_bits_keys/pbkdf2.https.any.worker.html?1001-2000",
|
||||
{
|
||||
"timeout": "long"
|
||||
}
|
||||
]
|
||||
],
|
||||
"WebCryptoAPI/derive_bits_keys/test_pbkdf2_short_long.https.html": [
|
||||
],
|
||||
[
|
||||
"/WebCryptoAPI/derive_bits_keys/test_pbkdf2_short_long.https.html",
|
||||
"/WebCryptoAPI/derive_bits_keys/pbkdf2.https.any.worker.html?2001-3000",
|
||||
{
|
||||
"timeout": "long"
|
||||
}
|
||||
]
|
||||
],
|
||||
"WebCryptoAPI/derive_bits_keys/test_pbkdf2_short_short.https.html": [
|
||||
],
|
||||
[
|
||||
"/WebCryptoAPI/derive_bits_keys/test_pbkdf2_short_short.https.html",
|
||||
"/WebCryptoAPI/derive_bits_keys/pbkdf2.https.any.worker.html?3001-4000",
|
||||
{
|
||||
"timeout": "long"
|
||||
}
|
||||
],
|
||||
[
|
||||
"/WebCryptoAPI/derive_bits_keys/pbkdf2.https.any.worker.html?4001-5000",
|
||||
{
|
||||
"timeout": "long"
|
||||
}
|
||||
],
|
||||
[
|
||||
"/WebCryptoAPI/derive_bits_keys/pbkdf2.https.any.worker.html?5001-6000",
|
||||
{
|
||||
"timeout": "long"
|
||||
}
|
||||
],
|
||||
[
|
||||
"/WebCryptoAPI/derive_bits_keys/pbkdf2.https.any.worker.html?6001-7000",
|
||||
{
|
||||
"timeout": "long"
|
||||
}
|
||||
],
|
||||
[
|
||||
"/WebCryptoAPI/derive_bits_keys/pbkdf2.https.any.worker.html?7001-8000",
|
||||
{
|
||||
"timeout": "long"
|
||||
}
|
||||
],
|
||||
[
|
||||
"/WebCryptoAPI/derive_bits_keys/pbkdf2.https.any.worker.html?8001-last",
|
||||
{
|
||||
"timeout": "long"
|
||||
}
|
||||
@ -414394,94 +414436,46 @@
|
||||
"de7dd2ee8b4d23b5170349e7c2dc94862e5faed2",
|
||||
"support"
|
||||
],
|
||||
"WebCryptoAPI/derive_bits_keys/ecdh_bits.https.worker.js": [
|
||||
"b5b14e550d5dbff9f63666b42bd46e29b5be8709",
|
||||
"WebCryptoAPI/derive_bits_keys/ecdh_bits.https.any.js": [
|
||||
"864eecab9e1a79b80118c0c3f678b8f38d204bed",
|
||||
"testharness"
|
||||
],
|
||||
"WebCryptoAPI/derive_bits_keys/ecdh_bits.js": [
|
||||
"becf212639e53f6cae83994feeb2a2d0ecb6feeb",
|
||||
"support"
|
||||
],
|
||||
"WebCryptoAPI/derive_bits_keys/ecdh_keys.https.worker.js": [
|
||||
"25bcc549b62ecc99df4e2af27753e311c3910e70",
|
||||
"WebCryptoAPI/derive_bits_keys/ecdh_keys.https.any.js": [
|
||||
"e18057a3c9fda70c897950a6e6eb4251efef55c4",
|
||||
"testharness"
|
||||
],
|
||||
"WebCryptoAPI/derive_bits_keys/ecdh_keys.js": [
|
||||
"c030ebe3984538c73ee1fca4ec378e4356bccbf4",
|
||||
"support"
|
||||
],
|
||||
"WebCryptoAPI/derive_bits_keys/hkdf.https.worker.js": [
|
||||
"0ea6fb5e51a60e8a521da7a2853fde9a4ff2af8f",
|
||||
"WebCryptoAPI/derive_bits_keys/hkdf.https.any.js": [
|
||||
"ab1a44ea74a479a73c122537505b8655479e515f",
|
||||
"testharness"
|
||||
],
|
||||
"WebCryptoAPI/derive_bits_keys/hkdf.js": [
|
||||
"7c50dfe98c29038cc758cf90d56cf4b328d1fc37",
|
||||
"0b64461f3017121398eee84980565ffdec11da78",
|
||||
"support"
|
||||
],
|
||||
"WebCryptoAPI/derive_bits_keys/hkdf_vectors.js": [
|
||||
"766a7184da406918e9dc6718125975a59d3d5d36",
|
||||
"support"
|
||||
],
|
||||
"WebCryptoAPI/derive_bits_keys/pbkdf2.https.worker.js": [
|
||||
"1149c335951baa52b7d1ad3192292fb46176d491",
|
||||
"WebCryptoAPI/derive_bits_keys/pbkdf2.https.any.js": [
|
||||
"1570f67d4d803e12d1711e861e0ea1b37e76db45",
|
||||
"testharness"
|
||||
],
|
||||
"WebCryptoAPI/derive_bits_keys/pbkdf2.js": [
|
||||
"dfd8eea5707720186820549837c8a1a319a8ecc4",
|
||||
"d91520b4b779d5a8ecd55398a23a1e0fdbe1a9b3",
|
||||
"support"
|
||||
],
|
||||
"WebCryptoAPI/derive_bits_keys/pbkdf2_vectors.js": [
|
||||
"0a073cb726ad239110545eb3cecada2a0ce5daf7",
|
||||
"support"
|
||||
],
|
||||
"WebCryptoAPI/derive_bits_keys/test_ecdh_bits.https.html": [
|
||||
"eb82990143fa33de7b62cdacd2db566512d74d44",
|
||||
"testharness"
|
||||
],
|
||||
"WebCryptoAPI/derive_bits_keys/test_ecdh_keys.https.html": [
|
||||
"d896626491b4f710970b28d30eb89604034fb8c4",
|
||||
"testharness"
|
||||
],
|
||||
"WebCryptoAPI/derive_bits_keys/test_hkdf.https.html": [
|
||||
"6d0def388fed4db1606d03f2cbfd59020bd00c56",
|
||||
"testharness"
|
||||
],
|
||||
"WebCryptoAPI/derive_bits_keys/test_pbkdf2_empty_empty.https.html": [
|
||||
"48b0c6ac60cc130a5bc109fd43b5b1da74bad6da",
|
||||
"testharness"
|
||||
],
|
||||
"WebCryptoAPI/derive_bits_keys/test_pbkdf2_empty_long.https.html": [
|
||||
"9f28363c1c182c354d688a44249abe3f6c6e9ff5",
|
||||
"testharness"
|
||||
],
|
||||
"WebCryptoAPI/derive_bits_keys/test_pbkdf2_empty_short.https.html": [
|
||||
"2a6b28ee191cc62575872c19a21b402f668cd0d5",
|
||||
"testharness"
|
||||
],
|
||||
"WebCryptoAPI/derive_bits_keys/test_pbkdf2_long_empty.https.html": [
|
||||
"e1d654a4ccefef12b57ef32388debf5df170e938",
|
||||
"testharness"
|
||||
],
|
||||
"WebCryptoAPI/derive_bits_keys/test_pbkdf2_long_long.https.html": [
|
||||
"2e3e354fe0b4b96d2429bd6e3b5b702a327d9e84",
|
||||
"testharness"
|
||||
],
|
||||
"WebCryptoAPI/derive_bits_keys/test_pbkdf2_long_short.https.html": [
|
||||
"b53dd1eb6d350d6546e71e77d829eb3da4fc4c68",
|
||||
"testharness"
|
||||
],
|
||||
"WebCryptoAPI/derive_bits_keys/test_pbkdf2_short_empty.https.html": [
|
||||
"d36de62c712d53d29aa8cc6995851493d814654f",
|
||||
"testharness"
|
||||
],
|
||||
"WebCryptoAPI/derive_bits_keys/test_pbkdf2_short_long.https.html": [
|
||||
"518afb29e8f859a793e0e39317c6516aae99fb67",
|
||||
"testharness"
|
||||
],
|
||||
"WebCryptoAPI/derive_bits_keys/test_pbkdf2_short_short.https.html": [
|
||||
"5e776aa3f202bb72a328947983b020f03ba6ec4d",
|
||||
"testharness"
|
||||
],
|
||||
"WebCryptoAPI/digest/digest.https.worker.js": [
|
||||
"a9a6b7a15bf0b795729190a94bdda6ed1ddc013d",
|
||||
"testharness"
|
||||
@ -414555,43 +414549,43 @@
|
||||
"support"
|
||||
],
|
||||
"WebCryptoAPI/generateKey/failures_AES-CBC.https.any.js": [
|
||||
"43e43b7fbf6441d1fcd6ddf46c30f0621b1edba7",
|
||||
"8dcb56464b85de7d54bb3bc1c06d6bda630cf4a0",
|
||||
"testharness"
|
||||
],
|
||||
"WebCryptoAPI/generateKey/failures_AES-CTR.https.any.js": [
|
||||
"2c884e027696683642ea9a554fbb458c80d7c250",
|
||||
"135d0fdf4e8ca3c44af7af73919ea8ffe7129c5b",
|
||||
"testharness"
|
||||
],
|
||||
"WebCryptoAPI/generateKey/failures_AES-GCM.https.any.js": [
|
||||
"a04245d270369f78f8043d0e18e78813d023143c",
|
||||
"3d5858db114e2bcd58c7a5f2fd60c47643433007",
|
||||
"testharness"
|
||||
],
|
||||
"WebCryptoAPI/generateKey/failures_AES-KW.https.any.js": [
|
||||
"926c029def9b80da51ebff1185692f24d403cecf",
|
||||
"c1cba74aeccf6d59d9b1d8aa84cacf2352d1aa93",
|
||||
"testharness"
|
||||
],
|
||||
"WebCryptoAPI/generateKey/failures_ECDH.https.any.js": [
|
||||
"89fe37aa9252d976f76823cdf285630ddadfbfce",
|
||||
"a4e5c1acc05e321904fda9a8ab442aa63af2fb43",
|
||||
"testharness"
|
||||
],
|
||||
"WebCryptoAPI/generateKey/failures_ECDSA.https.any.js": [
|
||||
"ab6acf474fb27f7a630847ce07d6fb6a9167ad92",
|
||||
"a2bc85c93a660752db6250b9798240de8b3d3f96",
|
||||
"testharness"
|
||||
],
|
||||
"WebCryptoAPI/generateKey/failures_HMAC.https.any.js": [
|
||||
"6f00681d254f24abf00f073806a162738bcbe8e7",
|
||||
"13e7fd5352320e6e9e2af9cf54c45e2eae5032ca",
|
||||
"testharness"
|
||||
],
|
||||
"WebCryptoAPI/generateKey/failures_RSA-OAEP.https.any.js": [
|
||||
"c6d7efb5ed58bb1ea96e141763e249b1ad99a6be",
|
||||
"fb73abf86b9aaf51b032b57d1813d45256e2cbeb",
|
||||
"testharness"
|
||||
],
|
||||
"WebCryptoAPI/generateKey/failures_RSA-PSS.https.any.js": [
|
||||
"dc18838f5c4f84436c892051a728de7ad83fe854",
|
||||
"51b1195ef2c2f3084b35460c772c355515e2803c",
|
||||
"testharness"
|
||||
],
|
||||
"WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.https.any.js": [
|
||||
"170964b911cd3d1aacaa261de01b013ee3fd745a",
|
||||
"eebe6f227f86a0359690c36d118fb6d516991b5b",
|
||||
"testharness"
|
||||
],
|
||||
"WebCryptoAPI/generateKey/successes.js": [
|
||||
@ -414599,43 +414593,43 @@
|
||||
"support"
|
||||
],
|
||||
"WebCryptoAPI/generateKey/successes_AES-CBC.https.any.js": [
|
||||
"49ce28516303c7525f74d29fbbe36b578e9e0d08",
|
||||
"4f11c263cf8c1a10805dbdbf37e68441cc1524db",
|
||||
"testharness"
|
||||
],
|
||||
"WebCryptoAPI/generateKey/successes_AES-CTR.https.any.js": [
|
||||
"377e8f0ec969f36949c9dc08ae935063d25c08d8",
|
||||
"7f71cabebd7c4771b0338a86f0db249275c166e6",
|
||||
"testharness"
|
||||
],
|
||||
"WebCryptoAPI/generateKey/successes_AES-GCM.https.any.js": [
|
||||
"a65a71f8f83b017fe9eb8fccbd8da3489ed1f9f0",
|
||||
"b2818ac6f3bd48fc5343e11c9f3a5fb4e7e159b7",
|
||||
"testharness"
|
||||
],
|
||||
"WebCryptoAPI/generateKey/successes_AES-KW.https.any.js": [
|
||||
"165159903403f67cc27d29f78d46369eb598811c",
|
||||
"7fb055fd3d32f9b0f0934f0bcf6e4cc8e914c0bc",
|
||||
"testharness"
|
||||
],
|
||||
"WebCryptoAPI/generateKey/successes_ECDH.https.any.js": [
|
||||
"525b874eff610c6db8cca7f50ba0c074b8975001",
|
||||
"e9ac12b43efef8652a12a3a7dfdaf1f6d14c31fc",
|
||||
"testharness"
|
||||
],
|
||||
"WebCryptoAPI/generateKey/successes_ECDSA.https.any.js": [
|
||||
"2a63f8d0d12987ca2e4c41e5eb28a53741a091f5",
|
||||
"c1e3ea8f949413099f4d5c9903d4f86ae6b9ddeb",
|
||||
"testharness"
|
||||
],
|
||||
"WebCryptoAPI/generateKey/successes_HMAC.https.any.js": [
|
||||
"af064fd9cc422c35718d1dcf2f6c861aab7385cc",
|
||||
"6bc1c27059fca5fd8ec0eacb5a4092affd934aa2",
|
||||
"testharness"
|
||||
],
|
||||
"WebCryptoAPI/generateKey/successes_RSA-OAEP.https.any.js": [
|
||||
"f82ce4307fea94a097ccdf470b766f110d876b87",
|
||||
"c18bce1c96c0904d80ed0e8f6c6f52c422bd04cd",
|
||||
"testharness"
|
||||
],
|
||||
"WebCryptoAPI/generateKey/successes_RSA-PSS.https.any.js": [
|
||||
"8ff33e42d855b7482455ebb3caab5ac311e7cbf5",
|
||||
"e91f38538a40c448cbeaea5e3188df4a4c02870a",
|
||||
"testharness"
|
||||
],
|
||||
"WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.https.any.js": [
|
||||
"fbbbef333461a7845ea1b3cba2169435c7f82761",
|
||||
"7a507269004b76a7455cb41e476f69178fed7162",
|
||||
"testharness"
|
||||
],
|
||||
"WebCryptoAPI/getRandomValues.any.js": [
|
||||
|
@ -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…
Reference in New Issue
Block a user