crypto: Support key wrap operations + AES-KW (#34262)

* Support key wrapping operations + AES-KW

Signed-off-by: Daniel Adams <msub2official@gmail.com>

* Update expectations

Signed-off-by: Daniel Adams <msub2official@gmail.com>

* tidy

Signed-off-by: Daniel Adams <msub2official@gmail.com>

* Add allow for clippy

Signed-off-by: Daniel Adams <msub2official@gmail.com>

* Add missing spec links

Signed-off-by: Daniel Adams <msub2official@gmail.com>

* Improve JWK handling

Signed-off-by: Daniel Adams <msub2official@gmail.com>

* Fix clippy warnings

Signed-off-by: Daniel Adams <msub2official@gmail.com>

* ./mach fmt

Signed-off-by: Daniel Adams <msub2official@gmail.com>

---------

Signed-off-by: Daniel Adams <msub2official@gmail.com>
This commit is contained in:
Daniel Adams 2024-11-18 12:54:58 -10:00 committed by GitHub
parent 8c689aac67
commit 124c5bbbf3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
16 changed files with 533 additions and 3881 deletions

10
Cargo.lock generated
View file

@ -53,6 +53,15 @@ dependencies = [
"cpufeatures", "cpufeatures",
] ]
[[package]]
name = "aes-kw"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "69fa2b352dcefb5f7f3a5fb840e02665d311d878955380515e4fd50095dd3d8c"
dependencies = [
"aes",
]
[[package]] [[package]]
name = "ahash" name = "ahash"
version = "0.8.11" version = "0.8.11"
@ -6006,6 +6015,7 @@ version = "0.0.1"
dependencies = [ dependencies = [
"accountable-refcell", "accountable-refcell",
"aes", "aes",
"aes-kw",
"app_units", "app_units",
"arrayvec", "arrayvec",
"atomic_refcell", "atomic_refcell",

View file

@ -18,6 +18,7 @@ rust-version = "1.80.1"
[workspace.dependencies] [workspace.dependencies]
accountable-refcell = "0.2.0" accountable-refcell = "0.2.0"
aes = "0.8.4" aes = "0.8.4"
aes-kw = { version = "0.2.1", features = ["alloc"] }
app_units = "0.7" app_units = "0.7"
arrayvec = "0.7" arrayvec = "0.7"
async-tungstenite = { version = "0.23", features = ["tokio-rustls-webpki-roots"] } async-tungstenite = { version = "0.23", features = ["tokio-rustls-webpki-roots"] }

View file

@ -28,6 +28,7 @@ serde_json = { workspace = true }
[dependencies] [dependencies]
aes = { workspace = true } aes = { workspace = true }
aes-kw = { workspace = true }
accountable-refcell = { workspace = true, optional = true } accountable-refcell = { workspace = true, optional = true }
app_units = { workspace = true } app_units = { workspace = true }
arrayvec = { workspace = true } arrayvec = { workspace = true }
@ -95,6 +96,7 @@ script_layout_interface = { workspace = true }
script_traits = { workspace = true } script_traits = { workspace = true }
selectors = { workspace = true } selectors = { workspace = true }
serde = { workspace = true, features = ["derive"] } serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
servo-media = { workspace = true } servo-media = { workspace = true }
servo_allocator = { path = "../allocator" } servo_allocator = { path = "../allocator" }
servo_arc = { workspace = true } servo_arc = { workspace = true }

View file

@ -428,8 +428,8 @@ DOMInterfaces = {
}, },
'SubtleCrypto': { 'SubtleCrypto': {
'inRealms': ['Encrypt', 'Decrypt', 'Sign', 'Verify', 'GenerateKey', 'DeriveKey', 'DeriveBits', 'Digest', 'ImportKey', 'ExportKey'], 'inRealms': ['Encrypt', 'Decrypt', 'Sign', 'Verify', 'GenerateKey', 'DeriveKey', 'DeriveBits', 'Digest', 'ImportKey', 'ExportKey', 'WrapKey', 'UnwrapKey'],
'canGc': ['Encrypt', 'Decrypt', 'Sign', 'Verify', 'GenerateKey', 'DeriveKey', 'DeriveBits', 'Digest', 'ImportKey', 'ExportKey'], 'canGc': ['Encrypt', 'Decrypt', 'Sign', 'Verify', 'GenerateKey', 'DeriveKey', 'DeriveBits', 'Digest', 'ImportKey', 'ExportKey', 'WrapKey', 'UnwrapKey'],
}, },
'SVGElement': { 'SVGElement': {

View file

@ -10,6 +10,7 @@ use aes::cipher::block_padding::Pkcs7;
use aes::cipher::generic_array::GenericArray; use aes::cipher::generic_array::GenericArray;
use aes::cipher::{BlockDecryptMut, BlockEncryptMut, KeyIvInit, StreamCipher}; use aes::cipher::{BlockDecryptMut, BlockEncryptMut, KeyIvInit, StreamCipher};
use aes::{Aes128, Aes192, Aes256}; use aes::{Aes128, Aes192, Aes256};
use aes_kw::{KekAes128, KekAes192, KekAes256};
use base64::prelude::*; use base64::prelude::*;
use dom_struct::dom_struct; use dom_struct::dom_struct;
use js::conversions::ConversionResult; use js::conversions::ConversionResult;
@ -18,6 +19,7 @@ use js::jsval::ObjectValue;
use js::rust::MutableHandleObject; use js::rust::MutableHandleObject;
use js::typedarray::ArrayBufferU8; use js::typedarray::ArrayBufferU8;
use ring::{digest, hkdf, hmac, pbkdf2}; use ring::{digest, hkdf, hmac, pbkdf2};
use serde_json;
use servo_rand::{RngCore, ServoRng}; use servo_rand::{RngCore, ServoRng};
use crate::dom::bindings::buffer_source::create_buffer_source; use crate::dom::bindings::buffer_source::create_buffer_source;
@ -763,21 +765,23 @@ impl SubtleCryptoMethods for SubtleCrypto {
let data = match key_data { let data = match key_data {
ArrayBufferViewOrArrayBufferOrJsonWebKey::ArrayBufferView(view) => view.to_vec(), ArrayBufferViewOrArrayBufferOrJsonWebKey::ArrayBufferView(view) => view.to_vec(),
ArrayBufferViewOrArrayBufferOrJsonWebKey::JsonWebKey(json_web_key) => { ArrayBufferViewOrArrayBufferOrJsonWebKey::JsonWebKey(json_web_key) => {
if let Some(mut data_string) = json_web_key.k { let data_string = match json_web_key.k {
while data_string.len() % 4 != 0 { Some(s) => s.to_string(),
data_string.push_str("="); None => {
} promise.reject_error(Error::Syntax);
match BASE64_STANDARD.decode(data_string.to_string()) { return promise;
},
};
match base64::engine::general_purpose::STANDARD_NO_PAD
.decode(data_string.as_bytes())
{
Ok(data) => data, Ok(data) => data,
Err(_) => { Err(_) => {
promise.reject_error(Error::Syntax); promise.reject_error(Error::Syntax);
return promise; return promise;
}, },
} }
} else {
promise.reject_error(Error::Syntax);
return promise;
}
}, },
ArrayBufferViewOrArrayBufferOrJsonWebKey::ArrayBuffer(array_buffer) => { ArrayBufferViewOrArrayBufferOrJsonWebKey::ArrayBuffer(array_buffer) => {
array_buffer.to_vec() array_buffer.to_vec()
@ -834,7 +838,7 @@ impl SubtleCryptoMethods for SubtleCrypto {
return; return;
} }
let exported_key = match alg_name.as_str() { let exported_key = match alg_name.as_str() {
ALG_AES_CBC | ALG_AES_CTR => subtle.export_key_aes(format, &key), ALG_AES_CBC | ALG_AES_CTR | ALG_AES_KW => subtle.export_key_aes(format, &key),
_ => Err(Error::NotSupported), _ => Err(Error::NotSupported),
}; };
match exported_key { match exported_key {
@ -860,6 +864,221 @@ impl SubtleCryptoMethods for SubtleCrypto {
promise promise
} }
/// <https://w3c.github.io/webcrypto/#SubtleCrypto-method-wrapKey>
fn WrapKey(
&self,
cx: JSContext,
format: KeyFormat,
key: &CryptoKey,
wrapping_key: &CryptoKey,
wrap_algorithm: AlgorithmIdentifier,
comp: InRealm,
can_gc: CanGc,
) -> Rc<Promise> {
let promise = Promise::new_in_current_realm(comp, can_gc);
let normalized_algorithm = match normalize_algorithm_for_key_wrap(cx, &wrap_algorithm) {
Ok(algorithm) => algorithm,
Err(e) => {
promise.reject_error(e);
return promise;
},
};
let (task_source, canceller) = self.task_source_with_canceller();
let this = Trusted::new(self);
let trusted_key = Trusted::new(key);
let trusted_wrapping_key = Trusted::new(wrapping_key);
let trusted_promise = TrustedPromise::new(promise.clone());
let _ = task_source.queue_with_canceller(
task!(wrap_key: move || {
let subtle = this.root();
let promise = trusted_promise.root();
let key = trusted_key.root();
let wrapping_key = trusted_wrapping_key.root();
let alg_name = key.algorithm();
let wrapping_alg_name = wrapping_key.algorithm();
let valid_wrap_usage = wrapping_key.usages().contains(&KeyUsage::WrapKey);
let names_match = normalized_algorithm.name() == wrapping_alg_name.as_str();
if !valid_wrap_usage || !names_match || !key.Extractable() {
promise.reject_error(Error::InvalidAccess);
return;
}
if matches!(
alg_name.as_str(), ALG_SHA1 | ALG_SHA256 | ALG_SHA384 | ALG_SHA512 | ALG_HKDF | ALG_PBKDF2
) {
promise.reject_error(Error::NotSupported);
return;
}
let exported_key = match subtle.export_key_aes(format, &key) {
Ok(k) => k,
Err(e) => {
promise.reject_error(e);
return;
},
};
let bytes = match exported_key {
AesExportedKey::Raw(k) => k,
AesExportedKey::Jwk(key) => {
// The spec states to convert this to an ECMAscript object and stringify it, but since we know
// that the output will be a string of JSON we can just construct it manually
// TODO: Support more than just a subset of the JWK dict, or find a way to
// stringify via SM internals
let Some(k) = key.k else {
promise.reject_error(Error::Syntax);
return;
};
let Some(alg) = key.alg else {
promise.reject_error(Error::Syntax);
return;
};
let Some(ext) = key.ext else {
promise.reject_error(Error::Syntax);
return;
};
format!("{{
\"kty\": \"oct\",
\"k\": \"{}\",
\"alg\": \"{}\",
\"ext\": {}
}}", k, alg, ext)
.into_bytes()
},
};
let cx = GlobalScope::get_cx();
rooted!(in(*cx) let mut array_buffer_ptr = ptr::null_mut::<JSObject>());
let result = match normalized_algorithm {
KeyWrapAlgorithm::AesKw => {
subtle.wrap_key_aes_kw(&wrapping_key, &bytes, cx, array_buffer_ptr.handle_mut())
},
KeyWrapAlgorithm::AesCbc(params) => {
subtle.encrypt_aes_cbc(&params, &wrapping_key, &bytes, cx, array_buffer_ptr.handle_mut())
},
KeyWrapAlgorithm::AesCtr(params) => {
subtle.encrypt_decrypt_aes_ctr(
&params, &wrapping_key, &bytes, cx, array_buffer_ptr.handle_mut()
)
},
};
match result {
Ok(_) => promise.resolve_native(&*array_buffer_ptr),
Err(e) => promise.reject_error(e),
}
}),
&canceller
);
promise
}
/// <https://w3c.github.io/webcrypto/#SubtleCrypto-method-unwrapKey>
fn UnwrapKey(
&self,
cx: JSContext,
format: KeyFormat,
wrapped_key: ArrayBufferViewOrArrayBuffer,
unwrapping_key: &CryptoKey,
unwrap_algorithm: AlgorithmIdentifier,
unwrapped_key_algorithm: AlgorithmIdentifier,
extractable: bool,
key_usages: Vec<KeyUsage>,
comp: InRealm,
can_gc: CanGc,
) -> Rc<Promise> {
let promise = Promise::new_in_current_realm(comp, can_gc);
let wrapped_key_bytes = match wrapped_key {
ArrayBufferViewOrArrayBuffer::ArrayBufferView(view) => view.to_vec(),
ArrayBufferViewOrArrayBuffer::ArrayBuffer(buffer) => buffer.to_vec(),
};
let normalized_algorithm = match normalize_algorithm_for_key_wrap(cx, &unwrap_algorithm) {
Ok(algorithm) => algorithm,
Err(e) => {
promise.reject_error(e);
return promise;
},
};
let normalized_key_algorithm =
match normalize_algorithm_for_import_key(cx, &unwrapped_key_algorithm) {
Ok(algorithm) => algorithm,
Err(e) => {
promise.reject_error(e);
return promise;
},
};
let (task_source, canceller) = self.task_source_with_canceller();
let this = Trusted::new(self);
let trusted_key = Trusted::new(unwrapping_key);
let trusted_promise = TrustedPromise::new(promise.clone());
let _ = task_source.queue_with_canceller(
task!(unwrap_key: move || {
let subtle = this.root();
let promise = trusted_promise.root();
let unwrapping_key = trusted_key.root();
let alg_name = unwrapping_key.algorithm();
let valid_usage = unwrapping_key.usages().contains(&KeyUsage::UnwrapKey);
if !valid_usage || normalized_algorithm.name() != alg_name.as_str() {
promise.reject_error(Error::InvalidAccess);
return;
}
let cx = GlobalScope::get_cx();
rooted!(in(*cx) let mut array_buffer_ptr = ptr::null_mut::<JSObject>());
let result = match normalized_algorithm {
KeyWrapAlgorithm::AesKw => {
subtle.unwrap_key_aes_kw(&unwrapping_key, &wrapped_key_bytes, cx, array_buffer_ptr.handle_mut())
},
KeyWrapAlgorithm::AesCbc(params) => {
subtle.decrypt_aes_cbc(
&params, &unwrapping_key, &wrapped_key_bytes, cx, array_buffer_ptr.handle_mut()
)
},
KeyWrapAlgorithm::AesCtr(params) => {
subtle.encrypt_decrypt_aes_ctr(
&params, &unwrapping_key, &wrapped_key_bytes, cx, array_buffer_ptr.handle_mut()
)
},
};
let bytes = match result {
Ok(bytes) => bytes,
Err(e) => {
promise.reject_error(e);
return;
},
};
let import_key_bytes = match format {
KeyFormat::Raw | KeyFormat::Spki | KeyFormat::Pkcs8 => bytes,
KeyFormat::Jwk => {
match parse_jwk(&bytes, normalized_key_algorithm.clone(), extractable) {
Ok(bytes) => bytes,
Err(e) => {
promise.reject_error(e);
return;
}
}
},
};
match normalized_key_algorithm.import_key(&subtle, format, &import_key_bytes, extractable, key_usages) {
Ok(imported_key) => promise.resolve_native(&imported_key),
Err(e) => promise.reject_error(e),
}
}),
&canceller
);
promise
}
} }
// These "subtle" structs are proxies for the codegen'd dicts which don't hold a DOMString // These "subtle" structs are proxies for the codegen'd dicts which don't hold a DOMString
@ -936,6 +1155,7 @@ impl From<AesKeyGenParams> for SubtleAesKeyGenParams {
} }
/// <https://w3c.github.io/webcrypto/#dfn-HmacImportParams> /// <https://w3c.github.io/webcrypto/#dfn-HmacImportParams>
#[derive(Clone)]
struct SubtleHmacImportParams { struct SubtleHmacImportParams {
/// <https://w3c.github.io/webcrypto/#dfn-HmacKeyAlgorithm-hash> /// <https://w3c.github.io/webcrypto/#dfn-HmacKeyAlgorithm-hash>
hash: DigestAlgorithm, hash: DigestAlgorithm,
@ -1088,9 +1308,11 @@ enum DigestAlgorithm {
/// A normalized algorithm returned by [`normalize_algorithm`] with operation `"importKey"` /// A normalized algorithm returned by [`normalize_algorithm`] with operation `"importKey"`
/// ///
/// [`normalize_algorithm`]: https://w3c.github.io/webcrypto/#algorithm-normalization-normalize-an-algorithm /// [`normalize_algorithm`]: https://w3c.github.io/webcrypto/#algorithm-normalization-normalize-an-algorithm
#[derive(Clone)]
enum ImportKeyAlgorithm { enum ImportKeyAlgorithm {
AesCbc, AesCbc,
AesCtr, AesCtr,
AesKw,
Hmac(SubtleHmacImportParams), Hmac(SubtleHmacImportParams),
Pbkdf2, Pbkdf2,
Hkdf, Hkdf,
@ -1127,6 +1349,16 @@ enum KeyGenerationAlgorithm {
Hmac(SubtleHmacKeyGenParams), Hmac(SubtleHmacKeyGenParams),
} }
/// A normalized algorithm returned by [`normalize_algorithm`] with operation `"wrapKey"` or `"unwrapKey"`
///
/// [`normalize_algorithm`]: https://w3c.github.io/webcrypto/#algorithm-normalization-normalize-an-algorithm
#[allow(clippy::enum_variant_names)]
enum KeyWrapAlgorithm {
AesKw,
AesCbc(SubtleAesCbcParams),
AesCtr(SubtleAesCtrParams),
}
macro_rules! value_from_js_object { macro_rules! value_from_js_object {
($t: ty, $cx: ident, $value: ident) => {{ ($t: ty, $cx: ident, $value: ident) => {{
let params_result = <$t>::new($cx, $value.handle()).map_err(|_| Error::JSFailed)?; let params_result = <$t>::new($cx, $value.handle()).map_err(|_| Error::JSFailed)?;
@ -1221,6 +1453,7 @@ fn normalize_algorithm_for_import_key(
let normalized_algorithm = match name.as_str() { let normalized_algorithm = match name.as_str() {
ALG_AES_CBC => ImportKeyAlgorithm::AesCbc, ALG_AES_CBC => ImportKeyAlgorithm::AesCbc,
ALG_AES_CTR => ImportKeyAlgorithm::AesCtr, ALG_AES_CTR => ImportKeyAlgorithm::AesCtr,
ALG_AES_KW => ImportKeyAlgorithm::AesKw,
ALG_PBKDF2 => ImportKeyAlgorithm::Pbkdf2, ALG_PBKDF2 => ImportKeyAlgorithm::Pbkdf2,
ALG_HKDF => ImportKeyAlgorithm::Hkdf, ALG_HKDF => ImportKeyAlgorithm::Hkdf,
_ => return Err(Error::NotSupported), _ => return Err(Error::NotSupported),
@ -1322,8 +1555,10 @@ fn normalize_algorithm_for_generate_key(
let algorithm = value_from_js_object!(Algorithm, cx, value); let algorithm = value_from_js_object!(Algorithm, cx, value);
let name = algorithm.name.str(); let name = algorithm.name.str();
let normalized_algorithm = let normalized_algorithm = if name.eq_ignore_ascii_case(ALG_AES_CBC) ||
if name.eq_ignore_ascii_case(ALG_AES_CBC) || name.eq_ignore_ascii_case(ALG_AES_CTR) { name.eq_ignore_ascii_case(ALG_AES_CTR) ||
name.eq_ignore_ascii_case(ALG_AES_KW)
{
let params = value_from_js_object!(AesKeyGenParams, cx, value); let params = value_from_js_object!(AesKeyGenParams, cx, value);
KeyGenerationAlgorithm::Aes(params.into()) KeyGenerationAlgorithm::Aes(params.into())
} else if name.eq_ignore_ascii_case(ALG_HMAC) { } else if name.eq_ignore_ascii_case(ALG_HMAC) {
@ -1337,6 +1572,43 @@ fn normalize_algorithm_for_generate_key(
Ok(normalized_algorithm) Ok(normalized_algorithm)
} }
/// <https://w3c.github.io/webcrypto/#algorithm-normalization-normalize-an-algorithm> with operation `"wrapKey"` or `"unwrapKey"`
fn normalize_algorithm_for_key_wrap(
cx: JSContext,
algorithm: &AlgorithmIdentifier,
) -> Result<KeyWrapAlgorithm, Error> {
let name = match algorithm {
AlgorithmIdentifier::Object(obj) => {
rooted!(in(*cx) let value = ObjectValue(obj.get()));
let algorithm = value_from_js_object!(Algorithm, cx, value);
algorithm.name.str().to_uppercase()
},
AlgorithmIdentifier::String(name) => name.str().to_uppercase(),
};
let normalized_algorithm = match name.as_str() {
ALG_AES_KW => KeyWrapAlgorithm::AesKw,
ALG_AES_CBC => {
let AlgorithmIdentifier::Object(obj) = algorithm else {
return Err(Error::Syntax);
};
rooted!(in(*cx) let value = ObjectValue(obj.get()));
KeyWrapAlgorithm::AesCbc(value_from_js_object!(AesCbcParams, cx, value).into())
},
ALG_AES_CTR => {
let AlgorithmIdentifier::Object(obj) = algorithm else {
return Err(Error::Syntax);
};
rooted!(in(*cx) let value = ObjectValue(obj.get()));
KeyWrapAlgorithm::AesCtr(value_from_js_object!(AesCtrParams, cx, value).into())
},
_ => return Err(Error::NotSupported),
};
Ok(normalized_algorithm)
}
impl SubtleCrypto { impl SubtleCrypto {
/// <https://w3c.github.io/webcrypto/#aes-cbc-operations> /// <https://w3c.github.io/webcrypto/#aes-cbc-operations>
fn encrypt_aes_cbc( fn encrypt_aes_cbc(
@ -1346,7 +1618,7 @@ impl SubtleCrypto {
data: &[u8], data: &[u8],
cx: JSContext, cx: JSContext,
handle: MutableHandleObject, handle: MutableHandleObject,
) -> Result<(), Error> { ) -> Result<Vec<u8>, Error> {
if params.iv.len() != 16 { if params.iv.len() != 16 {
return Err(Error::Operation); return Err(Error::Operation);
} }
@ -1373,7 +1645,7 @@ impl SubtleCrypto {
create_buffer_source::<ArrayBufferU8>(cx, &ct, handle) create_buffer_source::<ArrayBufferU8>(cx, &ct, handle)
.expect("failed to create buffer source for exported key."); .expect("failed to create buffer source for exported key.");
Ok(()) Ok(ct)
} }
/// <https://w3c.github.io/webcrypto/#aes-cbc-operations> /// <https://w3c.github.io/webcrypto/#aes-cbc-operations>
@ -1384,7 +1656,7 @@ impl SubtleCrypto {
data: &[u8], data: &[u8],
cx: JSContext, cx: JSContext,
handle: MutableHandleObject, handle: MutableHandleObject,
) -> Result<(), Error> { ) -> Result<Vec<u8>, Error> {
if params.iv.len() != 16 { if params.iv.len() != 16 {
return Err(Error::Operation); return Err(Error::Operation);
} }
@ -1417,7 +1689,7 @@ impl SubtleCrypto {
create_buffer_source::<ArrayBufferU8>(cx, plaintext, handle) create_buffer_source::<ArrayBufferU8>(cx, plaintext, handle)
.expect("failed to create buffer source for exported key."); .expect("failed to create buffer source for exported key.");
Ok(()) Ok(plaintext.to_vec())
} }
/// <https://w3c.github.io/webcrypto/#aes-ctr-operations> /// <https://w3c.github.io/webcrypto/#aes-ctr-operations>
@ -1428,7 +1700,7 @@ impl SubtleCrypto {
data: &[u8], data: &[u8],
cx: JSContext, cx: JSContext,
handle: MutableHandleObject, handle: MutableHandleObject,
) -> Result<(), Error> { ) -> Result<Vec<u8>, Error> {
if params.counter.len() != 16 || params.length == 0 || params.length > 128 { if params.counter.len() != 16 || params.length == 0 || params.length > 128 {
return Err(Error::Operation); return Err(Error::Operation);
} }
@ -1455,11 +1727,12 @@ impl SubtleCrypto {
create_buffer_source::<ArrayBufferU8>(cx, &ciphertext, handle) create_buffer_source::<ArrayBufferU8>(cx, &ciphertext, handle)
.expect("failed to create buffer source for exported key."); .expect("failed to create buffer source for exported key.");
Ok(()) Ok(ciphertext)
} }
/// <https://w3c.github.io/webcrypto/#aes-cbc-operations> /// <https://w3c.github.io/webcrypto/#aes-cbc-operations>
/// <https://w3c.github.io/webcrypto/#aes-ctr-operations> /// <https://w3c.github.io/webcrypto/#aes-ctr-operations>
/// <https://w3c.github.io/webcrypto/#aes-kw-operations>
#[allow(unsafe_code)] #[allow(unsafe_code)]
fn generate_key_aes( fn generate_key_aes(
&self, &self,
@ -1467,7 +1740,7 @@ impl SubtleCrypto {
key_gen_params: &SubtleAesKeyGenParams, key_gen_params: &SubtleAesKeyGenParams,
extractable: bool, extractable: bool,
) -> Result<DomRoot<CryptoKey>, Error> { ) -> Result<DomRoot<CryptoKey>, Error> {
let mut rand = vec![0; key_gen_params.length as usize]; let mut rand = vec![0; key_gen_params.length as usize / 8];
self.rng.borrow_mut().fill_bytes(&mut rand); self.rng.borrow_mut().fill_bytes(&mut rand);
let handle = match key_gen_params.length { let handle = match key_gen_params.length {
128 => Handle::Aes128(rand), 128 => Handle::Aes128(rand),
@ -1476,19 +1749,37 @@ impl SubtleCrypto {
_ => return Err(Error::Operation), _ => return Err(Error::Operation),
}; };
match key_gen_params.name.as_str() {
ALG_AES_CBC | ALG_AES_CTR => {
if usages.iter().any(|usage| { if usages.iter().any(|usage| {
!matches!( !matches!(
usage, usage,
KeyUsage::Encrypt | KeyUsage::Decrypt | KeyUsage::WrapKey | KeyUsage::UnwrapKey KeyUsage::Encrypt |
KeyUsage::Decrypt |
KeyUsage::WrapKey |
KeyUsage::UnwrapKey
) )
}) || usages.is_empty() }) || usages.is_empty()
{ {
return Err(Error::Syntax); return Err(Error::Syntax);
} }
},
ALG_AES_KW => {
if usages
.iter()
.any(|usage| !matches!(usage, KeyUsage::WrapKey | KeyUsage::UnwrapKey)) ||
usages.is_empty()
{
return Err(Error::Syntax);
}
},
_ => return Err(Error::NotSupported),
}
let name = match key_gen_params.name.as_str() { let name = match key_gen_params.name.as_str() {
ALG_AES_CBC => DOMString::from(ALG_AES_CBC), ALG_AES_CBC => DOMString::from(ALG_AES_CBC),
ALG_AES_CTR => DOMString::from(ALG_AES_CTR), ALG_AES_CTR => DOMString::from(ALG_AES_CTR),
ALG_AES_KW => DOMString::from(ALG_AES_KW),
_ => return Err(Error::NotSupported), _ => return Err(Error::NotSupported),
}; };
@ -1621,7 +1912,11 @@ impl SubtleCrypto {
128 => Handle::Aes128(data.to_vec()), 128 => Handle::Aes128(data.to_vec()),
192 => Handle::Aes192(data.to_vec()), 192 => Handle::Aes192(data.to_vec()),
256 => Handle::Aes256(data.to_vec()), 256 => Handle::Aes256(data.to_vec()),
_ => return Err(Error::Data), _ => {
println!("{}", String::from_utf8_lossy(data));
println!("Bad data length: {}", data.len());
return Err(Error::Data);
},
}; };
let name = DOMString::from(alg_name.to_string()); let name = DOMString::from(alg_name.to_string());
@ -1847,6 +2142,104 @@ impl SubtleCrypto {
Ok(key) Ok(key)
} }
/// <https://w3c.github.io/webcrypto/#aes-kw-operations>
fn wrap_key_aes_kw(
&self,
wrapping_key: &CryptoKey,
bytes: &[u8],
cx: JSContext,
handle: MutableHandleObject,
) -> Result<Vec<u8>, Error> {
// Step 1. If plaintext is not a multiple of 64 bits in length, then throw an OperationError.
if bytes.len() % 8 != 0 {
return Err(Error::Operation);
}
// Step 2. Let ciphertext be the result of performing the Key Wrap operation described in Section 2.2.1
// of [RFC3394] with plaintext as the plaintext to be wrapped and using the default Initial Value
// defined in Section 2.2.3.1 of the same document.
let wrapped_key = match wrapping_key.handle() {
Handle::Aes128(key_data) => {
let key_array = GenericArray::from_slice(key_data.as_slice());
let kek = KekAes128::new(key_array);
match kek.wrap_vec(bytes) {
Ok(key) => key,
Err(_) => return Err(Error::Operation),
}
},
Handle::Aes192(key_data) => {
let key_array = GenericArray::from_slice(key_data.as_slice());
let kek = KekAes192::new(key_array);
match kek.wrap_vec(bytes) {
Ok(key) => key,
Err(_) => return Err(Error::Operation),
}
},
Handle::Aes256(key_data) => {
let key_array = GenericArray::from_slice(key_data.as_slice());
let kek = KekAes256::new(key_array);
match kek.wrap_vec(bytes) {
Ok(key) => key,
Err(_) => return Err(Error::Operation),
}
},
_ => return Err(Error::Operation),
};
create_buffer_source::<ArrayBufferU8>(cx, &wrapped_key, handle)
.expect("failed to create buffer source for wrapped key.");
// 3. Return ciphertext.
Ok(wrapped_key)
}
/// <https://w3c.github.io/webcrypto/#aes-kw-operations>
fn unwrap_key_aes_kw(
&self,
wrapping_key: &CryptoKey,
bytes: &[u8],
cx: JSContext,
handle: MutableHandleObject,
) -> Result<Vec<u8>, Error> {
// Step 1. Let plaintext be the result of performing the Key Unwrap operation described in Section 2.2.2
// of [RFC3394] with ciphertext as the input ciphertext and using the default Initial Value defined
// in Section 2.2.3.1 of the same document.
// Step 2. If the Key Unwrap operation returns an error, then throw an OperationError.
let unwrapped_key = match wrapping_key.handle() {
Handle::Aes128(key_data) => {
let key_array = GenericArray::from_slice(key_data.as_slice());
let kek = KekAes128::new(key_array);
match kek.unwrap_vec(bytes) {
Ok(key) => key,
Err(_) => return Err(Error::Operation),
}
},
Handle::Aes192(key_data) => {
let key_array = GenericArray::from_slice(key_data.as_slice());
let kek = KekAes192::new(key_array);
match kek.unwrap_vec(bytes) {
Ok(key) => key,
Err(_) => return Err(Error::Operation),
}
},
Handle::Aes256(key_data) => {
let key_array = GenericArray::from_slice(key_data.as_slice());
let kek = KekAes256::new(key_array);
match kek.unwrap_vec(bytes) {
Ok(key) => key,
Err(_) => return Err(Error::Operation),
}
},
_ => return Err(Error::Operation),
};
create_buffer_source::<ArrayBufferU8>(cx, &unwrapped_key, handle)
.expect("failed to create buffer source for unwrapped key.");
// 3. Return plaintext.
Ok(unwrapped_key)
}
/// <https://w3c.github.io/webcrypto/#pbkdf2-operations> /// <https://w3c.github.io/webcrypto/#pbkdf2-operations>
#[allow(unsafe_code)] #[allow(unsafe_code)]
fn import_key_pbkdf2( fn import_key_pbkdf2(
@ -1909,10 +2302,10 @@ fn data_to_jwk_params(alg: &str, size: &str, key: &[u8]) -> (DOMString, DOMStrin
let jwk_alg = match alg { let jwk_alg = match alg {
ALG_AES_CBC => DOMString::from(format!("A{}CBC", size)), ALG_AES_CBC => DOMString::from(format!("A{}CBC", size)),
ALG_AES_CTR => DOMString::from(format!("A{}CTR", size)), ALG_AES_CTR => DOMString::from(format!("A{}CTR", size)),
ALG_AES_KW => DOMString::from(format!("A{}KW", size)),
_ => unreachable!(), _ => unreachable!(),
}; };
let mut data = BASE64_STANDARD.encode(key); let data = base64::engine::general_purpose::STANDARD_NO_PAD.encode(key);
data.retain(|c| c != '=');
(jwk_alg, DOMString::from(data)) (jwk_alg, DOMString::from(data))
} }
@ -2133,6 +2526,9 @@ impl ImportKeyAlgorithm {
Self::AesCtr => { Self::AesCtr => {
subtle.import_key_aes(format, secret, extractable, key_usages, ALG_AES_CTR) subtle.import_key_aes(format, secret, extractable, key_usages, ALG_AES_CTR)
}, },
Self::AesKw => {
subtle.import_key_aes(format, secret, extractable, key_usages, ALG_AES_KW)
},
Self::Hmac(params) => { Self::Hmac(params) => {
subtle.import_key_hmac(params, format, secret, extractable, key_usages) subtle.import_key_hmac(params, format, secret, extractable, key_usages)
}, },
@ -2168,7 +2564,7 @@ impl EncryptionAlgorithm {
data: &[u8], data: &[u8],
cx: JSContext, cx: JSContext,
result: MutableHandleObject, result: MutableHandleObject,
) -> Result<(), Error> { ) -> Result<Vec<u8>, Error> {
match self { match self {
Self::AesCbc(key_gen_params) => { Self::AesCbc(key_gen_params) => {
subtle.encrypt_aes_cbc(key_gen_params, key, data, cx, result) subtle.encrypt_aes_cbc(key_gen_params, key, data, cx, result)
@ -2187,7 +2583,7 @@ impl EncryptionAlgorithm {
data: &[u8], data: &[u8],
cx: JSContext, cx: JSContext,
result: MutableHandleObject, result: MutableHandleObject,
) -> Result<(), Error> { ) -> Result<Vec<u8>, Error> {
match self { match self {
Self::AesCbc(key_gen_params) => { Self::AesCbc(key_gen_params) => {
subtle.decrypt_aes_cbc(key_gen_params, key, data, cx, result) subtle.decrypt_aes_cbc(key_gen_params, key, data, cx, result)
@ -2280,3 +2676,68 @@ fn verify_hmac(
let is_valid = mac.as_ref() == signature; let is_valid = mac.as_ref() == signature;
Ok(is_valid) Ok(is_valid)
} }
impl KeyWrapAlgorithm {
/// <https://w3c.github.io/webcrypto/#dom-algorithm-name>
fn name(&self) -> &str {
match self {
Self::AesKw => ALG_AES_KW,
Self::AesCbc(key_gen_params) => &key_gen_params.name,
Self::AesCtr(key_gen_params) => &key_gen_params.name,
}
}
}
/// <https://w3c.github.io/webcrypto/#concept-parse-a-jwk>
fn parse_jwk(bytes: &[u8], alg: ImportKeyAlgorithm, extractable: bool) -> Result<Vec<u8>, Error> {
let jwk_string = String::from_utf8_lossy(bytes).to_string();
let value = serde_json::from_str(&jwk_string)
.map_err(|_| Error::Type("Failed to parse JWK string".into()))?;
let serde_json::Value::Object(obj) = value else {
return Err(Error::Data);
};
let kty = get_jwk_string(&obj, "kty")?;
let ext = get_jwk_bool(&obj, "ext")?;
if !ext && extractable {
return Err(Error::Data);
}
match alg {
ImportKeyAlgorithm::AesCbc | ImportKeyAlgorithm::AesCtr | ImportKeyAlgorithm::AesKw => {
if kty != "oct" {
return Err(Error::Data);
}
let k = get_jwk_string(&obj, "k")?;
base64::engine::general_purpose::STANDARD_NO_PAD
.decode(k.as_bytes())
.map_err(|_| Error::Data)
},
_ => Err(Error::NotSupported),
}
}
fn get_jwk_string(
value: &serde_json::Map<String, serde_json::Value>,
key: &str,
) -> Result<String, Error> {
let s = value
.get(key)
.ok_or(Error::Data)?
.as_str()
.ok_or(Error::Data)?;
Ok(s.to_string())
}
fn get_jwk_bool(
value: &serde_json::Map<String, serde_json::Value>,
key: &str,
) -> Result<bool, Error> {
let b = value
.get(key)
.ok_or(Error::Data)?
.as_bool()
.ok_or(Error::Data)?;
Ok(b)
}

View file

@ -55,17 +55,17 @@ interface SubtleCrypto {
sequence<KeyUsage> keyUsages ); sequence<KeyUsage> keyUsages );
Promise<any> exportKey(KeyFormat format, CryptoKey key); Promise<any> exportKey(KeyFormat format, CryptoKey key);
// Promise<any> wrapKey(KeyFormat format, Promise<any> wrapKey(KeyFormat format,
// CryptoKey key, CryptoKey key,
// CryptoKey wrappingKey, CryptoKey wrappingKey,
// AlgorithmIdentifier wrapAlgorithm); AlgorithmIdentifier wrapAlgorithm);
// Promise<CryptoKey> unwrapKey(KeyFormat format, Promise<CryptoKey> unwrapKey(KeyFormat format,
// BufferSource wrappedKey, BufferSource wrappedKey,
// CryptoKey unwrappingKey, CryptoKey unwrappingKey,
// AlgorithmIdentifier unwrapAlgorithm, AlgorithmIdentifier unwrapAlgorithm,
// AlgorithmIdentifier unwrappedKeyAlgorithm, AlgorithmIdentifier unwrappedKeyAlgorithm,
// boolean extractable, boolean extractable,
// sequence<KeyUsage> keyUsages ); sequence<KeyUsage> keyUsages );
}; };
// AES shared // AES shared

View file

@ -1,950 +0,0 @@
[failures_AES-KW.https.any.html]
[Untitled]
expected: FAIL
[WebCryptoAPI: generateKey() for Failures]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [sign\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [verify\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [sign\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [verify\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [sign\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [verify\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, deriveBits\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 64, name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 64, name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 64, name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 64, name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 64, name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 64, name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 64, name: AES-KW}, false, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 64, name: AES-KW}, true, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 64, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 64, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 127, name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 127, name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 127, name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 127, name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 127, name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 127, name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 127, name: AES-KW}, false, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 127, name: AES-KW}, true, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 127, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 127, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 129, name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 129, name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 129, name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 129, name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 129, name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 129, name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 129, name: AES-KW}, false, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 129, name: AES-KW}, true, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 129, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 129, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 255, name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 255, name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 255, name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 255, name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 255, name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 255, name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 255, name: AES-KW}, false, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 255, name: AES-KW}, true, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 255, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 255, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 257, name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 257, name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 257, name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 257, name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 257, name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 257, name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 257, name: AES-KW}, false, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 257, name: AES-KW}, true, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 257, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 257, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 512, name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 512, name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 512, name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 512, name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 512, name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 512, name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 512, name: AES-KW}, false, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 512, name: AES-KW}, true, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 512, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 512, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Empty usages: generateKey({length: 128, name: AES-KW}, false, [\])]
expected: FAIL
[Empty usages: generateKey({length: 128, name: AES-KW}, true, [\])]
expected: FAIL
[Empty usages: generateKey({length: 192, name: AES-KW}, false, [\])]
expected: FAIL
[Empty usages: generateKey({length: 192, name: AES-KW}, true, [\])]
expected: FAIL
[Empty usages: generateKey({length: 256, name: AES-KW}, false, [\])]
expected: FAIL
[Empty usages: generateKey({length: 256, name: AES-KW}, true, [\])]
expected: FAIL
[failures_AES-KW.https.any.worker.html]
[Untitled]
expected: FAIL
[WebCryptoAPI: generateKey() for Failures]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [sign\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [verify\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [sign\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [verify\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [sign\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [verify\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, deriveBits\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 64, name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 64, name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 64, name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 64, name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 64, name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 64, name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 64, name: AES-KW}, false, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 64, name: AES-KW}, true, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 64, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 64, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 127, name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 127, name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 127, name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 127, name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 127, name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 127, name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 127, name: AES-KW}, false, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 127, name: AES-KW}, true, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 127, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 127, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 129, name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 129, name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 129, name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 129, name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 129, name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 129, name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 129, name: AES-KW}, false, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 129, name: AES-KW}, true, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 129, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 129, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 255, name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 255, name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 255, name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 255, name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 255, name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 255, name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 255, name: AES-KW}, false, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 255, name: AES-KW}, true, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 255, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 255, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 257, name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 257, name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 257, name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 257, name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 257, name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 257, name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 257, name: AES-KW}, false, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 257, name: AES-KW}, true, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 257, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 257, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 512, name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 512, name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 512, name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 512, name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 512, name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 512, name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 512, name: AES-KW}, false, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 512, name: AES-KW}, true, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 512, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 512, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Empty usages: generateKey({length: 128, name: AES-KW}, false, [\])]
expected: FAIL
[Empty usages: generateKey({length: 128, name: AES-KW}, true, [\])]
expected: FAIL
[Empty usages: generateKey({length: 192, name: AES-KW}, false, [\])]
expected: FAIL
[Empty usages: generateKey({length: 192, name: AES-KW}, true, [\])]
expected: FAIL
[Empty usages: generateKey({length: 256, name: AES-KW}, false, [\])]
expected: FAIL
[Empty usages: generateKey({length: 256, name: AES-KW}, true, [\])]
expected: FAIL

View file

@ -1,446 +0,0 @@
[successes_AES-KW.https.any.html]
[Untitled]
expected: FAIL
[WebCryptoAPI: generateKey() Successful Calls]
expected: FAIL
[Success: generateKey({length: 128, name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: aes-kw}, false, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: aes-kw}, true, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: aes-kw}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: aes-kw}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: aes-kw}, false, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: aes-kw}, true, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: aes-kw}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: aes-kw}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: aes-kw}, false, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: aes-kw}, true, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: aes-kw}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: aes-kw}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: aes-kw}, false, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: aes-kw}, true, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: aes-kw}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: aes-kw}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: aes-kw}, false, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: aes-kw}, true, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: aes-kw}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: aes-kw}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: aes-kw}, false, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: aes-kw}, true, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: aes-kw}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: aes-kw}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: Aes-kw}, false, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: Aes-kw}, true, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: Aes-kw}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: Aes-kw}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: Aes-kw}, false, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: Aes-kw}, true, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: Aes-kw}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: Aes-kw}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: Aes-kw}, false, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: Aes-kw}, true, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: Aes-kw}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: Aes-kw}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: Aes-kw}, false, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: Aes-kw}, true, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: Aes-kw}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: Aes-kw}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: Aes-kw}, false, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: Aes-kw}, true, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: Aes-kw}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: Aes-kw}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: Aes-kw}, false, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: Aes-kw}, true, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: Aes-kw}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: Aes-kw}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[successes_AES-KW.https.any.worker.html]
[Untitled]
expected: FAIL
[WebCryptoAPI: generateKey() Successful Calls]
expected: FAIL
[Success: generateKey({length: 128, name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: aes-kw}, false, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: aes-kw}, true, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: aes-kw}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: aes-kw}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: aes-kw}, false, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: aes-kw}, true, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: aes-kw}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: aes-kw}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: aes-kw}, false, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: aes-kw}, true, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: aes-kw}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: aes-kw}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: aes-kw}, false, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: aes-kw}, true, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: aes-kw}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: aes-kw}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: aes-kw}, false, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: aes-kw}, true, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: aes-kw}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: aes-kw}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: aes-kw}, false, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: aes-kw}, true, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: aes-kw}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: aes-kw}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: Aes-kw}, false, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: Aes-kw}, true, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: Aes-kw}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: Aes-kw}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: Aes-kw}, false, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: Aes-kw}, true, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: Aes-kw}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: Aes-kw}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: Aes-kw}, false, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: Aes-kw}, true, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: Aes-kw}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: Aes-kw}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: Aes-kw}, false, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: Aes-kw}, true, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: Aes-kw}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: Aes-kw}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: Aes-kw}, false, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: Aes-kw}, true, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: Aes-kw}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: Aes-kw}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: Aes-kw}, false, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: Aes-kw}, true, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: Aes-kw}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: Aes-kw}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL

