mirror of
https://github.com/servo/servo.git
synced 2025-08-06 06:00:15 +01:00
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:
parent
8c689aac67
commit
124c5bbbf3
16 changed files with 533 additions and 3881 deletions
10
Cargo.lock
generated
10
Cargo.lock
generated
|
@ -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",
|
||||||
|
|
|
@ -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"] }
|
||||||
|
|
|
@ -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 }
|
||||||
|
|
|
@ -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': {
|
||||||
|
|
|
@ -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,20 +765,22 @@ 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;
|
||||||
Ok(data) => data,
|
},
|
||||||
Err(_) => {
|
};
|
||||||
promise.reject_error(Error::Syntax);
|
|
||||||
return promise;
|
match base64::engine::general_purpose::STANDARD_NO_PAD
|
||||||
},
|
.decode(data_string.as_bytes())
|
||||||
}
|
{
|
||||||
} else {
|
Ok(data) => data,
|
||||||
promise.reject_error(Error::Syntax);
|
Err(_) => {
|
||||||
return promise;
|
promise.reject_error(Error::Syntax);
|
||||||
|
return promise;
|
||||||
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
ArrayBufferViewOrArrayBufferOrJsonWebKey::ArrayBuffer(array_buffer) => {
|
ArrayBufferViewOrArrayBufferOrJsonWebKey::ArrayBuffer(array_buffer) => {
|
||||||
|
@ -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(¶ms, &wrapping_key, &bytes, cx, array_buffer_ptr.handle_mut())
|
||||||
|
},
|
||||||
|
KeyWrapAlgorithm::AesCtr(params) => {
|
||||||
|
subtle.encrypt_decrypt_aes_ctr(
|
||||||
|
¶ms, &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(
|
||||||
|
¶ms, &unwrapping_key, &wrapped_key_bytes, cx, array_buffer_ptr.handle_mut()
|
||||||
|
)
|
||||||
|
},
|
||||||
|
KeyWrapAlgorithm::AesCtr(params) => {
|
||||||
|
subtle.encrypt_decrypt_aes_ctr(
|
||||||
|
¶ms, &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,17 +1555,56 @@ 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) ||
|
||||||
let params = value_from_js_object!(AesKeyGenParams, cx, value);
|
name.eq_ignore_ascii_case(ALG_AES_KW)
|
||||||
KeyGenerationAlgorithm::Aes(params.into())
|
{
|
||||||
} else if name.eq_ignore_ascii_case(ALG_HMAC) {
|
let params = value_from_js_object!(AesKeyGenParams, cx, value);
|
||||||
let params = value_from_js_object!(HmacKeyGenParams, cx, value);
|
KeyGenerationAlgorithm::Aes(params.into())
|
||||||
let subtle_params = SubtleHmacKeyGenParams::new(cx, params)?;
|
} else if name.eq_ignore_ascii_case(ALG_HMAC) {
|
||||||
KeyGenerationAlgorithm::Hmac(subtle_params)
|
let params = value_from_js_object!(HmacKeyGenParams, cx, value);
|
||||||
} else {
|
let subtle_params = SubtleHmacKeyGenParams::new(cx, params)?;
|
||||||
return Err(Error::NotSupported);
|
KeyGenerationAlgorithm::Hmac(subtle_params)
|
||||||
};
|
} else {
|
||||||
|
return Err(Error::NotSupported);
|
||||||
|
};
|
||||||
|
|
||||||
|
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)
|
Ok(normalized_algorithm)
|
||||||
}
|
}
|
||||||
|
@ -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),
|
||||||
};
|
};
|
||||||
|
|
||||||
if usages.iter().any(|usage| {
|
match key_gen_params.name.as_str() {
|
||||||
!matches!(
|
ALG_AES_CBC | ALG_AES_CTR => {
|
||||||
usage,
|
if usages.iter().any(|usage| {
|
||||||
KeyUsage::Encrypt | KeyUsage::Decrypt | KeyUsage::WrapKey | KeyUsage::UnwrapKey
|
!matches!(
|
||||||
)
|
usage,
|
||||||
}) || usages.is_empty()
|
KeyUsage::Encrypt |
|
||||||
{
|
KeyUsage::Decrypt |
|
||||||
return Err(Error::Syntax);
|
KeyUsage::WrapKey |
|
||||||
|
KeyUsage::UnwrapKey
|
||||||
|
)
|
||||||
|
}) || usages.is_empty()
|
||||||
|
{
|
||||||
|
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)
|
||||||
|
}
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
|
Loading…
Add table
Add a link
Reference in a new issue