View file

@ -38,33 +38,6 @@
[SubtleCrypto interface: calling deriveBits(AlgorithmIdentifier, CryptoKey, unsigned long) on crypto.subtle with too few arguments must throw TypeError] [SubtleCrypto interface: calling deriveBits(AlgorithmIdentifier, CryptoKey, unsigned long) on crypto.subtle with too few arguments must throw TypeError]
expected: FAIL expected: FAIL
[SubtleCrypto interface: crypto.subtle must inherit property "importKey(KeyFormat, [object Object\],[object Object\], AlgorithmIdentifier, boolean, [object Object\])" with the proper type]
expected: FAIL
[SubtleCrypto interface: calling importKey(KeyFormat, [object Object\],[object Object\], AlgorithmIdentifier, boolean, [object Object\]) on crypto.subtle with too few arguments must throw TypeError]
expected: FAIL
[SubtleCrypto interface: crypto.subtle must inherit property "wrapKey(KeyFormat, CryptoKey, CryptoKey, AlgorithmIdentifier)" with the proper type]
expected: FAIL
[SubtleCrypto interface: calling wrapKey(KeyFormat, CryptoKey, CryptoKey, AlgorithmIdentifier) on crypto.subtle with too few arguments must throw TypeError]
expected: FAIL
[SubtleCrypto interface: crypto.subtle must inherit property "unwrapKey(KeyFormat, BufferSource, CryptoKey, AlgorithmIdentifier, AlgorithmIdentifier, boolean, [object Object\])" with the proper type]
expected: FAIL
[SubtleCrypto interface: calling unwrapKey(KeyFormat, BufferSource, CryptoKey, AlgorithmIdentifier, AlgorithmIdentifier, boolean, [object Object\]) on crypto.subtle with too few arguments must throw TypeError]
expected: FAIL
[SubtleCrypto interface: operation unwrapKey(KeyFormat, BufferSource, CryptoKey, AlgorithmIdentifier, AlgorithmIdentifier, boolean, sequence<KeyUsage>)]
expected: FAIL
[SubtleCrypto interface: crypto.subtle must inherit property "unwrapKey(KeyFormat, BufferSource, CryptoKey, AlgorithmIdentifier, AlgorithmIdentifier, boolean, sequence<KeyUsage>)" with the proper type]
expected: FAIL
[SubtleCrypto interface: calling unwrapKey(KeyFormat, BufferSource, CryptoKey, AlgorithmIdentifier, AlgorithmIdentifier, boolean, sequence<KeyUsage>) on crypto.subtle with too few arguments must throw TypeError]
expected: FAIL
[idlharness.https.any.worker.html] [idlharness.https.any.worker.html]
[idlharness] [idlharness]
@ -105,30 +78,3 @@
[SubtleCrypto interface: calling deriveBits(AlgorithmIdentifier, CryptoKey, unsigned long) on crypto.subtle with too few arguments must throw TypeError] [SubtleCrypto interface: calling deriveBits(AlgorithmIdentifier, CryptoKey, unsigned long) on crypto.subtle with too few arguments must throw TypeError]
expected: FAIL expected: FAIL
[SubtleCrypto interface: crypto.subtle must inherit property "importKey(KeyFormat, [object Object\],[object Object\], AlgorithmIdentifier, boolean, [object Object\])" with the proper type]
expected: FAIL
[SubtleCrypto interface: calling importKey(KeyFormat, [object Object\],[object Object\], AlgorithmIdentifier, boolean, [object Object\]) on crypto.subtle with too few arguments must throw TypeError]
expected: FAIL
[SubtleCrypto interface: crypto.subtle must inherit property "wrapKey(KeyFormat, CryptoKey, CryptoKey, AlgorithmIdentifier)" with the proper type]
expected: FAIL
[SubtleCrypto interface: calling wrapKey(KeyFormat, CryptoKey, CryptoKey, AlgorithmIdentifier) on crypto.subtle with too few arguments must throw TypeError]
expected: FAIL
[SubtleCrypto interface: crypto.subtle must inherit property "unwrapKey(KeyFormat, BufferSource, CryptoKey, AlgorithmIdentifier, AlgorithmIdentifier, boolean, [object Object\])" with the proper type]
expected: FAIL
[SubtleCrypto interface: calling unwrapKey(KeyFormat, BufferSource, CryptoKey, AlgorithmIdentifier, AlgorithmIdentifier, boolean, [object Object\]) on crypto.subtle with too few arguments must throw TypeError]
expected: FAIL
[SubtleCrypto interface: operation unwrapKey(KeyFormat, BufferSource, CryptoKey, AlgorithmIdentifier, AlgorithmIdentifier, boolean, sequence<KeyUsage>)]
expected: FAIL
[SubtleCrypto interface: crypto.subtle must inherit property "unwrapKey(KeyFormat, BufferSource, CryptoKey, AlgorithmIdentifier, AlgorithmIdentifier, boolean, sequence<KeyUsage>)" with the proper type]
expected: FAIL
[SubtleCrypto interface: calling unwrapKey(KeyFormat, BufferSource, CryptoKey, AlgorithmIdentifier, AlgorithmIdentifier, boolean, sequence<KeyUsage>) on crypto.subtle with too few arguments must throw TypeError]
expected: FAIL

View file

@ -107,114 +107,6 @@
[Good parameters: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, false, [decrypt\])] [Good parameters: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, false, [decrypt\])]
expected: FAIL expected: FAIL
[Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Good parameters: 128 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-1, name: HMAC}, false, [sign\])] [Good parameters: 128 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-1, name: HMAC}, false, [sign\])]
expected: FAIL expected: FAIL
@ -359,42 +251,6 @@
[Empty Usages: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, false, [\])] [Empty Usages: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, false, [\])]
expected: FAIL expected: FAIL
[Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [\])]
expected: FAIL
[Empty Usages: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, true, [\])]
expected: FAIL
[Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [\])]
expected: FAIL
[Empty Usages: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, false, [\])]
expected: FAIL
[Empty Usages: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [\])]
expected: FAIL
[Empty Usages: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, true, [\])]
expected: FAIL
[Empty Usages: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [\])]
expected: FAIL
[Empty Usages: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, false, [\])]
expected: FAIL
[Empty Usages: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [\])]
expected: FAIL
[Empty Usages: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, true, [\])]
expected: FAIL
[Empty Usages: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [\])]
expected: FAIL
[Empty Usages: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, false, [\])]
expected: FAIL
[Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-1, name: HMAC}, false, [\])] [Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-1, name: HMAC}, false, [\])]
expected: FAIL expected: FAIL
@ -521,42 +377,6 @@
[Good parameters: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, false, [encrypt, decrypt, encrypt, decrypt\])] [Good parameters: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, false, [encrypt, decrypt, encrypt, decrypt\])]
expected: FAIL expected: FAIL
[Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 128 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-1, name: HMAC}, false, [sign, verify, sign, verify\])] [Good parameters: 128 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-1, name: HMAC}, false, [sign, verify, sign, verify\])]
expected: FAIL expected: FAIL
@ -703,114 +523,6 @@
[Good parameters: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, false, [decrypt\])] [Good parameters: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, false, [decrypt\])]
expected: FAIL expected: FAIL
[Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Good parameters: 128 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-1, name: HMAC}, false, [sign\])] [Good parameters: 128 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-1, name: HMAC}, false, [sign\])]
expected: FAIL expected: FAIL
@ -955,42 +667,6 @@
[Empty Usages: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, false, [\])] [Empty Usages: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, false, [\])]
expected: FAIL expected: FAIL
[Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [\])]
expected: FAIL
[Empty Usages: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, true, [\])]
expected: FAIL
[Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [\])]
expected: FAIL
[Empty Usages: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, false, [\])]
expected: FAIL
[Empty Usages: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [\])]
expected: FAIL
[Empty Usages: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, true, [\])]
expected: FAIL
[Empty Usages: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [\])]
expected: FAIL
[Empty Usages: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, false, [\])]
expected: FAIL
[Empty Usages: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [\])]
expected: FAIL
[Empty Usages: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, true, [\])]
expected: FAIL
[Empty Usages: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [\])]
expected: FAIL
[Empty Usages: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, false, [\])]
expected: FAIL
[Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-1, name: HMAC}, false, [\])] [Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-1, name: HMAC}, false, [\])]
expected: FAIL expected: FAIL
@ -1117,42 +793,6 @@
[Good parameters: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, false, [encrypt, decrypt, encrypt, decrypt\])] [Good parameters: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, false, [encrypt, decrypt, encrypt, decrypt\])]
expected: FAIL expected: FAIL
[Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 128 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-1, name: HMAC}, false, [sign, verify, sign, verify\])] [Good parameters: 128 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-1, name: HMAC}, false, [sign, verify, sign, verify\])]
expected: FAIL expected: FAIL

View file

@ -1,122 +0,0 @@
[wrapKey_unwrapKey.https.any.html]
[Can wrap and unwrap AES-CBC keys using raw and AES-CBC]
expected: FAIL
[Can wrap and unwrap AES-CBC keys as non-extractable using raw and AES-CBC]
expected: FAIL
[Can wrap and unwrap AES-CBC keys using jwk and AES-CBC]
expected: FAIL
[Can wrap and unwrap AES-CBC keys as non-extractable using jwk and AES-CBC]
expected: FAIL
[Can unwrap AES-CBC non-extractable keys using jwk and AES-CBC]
expected: FAIL
[Can wrap and unwrap AES-CTR keys using raw and AES-CTR]
expected: FAIL
[Can wrap and unwrap AES-CTR keys as non-extractable using raw and AES-CTR]
expected: FAIL
[Can wrap and unwrap AES-CTR keys using jwk and AES-CTR]
expected: FAIL
[Can wrap and unwrap AES-CTR keys as non-extractable using jwk and AES-CTR]
expected: FAIL
[Can unwrap AES-CTR non-extractable keys using jwk and AES-CTR]
expected: FAIL
[Can wrap and unwrap AES-CBC keys using raw and AES-CTR]
expected: FAIL
[Can wrap and unwrap AES-CBC keys as non-extractable using raw and AES-CTR]
expected: FAIL
[Can wrap and unwrap AES-CBC keys using jwk and AES-CTR]
expected: FAIL
[Can wrap and unwrap AES-CBC keys as non-extractable using jwk and AES-CTR]
expected: FAIL
[Can unwrap AES-CBC non-extractable keys using jwk and AES-CTR]
expected: FAIL
[Can wrap and unwrap AES-CTR keys using raw and AES-CBC]
expected: FAIL
[Can wrap and unwrap AES-CTR keys as non-extractable using raw and AES-CBC]
expected: FAIL
[Can wrap and unwrap AES-CTR keys using jwk and AES-CBC]
expected: FAIL
[Can wrap and unwrap AES-CTR keys as non-extractable using jwk and AES-CBC]
expected: FAIL
[Can unwrap AES-CTR non-extractable keys using jwk and AES-CBC]
expected: FAIL
[wrapKey_unwrapKey.https.any.worker.html]
[Can wrap and unwrap AES-CBC keys using raw and AES-CBC]
expected: FAIL
[Can wrap and unwrap AES-CBC keys as non-extractable using raw and AES-CBC]
expected: FAIL
[Can wrap and unwrap AES-CBC keys using jwk and AES-CBC]
expected: FAIL
[Can wrap and unwrap AES-CBC keys as non-extractable using jwk and AES-CBC]
expected: FAIL
[Can unwrap AES-CBC non-extractable keys using jwk and AES-CBC]
expected: FAIL
[Can wrap and unwrap AES-CTR keys using raw and AES-CTR]
expected: FAIL
[Can wrap and unwrap AES-CTR keys as non-extractable using raw and AES-CTR]
expected: FAIL
[Can wrap and unwrap AES-CTR keys using jwk and AES-CTR]
expected: FAIL
[Can wrap and unwrap AES-CTR keys as non-extractable using jwk and AES-CTR]
expected: FAIL
[Can unwrap AES-CTR non-extractable keys using jwk and AES-CTR]
expected: FAIL
[Can wrap and unwrap AES-CBC keys using raw and AES-CTR]
expected: FAIL
[Can wrap and unwrap AES-CBC keys as non-extractable using raw and AES-CTR]
expected: FAIL
[Can wrap and unwrap AES-CBC keys using jwk and AES-CTR]
expected: FAIL
[Can wrap and unwrap AES-CBC keys as non-extractable using jwk and AES-CTR]
expected: FAIL
[Can unwrap AES-CBC non-extractable keys using jwk and AES-CTR]
expected: FAIL
[Can wrap and unwrap AES-CTR keys using raw and AES-CBC]
expected: FAIL
[Can wrap and unwrap AES-CTR keys as non-extractable using raw and AES-CBC]
expected: FAIL
[Can wrap and unwrap AES-CTR keys using jwk and AES-CBC]
expected: FAIL
[Can wrap and unwrap AES-CTR keys as non-extractable using jwk and AES-CBC]
expected: FAIL
[Can unwrap AES-CTR non-extractable keys using jwk and AES-CBC]
expected: FAIL

View file

@ -1,938 +0,0 @@
[failures_AES-KW.https.any.worker.html]
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [sign\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [verify\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [sign\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [verify\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [sign\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [verify\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, deriveBits\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 64, name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 64, name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 64, name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 64, name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 64, name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 64, name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 64, name: AES-KW}, false, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 64, name: AES-KW}, true, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 64, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 64, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 127, name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 127, name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 127, name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 127, name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 127, name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 127, name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 127, name: AES-KW}, false, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 127, name: AES-KW}, true, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 127, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 127, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 129, name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 129, name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 129, name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 129, name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 129, name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 129, name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 129, name: AES-KW}, false, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 129, name: AES-KW}, true, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 129, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 129, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 255, name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 255, name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 255, name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 255, name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 255, name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 255, name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 255, name: AES-KW}, false, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 255, name: AES-KW}, true, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 255, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 255, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 257, name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 257, name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 257, name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 257, name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 257, name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 257, name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 257, name: AES-KW}, false, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 257, name: AES-KW}, true, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 257, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 257, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 512, name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 512, name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 512, name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 512, name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 512, name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 512, name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 512, name: AES-KW}, false, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 512, name: AES-KW}, true, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 512, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 512, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Empty usages: generateKey({length: 128, name: AES-KW}, false, [\])]
expected: FAIL
[Empty usages: generateKey({length: 128, name: AES-KW}, true, [\])]
expected: FAIL
[Empty usages: generateKey({length: 192, name: AES-KW}, false, [\])]
expected: FAIL
[Empty usages: generateKey({length: 192, name: AES-KW}, true, [\])]
expected: FAIL
[Empty usages: generateKey({length: 256, name: AES-KW}, false, [\])]
expected: FAIL
[Empty usages: generateKey({length: 256, name: AES-KW}, true, [\])]
expected: FAIL
[failures_AES-KW.https.any.html]
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [sign\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [verify\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [sign\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [verify\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, encrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, decrypt\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [sign\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, sign\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [verify\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, verify\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, deriveKey\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, deriveBits\])]
expected: FAIL
[Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, deriveBits\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 64, name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 64, name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 64, name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 64, name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 64, name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 64, name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 64, name: AES-KW}, false, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 64, name: AES-KW}, true, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 64, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 64, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 127, name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 127, name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 127, name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 127, name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 127, name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 127, name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 127, name: AES-KW}, false, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 127, name: AES-KW}, true, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 127, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 127, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 129, name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 129, name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 129, name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 129, name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 129, name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 129, name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 129, name: AES-KW}, false, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 129, name: AES-KW}, true, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 129, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 129, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 255, name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 255, name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 255, name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 255, name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 255, name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 255, name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 255, name: AES-KW}, false, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 255, name: AES-KW}, true, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 255, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 255, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 257, name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 257, name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 257, name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 257, name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 257, name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 257, name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 257, name: AES-KW}, false, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 257, name: AES-KW}, true, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 257, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 257, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 512, name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 512, name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 512, name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 512, name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 512, name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 512, name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 512, name: AES-KW}, false, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 512, name: AES-KW}, true, [\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 512, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Bad algorithm property: generateKey({length: 512, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Empty usages: generateKey({length: 128, name: AES-KW}, false, [\])]
expected: FAIL
[Empty usages: generateKey({length: 128, name: AES-KW}, true, [\])]
expected: FAIL
[Empty usages: generateKey({length: 192, name: AES-KW}, false, [\])]
expected: FAIL
[Empty usages: generateKey({length: 192, name: AES-KW}, true, [\])]
expected: FAIL
[Empty usages: generateKey({length: 256, name: AES-KW}, false, [\])]
expected: FAIL
[Empty usages: generateKey({length: 256, name: AES-KW}, true, [\])]
expected: FAIL

View file

@ -1,434 +0,0 @@
[successes_AES-KW.https.any.html]
[Success: generateKey({length: 128, name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: aes-kw}, false, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: aes-kw}, true, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: aes-kw}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: aes-kw}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: aes-kw}, false, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: aes-kw}, true, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: aes-kw}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: aes-kw}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: aes-kw}, false, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: aes-kw}, true, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: aes-kw}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: aes-kw}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: aes-kw}, false, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: aes-kw}, true, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: aes-kw}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: aes-kw}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: aes-kw}, false, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: aes-kw}, true, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: aes-kw}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: aes-kw}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: aes-kw}, false, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: aes-kw}, true, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: aes-kw}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: aes-kw}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: Aes-kw}, false, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: Aes-kw}, true, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: Aes-kw}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: Aes-kw}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: Aes-kw}, false, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: Aes-kw}, true, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: Aes-kw}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: Aes-kw}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: Aes-kw}, false, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: Aes-kw}, true, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: Aes-kw}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: Aes-kw}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: Aes-kw}, false, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: Aes-kw}, true, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: Aes-kw}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: Aes-kw}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: Aes-kw}, false, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: Aes-kw}, true, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: Aes-kw}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: Aes-kw}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: Aes-kw}, false, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: Aes-kw}, true, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: Aes-kw}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: Aes-kw}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[successes_AES-KW.https.any.worker.html]
[Success: generateKey({length: 128, name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: aes-kw}, false, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: aes-kw}, true, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: aes-kw}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: aes-kw}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: aes-kw}, false, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: aes-kw}, true, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: aes-kw}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: aes-kw}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: aes-kw}, false, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: aes-kw}, true, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: aes-kw}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: aes-kw}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: aes-kw}, false, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: aes-kw}, true, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: aes-kw}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: aes-kw}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: aes-kw}, false, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: aes-kw}, true, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: aes-kw}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: aes-kw}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: aes-kw}, false, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: aes-kw}, true, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: aes-kw}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: aes-kw}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: Aes-kw}, false, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: Aes-kw}, true, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: Aes-kw}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: Aes-kw}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: Aes-kw}, false, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: Aes-kw}, true, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: Aes-kw}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 128, name: Aes-kw}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: Aes-kw}, false, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: Aes-kw}, true, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: Aes-kw}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: Aes-kw}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: Aes-kw}, false, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: Aes-kw}, true, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: Aes-kw}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 192, name: Aes-kw}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: Aes-kw}, false, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: Aes-kw}, true, [wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: Aes-kw}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: Aes-kw}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: Aes-kw}, false, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: Aes-kw}, true, [unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: Aes-kw}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Success: generateKey({length: 256, name: Aes-kw}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL

View file

@ -2,55 +2,19 @@
[SubtleCrypto interface: operation deriveBits(AlgorithmIdentifier, CryptoKey, unsigned long)] [SubtleCrypto interface: operation deriveBits(AlgorithmIdentifier, CryptoKey, unsigned long)]
expected: FAIL expected: FAIL
[SubtleCrypto interface: operation wrapKey(KeyFormat, CryptoKey, CryptoKey, AlgorithmIdentifier)]
expected: FAIL
[SubtleCrypto interface: operation unwrapKey(KeyFormat, BufferSource, CryptoKey, AlgorithmIdentifier, AlgorithmIdentifier, boolean, sequence<KeyUsage>)]
expected: FAIL
[SubtleCrypto interface: crypto.subtle must inherit property "deriveBits(AlgorithmIdentifier, CryptoKey, unsigned long)" with the proper type] [SubtleCrypto interface: crypto.subtle must inherit property "deriveBits(AlgorithmIdentifier, CryptoKey, unsigned long)" with the proper type]
expected: FAIL expected: FAIL
[SubtleCrypto interface: calling deriveBits(AlgorithmIdentifier, CryptoKey, unsigned long) on crypto.subtle with too few arguments must throw TypeError] [SubtleCrypto interface: calling deriveBits(AlgorithmIdentifier, CryptoKey, unsigned long) on crypto.subtle with too few arguments must throw TypeError]
expected: FAIL expected: FAIL
[SubtleCrypto interface: crypto.subtle must inherit property "wrapKey(KeyFormat, CryptoKey, CryptoKey, AlgorithmIdentifier)" with the proper type]
expected: FAIL
[SubtleCrypto interface: calling wrapKey(KeyFormat, CryptoKey, CryptoKey, AlgorithmIdentifier) on crypto.subtle with too few arguments must throw TypeError]
expected: FAIL
[SubtleCrypto interface: crypto.subtle must inherit property "unwrapKey(KeyFormat, BufferSource, CryptoKey, AlgorithmIdentifier, AlgorithmIdentifier, boolean, sequence<KeyUsage>)" with the proper type]
expected: FAIL
[SubtleCrypto interface: calling unwrapKey(KeyFormat, BufferSource, CryptoKey, AlgorithmIdentifier, AlgorithmIdentifier, boolean, sequence<KeyUsage>) on crypto.subtle with too few arguments must throw TypeError]
expected: FAIL
[idlharness.https.any.html] [idlharness.https.any.html]
[SubtleCrypto interface: operation deriveBits(AlgorithmIdentifier, CryptoKey, unsigned long)] [SubtleCrypto interface: operation deriveBits(AlgorithmIdentifier, CryptoKey, unsigned long)]
expected: FAIL expected: FAIL
[SubtleCrypto interface: operation wrapKey(KeyFormat, CryptoKey, CryptoKey, AlgorithmIdentifier)]
expected: FAIL
[SubtleCrypto interface: operation unwrapKey(KeyFormat, BufferSource, CryptoKey, AlgorithmIdentifier, AlgorithmIdentifier, boolean, sequence<KeyUsage>)]
expected: FAIL
[SubtleCrypto interface: crypto.subtle must inherit property "deriveBits(AlgorithmIdentifier, CryptoKey, unsigned long)" with the proper type] [SubtleCrypto interface: crypto.subtle must inherit property "deriveBits(AlgorithmIdentifier, CryptoKey, unsigned long)" with the proper type]
expected: FAIL expected: FAIL
[SubtleCrypto interface: calling deriveBits(AlgorithmIdentifier, CryptoKey, unsigned long) on crypto.subtle with too few arguments must throw TypeError] [SubtleCrypto interface: calling deriveBits(AlgorithmIdentifier, CryptoKey, unsigned long) on crypto.subtle with too few arguments must throw TypeError]
expected: FAIL expected: FAIL
[SubtleCrypto interface: crypto.subtle must inherit property "wrapKey(KeyFormat, CryptoKey, CryptoKey, AlgorithmIdentifier)" with the proper type]
expected: FAIL
[SubtleCrypto interface: calling wrapKey(KeyFormat, CryptoKey, CryptoKey, AlgorithmIdentifier) on crypto.subtle with too few arguments must throw TypeError]
expected: FAIL
[SubtleCrypto interface: crypto.subtle must inherit property "unwrapKey(KeyFormat, BufferSource, CryptoKey, AlgorithmIdentifier, AlgorithmIdentifier, boolean, sequence<KeyUsage>)" with the proper type]
expected: FAIL
[SubtleCrypto interface: calling unwrapKey(KeyFormat, BufferSource, CryptoKey, AlgorithmIdentifier, AlgorithmIdentifier, boolean, sequence<KeyUsage>) on crypto.subtle with too few arguments must throw TypeError]
expected: FAIL

View file

@ -107,114 +107,6 @@
[Good parameters: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, false, [decrypt\])] [Good parameters: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, false, [decrypt\])]
expected: FAIL expected: FAIL
[Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Good parameters: 128 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-1, name: HMAC}, false, [sign\])] [Good parameters: 128 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-1, name: HMAC}, false, [sign\])]
expected: FAIL expected: FAIL
@ -359,42 +251,6 @@
[Empty Usages: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, false, [\])] [Empty Usages: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, false, [\])]
expected: FAIL expected: FAIL
[Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [\])]
expected: FAIL
[Empty Usages: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, true, [\])]
expected: FAIL
[Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [\])]
expected: FAIL
[Empty Usages: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, false, [\])]
expected: FAIL
[Empty Usages: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [\])]
expected: FAIL
[Empty Usages: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, true, [\])]
expected: FAIL
[Empty Usages: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [\])]
expected: FAIL
[Empty Usages: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, false, [\])]
expected: FAIL
[Empty Usages: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [\])]
expected: FAIL
[Empty Usages: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, true, [\])]
expected: FAIL
[Empty Usages: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [\])]
expected: FAIL
[Empty Usages: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, false, [\])]
expected: FAIL
[Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-1, name: HMAC}, false, [\])] [Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-1, name: HMAC}, false, [\])]
expected: FAIL expected: FAIL
@ -521,42 +377,6 @@
[Good parameters: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, false, [encrypt, decrypt, encrypt, decrypt\])] [Good parameters: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, false, [encrypt, decrypt, encrypt, decrypt\])]
expected: FAIL expected: FAIL
[Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 128 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-1, name: HMAC}, false, [sign, verify, sign, verify\])] [Good parameters: 128 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-1, name: HMAC}, false, [sign, verify, sign, verify\])]
expected: FAIL expected: FAIL
@ -703,114 +523,6 @@
[Good parameters: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, false, [decrypt\])] [Good parameters: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, false, [decrypt\])]
expected: FAIL expected: FAIL
[Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, true, [wrapKey\])]
expected: FAIL
[Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, false, [wrapKey\])]
expected: FAIL
[Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, true, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, false, [unwrapKey, wrapKey\])]
expected: FAIL
[Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, true, [unwrapKey\])]
expected: FAIL
[Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, false, [unwrapKey\])]
expected: FAIL
[Good parameters: 128 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-1, name: HMAC}, false, [sign\])] [Good parameters: 128 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-1, name: HMAC}, false, [sign\])]
expected: FAIL expected: FAIL
@ -955,42 +667,6 @@
[Empty Usages: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, false, [\])] [Empty Usages: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, false, [\])]
expected: FAIL expected: FAIL
[Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [\])]
expected: FAIL
[Empty Usages: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, true, [\])]
expected: FAIL
[Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [\])]
expected: FAIL
[Empty Usages: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, false, [\])]
expected: FAIL
[Empty Usages: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [\])]
expected: FAIL
[Empty Usages: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, true, [\])]
expected: FAIL
[Empty Usages: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [\])]
expected: FAIL
[Empty Usages: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, false, [\])]
expected: FAIL
[Empty Usages: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [\])]
expected: FAIL
[Empty Usages: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, true, [\])]
expected: FAIL
[Empty Usages: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [\])]
expected: FAIL
[Empty Usages: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, false, [\])]
expected: FAIL
[Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-1, name: HMAC}, false, [\])] [Empty Usages: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {hash: SHA-1, name: HMAC}, false, [\])]
expected: FAIL expected: FAIL
@ -1117,42 +793,6 @@
[Good parameters: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, false, [encrypt, decrypt, encrypt, decrypt\])] [Good parameters: 256 bits (jwk, {alg: A256GCM, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-GCM}, false, [encrypt, decrypt, encrypt, decrypt\])]
expected: FAIL expected: FAIL
[Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 128 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 128 bits (jwk, {alg: A128KW, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 192 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 192 bits (jwk, {alg: A192KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcY, kty: oct}, {name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 256 bits (raw, {0: 1, 1: 2, 10: 11, 11: 12, 12: 13, 13: 14, 14: 15, 15: 16, 16: 17, 17: 18, 18: 19, 19: 20, 2: 3, 20: 21, 21: 22, 22: 23, 23: 24, 24: 25, 25: 26, 26: 27, 27: 28, 28: 29, 29: 30, 3: 4, 30: 31, 31: 32, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}, {name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 256 bits (jwk, {alg: A256KW, k: AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyA, kty: oct}, {name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
expected: FAIL
[Good parameters: 128 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-1, name: HMAC}, false, [sign, verify, sign, verify\])] [Good parameters: 128 bits (jwk, {alg: HS1, k: AQIDBAUGBwgJCgsMDQ4PEA, kty: oct}, {hash: SHA-1, name: HMAC}, false, [sign, verify, sign, verify\])]
expected: FAIL expected: FAIL

View file

@ -1,122 +0,0 @@
[wrapKey_unwrapKey.https.any.html]
[Can wrap and unwrap AES-CBC keys using raw and AES-CBC]
expected: FAIL
[Can wrap and unwrap AES-CBC keys as non-extractable using raw and AES-CBC]
expected: FAIL
[Can wrap and unwrap AES-CBC keys using jwk and AES-CBC]
expected: FAIL
[Can wrap and unwrap AES-CBC keys as non-extractable using jwk and AES-CBC]
expected: FAIL
[Can unwrap AES-CBC non-extractable keys using jwk and AES-CBC]
expected: FAIL
[Can wrap and unwrap AES-CTR keys using raw and AES-CTR]
expected: FAIL
[Can wrap and unwrap AES-CTR keys as non-extractable using raw and AES-CTR]
expected: FAIL
[Can wrap and unwrap AES-CTR keys using jwk and AES-CTR]
expected: FAIL
[Can wrap and unwrap AES-CTR keys as non-extractable using jwk and AES-CTR]
expected: FAIL
[Can unwrap AES-CTR non-extractable keys using jwk and AES-CTR]
expected: FAIL
[Can wrap and unwrap AES-CBC keys using raw and AES-CTR]
expected: FAIL
[Can wrap and unwrap AES-CBC keys as non-extractable using raw and AES-CTR]
expected: FAIL
[Can wrap and unwrap AES-CBC keys using jwk and AES-CTR]
expected: FAIL
[Can wrap and unwrap AES-CBC keys as non-extractable using jwk and AES-CTR]
expected: FAIL
[Can unwrap AES-CBC non-extractable keys using jwk and AES-CTR]
expected: FAIL
[Can wrap and unwrap AES-CTR keys using raw and AES-CBC]
expected: FAIL
[Can wrap and unwrap AES-CTR keys as non-extractable using raw and AES-CBC]
expected: FAIL
[Can wrap and unwrap AES-CTR keys using jwk and AES-CBC]
expected: FAIL
[Can wrap and unwrap AES-CTR keys as non-extractable using jwk and AES-CBC]
expected: FAIL
[Can unwrap AES-CTR non-extractable keys using jwk and AES-CBC]
expected: FAIL
[wrapKey_unwrapKey.https.any.worker.html]
[Can wrap and unwrap AES-CBC keys using raw and AES-CBC]
expected: FAIL
[Can wrap and unwrap AES-CBC keys as non-extractable using raw and AES-CBC]
expected: FAIL
[Can wrap and unwrap AES-CBC keys using jwk and AES-CBC]
expected: FAIL
[Can wrap and unwrap AES-CBC keys as non-extractable using jwk and AES-CBC]
expected: FAIL
[Can unwrap AES-CBC non-extractable keys using jwk and AES-CBC]
expected: FAIL
[Can wrap and unwrap AES-CTR keys using raw and AES-CTR]
expected: FAIL
[Can wrap and unwrap AES-CTR keys as non-extractable using raw and AES-CTR]
expected: FAIL
[Can wrap and unwrap AES-CTR keys using jwk and AES-CTR]
expected: FAIL
[Can wrap and unwrap AES-CTR keys as non-extractable using jwk and AES-CTR]
expected: FAIL
[Can unwrap AES-CTR non-extractable keys using jwk and AES-CTR]
expected: FAIL
[Can wrap and unwrap AES-CBC keys using raw and AES-CTR]
expected: FAIL
[Can wrap and unwrap AES-CBC keys as non-extractable using raw and AES-CTR]
expected: FAIL
[Can wrap and unwrap AES-CBC keys using jwk and AES-CTR]
expected: FAIL
[Can wrap and unwrap AES-CBC keys as non-extractable using jwk and AES-CTR]
expected: FAIL
[Can unwrap AES-CBC non-extractable keys using jwk and AES-CTR]
expected: FAIL
[Can wrap and unwrap AES-CTR keys using raw and AES-CBC]
expected: FAIL
[Can wrap and unwrap AES-CTR keys as non-extractable using raw and AES-CBC]
expected: FAIL
[Can wrap and unwrap AES-CTR keys using jwk and AES-CBC]
expected: FAIL
[Can wrap and unwrap AES-CTR keys as non-extractable using jwk and AES-CBC]
expected: FAIL
[Can unwrap AES-CTR non-extractable keys using jwk and AES-CBC]
expected: FAIL