Completely failed files: 54; Completely failed subtests: 5768; Failure level: 5768/10319 (55.90%)
| Test | FF64 |
|---|---|
| /WebCryptoAPI/import_export/test_ec_importKey.https.html (30/72, 41.67%, 0.29% of total) | OK |
| Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, false, [deriveBits, deriveKey]) | FAIL |
| Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, false, [deriveBits]) | FAIL |
| Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, false, [deriveKey]) | FAIL |
| Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, true, [deriveBits, deriveKey]) | FAIL |
| Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, true, [deriveBits]) | FAIL |
| Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, true, [deriveKey]) | FAIL |
| Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDSA, namedCurve: P-256}, false, [sign]) | FAIL |
| Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDSA, namedCurve: P-256}, true, [sign]) | FAIL |
| Good parameters: P-256 bits (spki, buffer(91), {name: ECDH, namedCurve: P-256}, true, []) | FAIL |
| Good parameters: P-256 bits (spki, buffer(91), {name: ECDSA, namedCurve: P-256}, true, []) | FAIL |
| Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, false, [deriveBits, deriveKey]) | FAIL |
| Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, false, [deriveBits]) | FAIL |
| Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, false, [deriveKey]) | FAIL |
| Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, true, [deriveBits, deriveKey]) | FAIL |
| Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, true, [deriveBits]) | FAIL |
| Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, true, [deriveKey]) | FAIL |
| Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDSA, namedCurve: P-384}, false, [sign]) | FAIL |
| Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDSA, namedCurve: P-384}, true, [sign]) | FAIL |
| Good parameters: P-384 bits (spki, buffer(120), {name: ECDH, namedCurve: P-384}, true, []) | FAIL |
| Good parameters: P-384 bits (spki, buffer(120), {name: ECDSA, namedCurve: P-384}, true, []) | FAIL |
| Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [deriveBits, deriveKey]) | FAIL |
| Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [deriveBits]) | FAIL |
| Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [deriveKey]) | FAIL |
| Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey]) | FAIL |
| Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveBits]) | FAIL |
| Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveKey]) | FAIL |
| Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, false, [sign]) | FAIL |
| Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, true, [sign]) | FAIL |
| Good parameters: P-521 bits (spki, buffer(158), {name: ECDH, namedCurve: P-521}, true, []) | FAIL |
| Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, true, []) | FAIL |
| /WebCryptoAPI/encrypt_decrypt/test_aes_gcm.https.html (36/330, 10.91%, 0.35% of total) | OK |
| AES-GCM 128-bit key, illegal tag length 129-bits | FAIL |
| AES-GCM 128-bit key, illegal tag length 129-bits decryption | FAIL |
| AES-GCM 128-bit key, illegal tag length 24-bits | FAIL |
| AES-GCM 128-bit key, illegal tag length 24-bits decryption | FAIL |
| AES-GCM 128-bit key, illegal tag length 256-bits | FAIL |
| AES-GCM 128-bit key, illegal tag length 256-bits decryption | FAIL |
| AES-GCM 128-bit key, illegal tag length 48-bits | FAIL |
| AES-GCM 128-bit key, illegal tag length 48-bits decryption | FAIL |
| AES-GCM 128-bit key, illegal tag length 72-bits | FAIL |
| AES-GCM 128-bit key, illegal tag length 72-bits decryption | FAIL |
| AES-GCM 128-bit key, illegal tag length 95-bits | FAIL |
| AES-GCM 128-bit key, illegal tag length 95-bits decryption | FAIL |
| AES-GCM 192-bit key, illegal tag length 129-bits | FAIL |
| AES-GCM 192-bit key, illegal tag length 129-bits decryption | FAIL |
| AES-GCM 192-bit key, illegal tag length 24-bits | FAIL |
| AES-GCM 192-bit key, illegal tag length 24-bits decryption | FAIL |
| AES-GCM 192-bit key, illegal tag length 256-bits | FAIL |
| AES-GCM 192-bit key, illegal tag length 256-bits decryption | FAIL |
| AES-GCM 192-bit key, illegal tag length 48-bits | FAIL |
| AES-GCM 192-bit key, illegal tag length 48-bits decryption | FAIL |
| AES-GCM 192-bit key, illegal tag length 72-bits | FAIL |
| AES-GCM 192-bit key, illegal tag length 72-bits decryption | FAIL |
| AES-GCM 192-bit key, illegal tag length 95-bits | FAIL |
| AES-GCM 192-bit key, illegal tag length 95-bits decryption | FAIL |
| AES-GCM 256-bit key, illegal tag length 129-bits | FAIL |
| AES-GCM 256-bit key, illegal tag length 129-bits decryption | FAIL |
| AES-GCM 256-bit key, illegal tag length 24-bits | FAIL |
| AES-GCM 256-bit key, illegal tag length 24-bits decryption | FAIL |
| AES-GCM 256-bit key, illegal tag length 256-bits | FAIL |
| AES-GCM 256-bit key, illegal tag length 256-bits decryption | FAIL |
| AES-GCM 256-bit key, illegal tag length 48-bits | FAIL |
| AES-GCM 256-bit key, illegal tag length 48-bits decryption | FAIL |
| AES-GCM 256-bit key, illegal tag length 72-bits | FAIL |
| AES-GCM 256-bit key, illegal tag length 72-bits decryption | FAIL |
| AES-GCM 256-bit key, illegal tag length 95-bits | FAIL |
| AES-GCM 256-bit key, illegal tag length 95-bits decryption | FAIL |
| /WebCryptoAPI/encrypt_decrypt/test_aes_cbc.https.html (12/42, 28.57%, 0.12% of total) | OK |
| AES-CBC 128-bit key, 192-bit IV | FAIL |
| AES-CBC 128-bit key, 192-bit IV decryption | FAIL |
| AES-CBC 128-bit key, 64-bit IV | FAIL |
| AES-CBC 128-bit key, 64-bit IV decryption | FAIL |
| AES-CBC 192-bit key, 192-bit IV | FAIL |
| AES-CBC 192-bit key, 192-bit IV decryption | FAIL |
| AES-CBC 192-bit key, 64-bit IV | FAIL |
| AES-CBC 192-bit key, 64-bit IV decryption | FAIL |
| AES-CBC 256-bit key, 192-bit IV | FAIL |
| AES-CBC 256-bit key, 192-bit IV decryption | FAIL |
| AES-CBC 256-bit key, 64-bit IV | FAIL |
| AES-CBC 256-bit key, 64-bit IV decryption | FAIL |
| /WebCryptoAPI/generateKey/failures_RSA-OAEP.https.any.html (496/496, 100.00%, 4.81% of total) | OK |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 0}}, false, []) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 0}}, false, [decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 0}}, false, [decrypt]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 0}}, false, [encrypt, decrypt, wrapKey, unwrapKey, decrypt, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 0}}, false, [unwrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 0}}, false, [unwrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 0}}, false, [unwrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 0}}, false, [unwrapKey, wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 0}}, false, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 0}}, false, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 0}}, false, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 0}}, false, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 0}}, false, [wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 0}}, false, [wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 0}}, true, []) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 0}}, true, [decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 0}}, true, [decrypt]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 0}}, true, [encrypt, decrypt, wrapKey, unwrapKey, decrypt, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 0}}, true, [unwrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 0}}, true, [unwrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 0}}, true, [unwrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 0}}, true, [unwrapKey, wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 0}}, true, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 0}}, true, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 0}}, true, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 0}}, true, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 0}}, true, [wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 0}}, true, [wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1}}, false, []) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1}}, false, [decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1}}, false, [decrypt]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1}}, false, [encrypt, decrypt, wrapKey, unwrapKey, decrypt, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1}}, false, [unwrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1}}, false, [unwrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1}}, false, [unwrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1}}, false, [unwrapKey, wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1}}, false, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1}}, false, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1}}, false, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1}}, false, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1}}, false, [wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1}}, false, [wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1}}, true, []) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1}}, true, [decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1}}, true, [decrypt]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1}}, true, [encrypt, decrypt, wrapKey, unwrapKey, decrypt, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1}}, true, [unwrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1}}, true, [unwrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1}}, true, [unwrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1}}, true, [unwrapKey, wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1}}, true, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1}}, true, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1}}, true, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1}}, true, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1}}, true, [wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-OAEP, publicExponent: {0: 1}}, true, [wrapKey, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, 7, []) | FAIL |
| Bad algorithm: generateKey(AES, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [sign]) | FAIL |
| Bad algorithm: generateKey(AES, RED, []) | FAIL |
| Bad algorithm: generateKey(AES, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [sign]) | FAIL |
| Bad algorithm: generateKey(AES, false, []) | FAIL |
| Bad algorithm: generateKey(AES, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey(AES, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, false, [sign]) | FAIL |
| Bad algorithm: generateKey(AES, true, []) | FAIL |
| Bad algorithm: generateKey(AES, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey(AES, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, true, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, []) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, []) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, []) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, []) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, []) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, []) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, []) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, []) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, []) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, []) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, []) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, []) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [sign]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt, sign]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt, verify]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [encrypt, decrypt, wrapKey, unwrapKey, decrypt, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [encrypt, decrypt, wrapKey, unwrapKey, decrypt, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [encrypt, decrypt, wrapKey, unwrapKey, decrypt, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, sign]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [encrypt, decrypt, wrapKey, unwrapKey, decrypt, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, verify]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, decrypt, sign]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, decrypt, verify]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, encrypt, sign]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, encrypt, verify]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, sign]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, verify]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, wrapKey, decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, wrapKey, decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, wrapKey, decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, wrapKey, decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, wrapKey, decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, wrapKey, decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, wrapKey, decrypt, sign]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, wrapKey, decrypt, verify]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, wrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, wrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, wrapKey, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, wrapKey, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, wrapKey, encrypt, sign]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, wrapKey, encrypt, verify]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, wrapKey, sign]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, wrapKey, verify]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [verify]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [wrapKey, decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [wrapKey, decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [wrapKey, decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [wrapKey, decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [wrapKey, decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [wrapKey, decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [wrapKey, decrypt, sign]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [wrapKey, decrypt, verify]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt, sign]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt, verify]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [encrypt, decrypt, wrapKey, unwrapKey, decrypt, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [encrypt, decrypt, wrapKey, unwrapKey, decrypt, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [encrypt, decrypt, wrapKey, unwrapKey, decrypt, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, sign]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [encrypt, decrypt, wrapKey, unwrapKey, decrypt, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, verify]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, decrypt, sign]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, decrypt, verify]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, encrypt, sign]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, encrypt, verify]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, sign]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, verify]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, wrapKey, decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, wrapKey, decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, wrapKey, decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, wrapKey, decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, wrapKey, decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, wrapKey, decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, wrapKey, decrypt, sign]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, wrapKey, decrypt, verify]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, wrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, wrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, wrapKey, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, wrapKey, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, wrapKey, encrypt, sign]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, wrapKey, encrypt, verify]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, wrapKey, sign]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey, wrapKey, verify]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [verify]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [wrapKey, decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [wrapKey, decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [wrapKey, decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [wrapKey, decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [wrapKey, decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [wrapKey, decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [wrapKey, decrypt, sign]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [wrapKey, decrypt, verify]) | FAIL |
| Empty usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, false, []) | FAIL |
| Empty usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, []) | FAIL |
| Empty usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, false, []) | FAIL |
| Empty usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-OAEP, publicExponent: {0: 1, 1: 0, 2: 1}}, true, []) | FAIL |
| /WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.https.worker.html (90/257, 35.02%, 0.87% of total) | TIMEOUT |
| Can unwrap AES-KW non-extractable keys using jwk and AES-CBC | FAIL |
| Can unwrap AES-KW non-extractable keys using jwk and AES-CTR | FAIL |
| Can unwrap AES-KW non-extractable keys using jwk and AES-GCM | FAIL |
| Can unwrap AES-KW non-extractable keys using jwk and AES-KW | FAIL |
| Can unwrap AES-KW non-extractable keys using jwk and RSA-OAEP | FAIL |
| Can unwrap ECDH private key non-extractable keys using jwk and AES-CBC | FAIL |
| Can unwrap ECDH private key non-extractable keys using jwk and AES-CTR | FAIL |
| Can unwrap ECDH private key non-extractable keys using jwk and AES-GCM | FAIL |
| Can unwrap ECDH private key non-extractable keys using jwk and AES-KW | FAIL |
| Can unwrap ECDH private key non-extractable keys using jwk and RSA-OAEP | FAIL |
| Can unwrap ECDSA private key non-extractable keys using jwk and AES-CBC | FAIL |
| Can unwrap ECDSA private key non-extractable keys using jwk and AES-CTR | FAIL |
| Can unwrap ECDSA private key non-extractable keys using jwk and AES-GCM | FAIL |
| Can unwrap ECDSA private key non-extractable keys using jwk and AES-KW | FAIL |
| Can unwrap ECDSA private key non-extractable keys using jwk and RSA-OAEP | FAIL |
| Can wrap and unwrap AES-CBC keys as non-extractable using jwk and AES-KW | FAIL |
| Can wrap and unwrap AES-CBC keys using jwk and AES-KW | FAIL |
| Can wrap and unwrap AES-CTR keys as non-extractable using jwk and AES-KW | FAIL |
| Can wrap and unwrap AES-CTR keys using jwk and AES-KW | FAIL |
| Can wrap and unwrap AES-GCM keys as non-extractable using jwk and AES-KW | FAIL |
| Can wrap and unwrap AES-GCM keys using jwk and AES-KW | FAIL |
| Can wrap and unwrap AES-KW keys as non-extractable using jwk and AES-CBC | FAIL |
| Can wrap and unwrap AES-KW keys as non-extractable using jwk and AES-CTR | FAIL |
| Can wrap and unwrap AES-KW keys as non-extractable using jwk and AES-GCM | FAIL |
| Can wrap and unwrap AES-KW keys as non-extractable using jwk and AES-KW | FAIL |
| Can wrap and unwrap AES-KW keys as non-extractable using jwk and RSA-OAEP | FAIL |
| Can wrap and unwrap AES-KW keys as non-extractable using raw and AES-CBC | FAIL |
| Can wrap and unwrap AES-KW keys as non-extractable using raw and AES-CTR | FAIL |
| Can wrap and unwrap AES-KW keys as non-extractable using raw and AES-GCM | FAIL |
| Can wrap and unwrap AES-KW keys as non-extractable using raw and AES-KW | FAIL |
| Can wrap and unwrap AES-KW keys as non-extractable using raw and RSA-OAEP | FAIL |
| Can wrap and unwrap AES-KW keys using jwk and AES-CBC | FAIL |
| Can wrap and unwrap AES-KW keys using jwk and AES-CTR | FAIL |
| Can wrap and unwrap AES-KW keys using jwk and AES-GCM | FAIL |
| Can wrap and unwrap AES-KW keys using jwk and AES-KW | FAIL |
| Can wrap and unwrap AES-KW keys using jwk and RSA-OAEP | FAIL |
| Can wrap and unwrap AES-KW keys using raw and AES-CBC | FAIL |
| Can wrap and unwrap AES-KW keys using raw and AES-CTR | FAIL |
| Can wrap and unwrap AES-KW keys using raw and AES-GCM | FAIL |
| Can wrap and unwrap AES-KW keys using raw and AES-KW | FAIL |
| Can wrap and unwrap AES-KW keys using raw and RSA-OAEP | FAIL |
| Can wrap and unwrap ECDH private key keys as non-extractable using jwk and AES-CBC | FAIL |
| Can wrap and unwrap ECDH private key keys as non-extractable using jwk and AES-CTR | FAIL |
| Can wrap and unwrap ECDH private key keys as non-extractable using jwk and AES-GCM | FAIL |
| Can wrap and unwrap ECDH private key keys as non-extractable using jwk and AES-KW | FAIL |
| Can wrap and unwrap ECDH private key keys as non-extractable using jwk and RSA-OAEP | FAIL |
| Can wrap and unwrap ECDH private key keys using jwk and AES-CBC | FAIL |
| Can wrap and unwrap ECDH private key keys using jwk and AES-CTR | FAIL |
| Can wrap and unwrap ECDH private key keys using jwk and AES-GCM | FAIL |
| Can wrap and unwrap ECDH private key keys using jwk and AES-KW | FAIL |
| Can wrap and unwrap ECDH private key keys using jwk and RSA-OAEP | FAIL |
| Can wrap and unwrap ECDH public key keys using jwk and AES-CBC | FAIL |
| Can wrap and unwrap ECDH public key keys using jwk and AES-CTR | FAIL |
| Can wrap and unwrap ECDH public key keys using jwk and AES-GCM | FAIL |
| Can wrap and unwrap ECDH public key keys using jwk and AES-KW | FAIL |
| Can wrap and unwrap ECDH public key keys using jwk and RSA-OAEP | FAIL |
| Can wrap and unwrap ECDH public key keys using spki and AES-CBC | FAIL |
| Can wrap and unwrap ECDH public key keys using spki and AES-CTR | FAIL |
| Can wrap and unwrap ECDH public key keys using spki and AES-GCM | FAIL |
| Can wrap and unwrap ECDH public key keys using spki and AES-KW | FAIL |
| Can wrap and unwrap ECDH public key keys using spki and RSA-OAEP | FAIL |
| Can wrap and unwrap ECDSA private key keys as non-extractable using jwk and AES-CBC | FAIL |
| Can wrap and unwrap ECDSA private key keys as non-extractable using jwk and AES-CTR | FAIL |
| Can wrap and unwrap ECDSA private key keys as non-extractable using jwk and AES-GCM | FAIL |
| Can wrap and unwrap ECDSA private key keys as non-extractable using jwk and AES-KW | FAIL |
| Can wrap and unwrap ECDSA private key keys as non-extractable using jwk and RSA-OAEP | FAIL |
| Can wrap and unwrap ECDSA private key keys using jwk and AES-CBC | FAIL |
| Can wrap and unwrap ECDSA private key keys using jwk and AES-CTR | FAIL |
| Can wrap and unwrap ECDSA private key keys using jwk and AES-GCM | FAIL |
| Can wrap and unwrap ECDSA private key keys using jwk and AES-KW | FAIL |
| Can wrap and unwrap ECDSA private key keys using jwk and RSA-OAEP | FAIL |
| Can wrap and unwrap ECDSA public key keys using jwk and AES-CBC | FAIL |
| Can wrap and unwrap ECDSA public key keys using jwk and AES-CTR | FAIL |
| Can wrap and unwrap ECDSA public key keys using jwk and AES-GCM | FAIL |
| Can wrap and unwrap ECDSA public key keys using jwk and AES-KW | FAIL |
| Can wrap and unwrap ECDSA public key keys using jwk and RSA-OAEP | FAIL |
| Can wrap and unwrap ECDSA public key keys using spki and AES-CBC | FAIL |
| Can wrap and unwrap ECDSA public key keys using spki and AES-CTR | FAIL |
| Can wrap and unwrap ECDSA public key keys using spki and AES-GCM | FAIL |
| Can wrap and unwrap ECDSA public key keys using spki and AES-KW | FAIL |
| Can wrap and unwrap ECDSA public key keys using spki and RSA-OAEP | FAIL |
| Can wrap and unwrap HMAC keys as non-extractable using jwk and AES-KW | FAIL |
| Can wrap and unwrap HMAC keys using jwk and AES-KW | FAIL |
| Can wrap and unwrap RSA-OAEP private key keys as non-extractable using jwk and AES-KW | FAIL |
| Can wrap and unwrap RSA-OAEP private key keys using jwk and AES-KW | FAIL |
| Can wrap and unwrap RSA-PSS private key keys as non-extractable using jwk and AES-KW | FAIL |
| Can wrap and unwrap RSA-PSS private key keys using jwk and AES-KW | FAIL |
| Can wrap and unwrap RSASSA-PKCS1-v1_5 private key keys as non-extractable using jwk and AES-KW | FAIL |
| Can wrap and unwrap RSASSA-PKCS1-v1_5 private key keys using jwk and AES-KW | FAIL |
| Could not run all tests | FAIL |
| /WebCryptoAPI/generateKey/failures_AES-KW.https.any.html (480/480, 100.00%, 4.65% of total) | OK |
| Bad algorithm property: generateKey({length: 127, name: AES-KW}, false, []) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-KW}, false, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-KW}, false, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-KW}, false, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-KW}, true, []) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-KW}, true, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-KW}, true, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-KW}, true, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-KW}, false, []) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-KW}, false, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-KW}, false, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-KW}, false, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-KW}, true, []) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-KW}, true, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-KW}, true, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-KW}, true, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-KW}, false, []) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-KW}, false, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-KW}, false, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-KW}, false, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-KW}, true, []) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-KW}, true, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-KW}, true, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-KW}, true, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-KW}, false, []) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-KW}, false, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-KW}, false, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-KW}, false, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-KW}, true, []) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-KW}, true, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-KW}, true, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-KW}, true, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-KW}, false, []) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-KW}, false, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-KW}, false, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-KW}, false, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-KW}, true, []) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-KW}, true, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-KW}, true, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-KW}, true, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-KW}, false, []) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-KW}, false, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-KW}, false, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-KW}, false, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-KW}, true, []) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-KW}, true, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-KW}, true, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-KW}, true, [wrapKey]) | FAIL |
| Bad algorithm: generateKey(AES, 7, []) | FAIL |
| Bad algorithm: generateKey(AES, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [sign]) | FAIL |
| Bad algorithm: generateKey(AES, RED, []) | FAIL |
| Bad algorithm: generateKey(AES, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [sign]) | FAIL |
| Bad algorithm: generateKey(AES, false, []) | FAIL |
| Bad algorithm: generateKey(AES, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey(AES, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, false, [sign]) | FAIL |
| Bad algorithm: generateKey(AES, true, []) | FAIL |
| Bad algorithm: generateKey(AES, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey(AES, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, true, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, []) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, []) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, []) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, []) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, []) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, []) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, []) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, []) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, []) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, []) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, []) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, []) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-KW}, true, [decrypt]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-KW}, true, [deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-KW}, true, [deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-KW}, true, [encrypt]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-KW}, true, [sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, decrypt]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, encrypt]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-KW}, true, [verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, decrypt]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, encrypt]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, decrypt]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, encrypt]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-KW}, true, [decrypt]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-KW}, true, [deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-KW}, true, [deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-KW}, true, [encrypt]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-KW}, true, [sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, decrypt]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, encrypt]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-KW}, true, [verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, decrypt]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, encrypt]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, decrypt]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, encrypt]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-KW}, true, [decrypt]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-KW}, true, [deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-KW}, true, [deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-KW}, true, [encrypt]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-KW}, true, [sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, decrypt]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, encrypt]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-KW}, true, [verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, decrypt]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, encrypt]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, decrypt]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, encrypt]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, verify]) | FAIL |
| Empty usages: generateKey({length: 128, name: AES-KW}, false, []) | FAIL |
| Empty usages: generateKey({length: 128, name: AES-KW}, true, []) | FAIL |
| Empty usages: generateKey({length: 192, name: AES-KW}, false, []) | FAIL |
| Empty usages: generateKey({length: 192, name: AES-KW}, true, []) | FAIL |
| Empty usages: generateKey({length: 256, name: AES-KW}, false, []) | FAIL |
| Empty usages: generateKey({length: 256, name: AES-KW}, true, []) | FAIL |
| /WebCryptoAPI/wrapKey_unwrapKey/test_wrapKey_unwrapKey.https.html (90/257, 35.02%, 0.87% of total) | OK |
| Can unwrap AES-KW non-extractable keys using jwk and AES-CBC | FAIL |
| Can unwrap AES-KW non-extractable keys using jwk and AES-CTR | FAIL |
| Can unwrap AES-KW non-extractable keys using jwk and AES-GCM | FAIL |
| Can unwrap AES-KW non-extractable keys using jwk and AES-KW | FAIL |
| Can unwrap AES-KW non-extractable keys using jwk and RSA-OAEP | FAIL |
| Can unwrap ECDH private key non-extractable keys using jwk and AES-CBC | FAIL |
| Can unwrap ECDH private key non-extractable keys using jwk and AES-CTR | FAIL |
| Can unwrap ECDH private key non-extractable keys using jwk and AES-GCM | FAIL |
| Can unwrap ECDH private key non-extractable keys using jwk and AES-KW | FAIL |
| Can unwrap ECDH private key non-extractable keys using jwk and RSA-OAEP | FAIL |
| Can unwrap ECDSA private key non-extractable keys using jwk and AES-CBC | FAIL |
| Can unwrap ECDSA private key non-extractable keys using jwk and AES-CTR | FAIL |
| Can unwrap ECDSA private key non-extractable keys using jwk and AES-GCM | FAIL |
| Can unwrap ECDSA private key non-extractable keys using jwk and AES-KW | FAIL |
| Can unwrap ECDSA private key non-extractable keys using jwk and RSA-OAEP | FAIL |
| Can wrap and unwrap AES-CBC keys as non-extractable using jwk and AES-KW | FAIL |
| Can wrap and unwrap AES-CBC keys using jwk and AES-KW | FAIL |
| Can wrap and unwrap AES-CTR keys as non-extractable using jwk and AES-KW | FAIL |
| Can wrap and unwrap AES-CTR keys using jwk and AES-KW | FAIL |
| Can wrap and unwrap AES-GCM keys as non-extractable using jwk and AES-KW | FAIL |
| Can wrap and unwrap AES-GCM keys using jwk and AES-KW | FAIL |
| Can wrap and unwrap AES-KW keys as non-extractable using jwk and AES-CBC | FAIL |
| Can wrap and unwrap AES-KW keys as non-extractable using jwk and AES-CTR | FAIL |
| Can wrap and unwrap AES-KW keys as non-extractable using jwk and AES-GCM | FAIL |
| Can wrap and unwrap AES-KW keys as non-extractable using jwk and AES-KW | FAIL |
| Can wrap and unwrap AES-KW keys as non-extractable using jwk and RSA-OAEP | FAIL |
| Can wrap and unwrap AES-KW keys as non-extractable using raw and AES-CBC | FAIL |
| Can wrap and unwrap AES-KW keys as non-extractable using raw and AES-CTR | FAIL |
| Can wrap and unwrap AES-KW keys as non-extractable using raw and AES-GCM | FAIL |
| Can wrap and unwrap AES-KW keys as non-extractable using raw and AES-KW | FAIL |
| Can wrap and unwrap AES-KW keys as non-extractable using raw and RSA-OAEP | FAIL |
| Can wrap and unwrap AES-KW keys using jwk and AES-CBC | FAIL |
| Can wrap and unwrap AES-KW keys using jwk and AES-CTR | FAIL |
| Can wrap and unwrap AES-KW keys using jwk and AES-GCM | FAIL |
| Can wrap and unwrap AES-KW keys using jwk and AES-KW | FAIL |
| Can wrap and unwrap AES-KW keys using jwk and RSA-OAEP | FAIL |
| Can wrap and unwrap AES-KW keys using raw and AES-CBC | FAIL |
| Can wrap and unwrap AES-KW keys using raw and AES-CTR | FAIL |
| Can wrap and unwrap AES-KW keys using raw and AES-GCM | FAIL |
| Can wrap and unwrap AES-KW keys using raw and AES-KW | FAIL |
| Can wrap and unwrap AES-KW keys using raw and RSA-OAEP | FAIL |
| Can wrap and unwrap ECDH private key keys as non-extractable using jwk and AES-CBC | FAIL |
| Can wrap and unwrap ECDH private key keys as non-extractable using jwk and AES-CTR | FAIL |
| Can wrap and unwrap ECDH private key keys as non-extractable using jwk and AES-GCM | FAIL |
| Can wrap and unwrap ECDH private key keys as non-extractable using jwk and AES-KW | FAIL |
| Can wrap and unwrap ECDH private key keys as non-extractable using jwk and RSA-OAEP | FAIL |
| Can wrap and unwrap ECDH private key keys using jwk and AES-CBC | FAIL |
| Can wrap and unwrap ECDH private key keys using jwk and AES-CTR | FAIL |
| Can wrap and unwrap ECDH private key keys using jwk and AES-GCM | FAIL |
| Can wrap and unwrap ECDH private key keys using jwk and AES-KW | FAIL |
| Can wrap and unwrap ECDH private key keys using jwk and RSA-OAEP | FAIL |
| Can wrap and unwrap ECDH public key keys using jwk and AES-CBC | FAIL |
| Can wrap and unwrap ECDH public key keys using jwk and AES-CTR | FAIL |
| Can wrap and unwrap ECDH public key keys using jwk and AES-GCM | FAIL |
| Can wrap and unwrap ECDH public key keys using jwk and AES-KW | FAIL |
| Can wrap and unwrap ECDH public key keys using jwk and RSA-OAEP | FAIL |
| Can wrap and unwrap ECDH public key keys using spki and AES-CBC | FAIL |
| Can wrap and unwrap ECDH public key keys using spki and AES-CTR | FAIL |
| Can wrap and unwrap ECDH public key keys using spki and AES-GCM | FAIL |
| Can wrap and unwrap ECDH public key keys using spki and AES-KW | FAIL |
| Can wrap and unwrap ECDH public key keys using spki and RSA-OAEP | FAIL |
| Can wrap and unwrap ECDSA private key keys as non-extractable using jwk and AES-CBC | FAIL |
| Can wrap and unwrap ECDSA private key keys as non-extractable using jwk and AES-CTR | FAIL |
| Can wrap and unwrap ECDSA private key keys as non-extractable using jwk and AES-GCM | FAIL |
| Can wrap and unwrap ECDSA private key keys as non-extractable using jwk and AES-KW | FAIL |
| Can wrap and unwrap ECDSA private key keys as non-extractable using jwk and RSA-OAEP | FAIL |
| Can wrap and unwrap ECDSA private key keys using jwk and AES-CBC | FAIL |
| Can wrap and unwrap ECDSA private key keys using jwk and AES-CTR | FAIL |
| Can wrap and unwrap ECDSA private key keys using jwk and AES-GCM | FAIL |
| Can wrap and unwrap ECDSA private key keys using jwk and AES-KW | FAIL |
| Can wrap and unwrap ECDSA private key keys using jwk and RSA-OAEP | FAIL |
| Can wrap and unwrap ECDSA public key keys using jwk and AES-CBC | FAIL |
| Can wrap and unwrap ECDSA public key keys using jwk and AES-CTR | FAIL |
| Can wrap and unwrap ECDSA public key keys using jwk and AES-GCM | FAIL |
| Can wrap and unwrap ECDSA public key keys using jwk and AES-KW | FAIL |
| Can wrap and unwrap ECDSA public key keys using jwk and RSA-OAEP | FAIL |
| Can wrap and unwrap ECDSA public key keys using spki and AES-CBC | FAIL |
| Can wrap and unwrap ECDSA public key keys using spki and AES-CTR | FAIL |
| Can wrap and unwrap ECDSA public key keys using spki and AES-GCM | FAIL |
| Can wrap and unwrap ECDSA public key keys using spki and AES-KW | FAIL |
| Can wrap and unwrap ECDSA public key keys using spki and RSA-OAEP | FAIL |
| Can wrap and unwrap HMAC keys as non-extractable using jwk and AES-KW | FAIL |
| Can wrap and unwrap HMAC keys using jwk and AES-KW | FAIL |
| Can wrap and unwrap RSA-OAEP private key keys as non-extractable using jwk and AES-KW | FAIL |
| Can wrap and unwrap RSA-OAEP private key keys using jwk and AES-KW | FAIL |
| Can wrap and unwrap RSA-PSS private key keys as non-extractable using jwk and AES-KW | FAIL |
| Can wrap and unwrap RSA-PSS private key keys using jwk and AES-KW | FAIL |
| Can wrap and unwrap RSASSA-PKCS1-v1_5 private key keys as non-extractable using jwk and AES-KW | FAIL |
| Can wrap and unwrap RSASSA-PKCS1-v1_5 private key keys using jwk and AES-KW | FAIL |
| Could not run all tests | FAIL |
| /WebCryptoAPI/generateKey/failures_ECDSA.https.any.html (402/418, 96.17%, 3.90% of total) | OK |
| Bad algorithm: generateKey(AES, 7, []) | FAIL |
| Bad algorithm: generateKey(AES, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [sign]) | FAIL |
| Bad algorithm: generateKey(AES, RED, []) | FAIL |
| Bad algorithm: generateKey(AES, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [sign]) | FAIL |
| Bad algorithm: generateKey(AES, false, []) | FAIL |
| Bad algorithm: generateKey(AES, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey(AES, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, false, [sign]) | FAIL |
| Bad algorithm: generateKey(AES, true, []) | FAIL |
| Bad algorithm: generateKey(AES, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey(AES, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, true, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, []) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, []) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, []) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, []) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, []) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, []) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, []) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, []) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, []) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, []) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, []) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, []) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [sign]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [decrypt]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [deriveBits]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [deriveKey]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [encrypt]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, decrypt]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, deriveBits]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, deriveKey]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, encrypt]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, unwrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, decrypt]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, deriveBits]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, deriveKey]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, encrypt]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, unwrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, wrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, wrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [unwrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, decrypt]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, deriveBits]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, deriveKey]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, encrypt]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, unwrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, wrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [wrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [decrypt]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [deriveBits]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [deriveKey]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [encrypt]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, decrypt]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, deriveBits]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, deriveKey]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, encrypt]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, unwrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, decrypt]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, deriveBits]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, deriveKey]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, encrypt]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, unwrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, wrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, wrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [unwrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, decrypt]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, deriveBits]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, deriveKey]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, encrypt]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, unwrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, wrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [wrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [decrypt]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [deriveBits]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [deriveKey]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [encrypt]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, decrypt]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, deriveBits]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, deriveKey]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, encrypt]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, unwrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, decrypt]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, deriveBits]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, deriveKey]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, encrypt]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, unwrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, wrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, wrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [unwrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, decrypt]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, deriveBits]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, deriveKey]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, encrypt]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, unwrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, wrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [wrapKey]) | FAIL |
| Empty usages: generateKey({name: ECDSA, namedCurve: P-256}, false, []) | FAIL |
| Empty usages: generateKey({name: ECDSA, namedCurve: P-256}, true, []) | FAIL |
| Empty usages: generateKey({name: ECDSA, namedCurve: P-384}, false, []) | FAIL |
| Empty usages: generateKey({name: ECDSA, namedCurve: P-384}, true, []) | FAIL |
| Empty usages: generateKey({name: ECDSA, namedCurve: P-521}, false, []) | FAIL |
| Empty usages: generateKey({name: ECDSA, namedCurve: P-521}, true, []) | FAIL |
| /WebCryptoAPI/generateKey/failures_ECDH.https.any.html (420/440, 95.45%, 4.07% of total) | OK |
| Bad algorithm: generateKey(AES, 7, []) | FAIL |
| Bad algorithm: generateKey(AES, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [sign]) | FAIL |
| Bad algorithm: generateKey(AES, RED, []) | FAIL |
| Bad algorithm: generateKey(AES, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [sign]) | FAIL |
| Bad algorithm: generateKey(AES, false, []) | FAIL |
| Bad algorithm: generateKey(AES, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey(AES, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, false, [sign]) | FAIL |
| Bad algorithm: generateKey(AES, true, []) | FAIL |
| Bad algorithm: generateKey(AES, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey(AES, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, true, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, []) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, []) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, []) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, []) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, []) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, []) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, []) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, []) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, []) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, []) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, []) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, []) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [sign]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [decrypt]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveBits, decrypt]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveBits, deriveKey, decrypt]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveBits, deriveKey, encrypt]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveBits, deriveKey, sign]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveBits, deriveKey, unwrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveBits, deriveKey, verify]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveBits, deriveKey, wrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveBits, encrypt]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveBits, sign]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveBits, unwrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveBits, verify]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveBits, wrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveKey, decrypt]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, decrypt]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, encrypt]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, sign]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, unwrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, verify]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, wrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveKey, encrypt]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveKey, sign]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveKey, unwrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveKey, verify]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveKey, wrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [encrypt]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [sign]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [unwrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [verify]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [wrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [decrypt]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveBits, decrypt]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveBits, deriveKey, decrypt]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveBits, deriveKey, encrypt]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveBits, deriveKey, sign]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveBits, deriveKey, unwrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveBits, deriveKey, verify]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveBits, deriveKey, wrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveBits, encrypt]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveBits, sign]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveBits, unwrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveBits, verify]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveBits, wrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveKey, decrypt]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, decrypt]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, encrypt]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, sign]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, unwrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, verify]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, wrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveKey, encrypt]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveKey, sign]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveKey, unwrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveKey, verify]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveKey, wrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [encrypt]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [sign]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [unwrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [verify]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [wrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [decrypt]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveBits, decrypt]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey, decrypt]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey, encrypt]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey, sign]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey, unwrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey, verify]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey, wrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveBits, encrypt]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveBits, sign]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveBits, unwrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveBits, verify]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveBits, wrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveKey, decrypt]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, decrypt]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, encrypt]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, sign]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, unwrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, verify]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, wrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveKey, encrypt]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveKey, sign]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveKey, unwrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveKey, verify]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveKey, wrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [encrypt]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [sign]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [unwrapKey]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [verify]) | FAIL |
| Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [wrapKey]) | FAIL |
| Empty usages: generateKey({name: ECDH, namedCurve: P-256}, false, []) | FAIL |
| Empty usages: generateKey({name: ECDH, namedCurve: P-256}, true, []) | FAIL |
| Empty usages: generateKey({name: ECDH, namedCurve: P-384}, false, []) | FAIL |
| Empty usages: generateKey({name: ECDH, namedCurve: P-384}, true, []) | FAIL |
| Empty usages: generateKey({name: ECDH, namedCurve: P-521}, false, []) | FAIL |
| Empty usages: generateKey({name: ECDH, namedCurve: P-521}, true, []) | FAIL |
| /WebCryptoAPI/generateKey/failures_HMAC.https.any.html (452/452, 100.00%, 4.38% of total) | OK |
| Bad algorithm: generateKey(AES, 7, []) | FAIL |
| Bad algorithm: generateKey(AES, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [sign]) | FAIL |
| Bad algorithm: generateKey(AES, RED, []) | FAIL |
| Bad algorithm: generateKey(AES, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [sign]) | FAIL |
| Bad algorithm: generateKey(AES, false, []) | FAIL |
| Bad algorithm: generateKey(AES, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey(AES, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, false, [sign]) | FAIL |
| Bad algorithm: generateKey(AES, true, []) | FAIL |
| Bad algorithm: generateKey(AES, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey(AES, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, true, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, []) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, []) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, []) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, []) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, []) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, []) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, []) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, []) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, []) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, []) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, []) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, []) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [sign]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [decrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [encrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, decrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, encrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, unwrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, verify, sign, verify, decrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, verify, sign, verify, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, verify, sign, verify, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, verify, sign, verify, encrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, verify, sign, verify, unwrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, verify, sign, verify, wrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, wrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [unwrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, decrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, encrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, sign, decrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, sign, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, sign, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, sign, encrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, sign, unwrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, sign, wrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, unwrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, wrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [wrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [decrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [encrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, decrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, encrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, unwrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, verify, sign, verify, decrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, verify, sign, verify, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, verify, sign, verify, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, verify, sign, verify, encrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, verify, sign, verify, unwrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, verify, sign, verify, wrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, wrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [unwrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, decrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, encrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, sign, decrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, sign, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, sign, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, sign, encrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, sign, unwrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, sign, wrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, unwrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, wrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [wrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [decrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [encrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, decrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, encrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, unwrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, verify, sign, verify, decrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, verify, sign, verify, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, verify, sign, verify, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, verify, sign, verify, encrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, verify, sign, verify, unwrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, verify, sign, verify, wrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, wrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [unwrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, decrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, encrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, sign, decrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, sign, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, sign, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, sign, encrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, sign, unwrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, sign, wrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, unwrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, wrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [wrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [decrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [encrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, decrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, encrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, unwrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, verify, sign, verify, decrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, verify, sign, verify, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, verify, sign, verify, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, verify, sign, verify, encrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, verify, sign, verify, unwrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, verify, sign, verify, wrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, wrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [unwrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, decrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, encrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, sign, decrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, sign, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, sign, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, sign, encrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, sign, unwrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, sign, wrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, unwrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, wrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [wrapKey]) | FAIL |
| Empty usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, false, []) | FAIL |
| Empty usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, []) | FAIL |
| Empty usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, false, []) | FAIL |
| Empty usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, []) | FAIL |
| Empty usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, false, []) | FAIL |
| Empty usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, []) | FAIL |
| Empty usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, false, []) | FAIL |
| Empty usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, []) | FAIL |
| /WebCryptoAPI/encrypt_decrypt/aes_gcm.https.worker.html (36/330, 10.91%, 0.35% of total) | OK |
| AES-GCM 128-bit key, illegal tag length 129-bits | FAIL |
| AES-GCM 128-bit key, illegal tag length 129-bits decryption | FAIL |
| AES-GCM 128-bit key, illegal tag length 24-bits | FAIL |
| AES-GCM 128-bit key, illegal tag length 24-bits decryption | FAIL |
| AES-GCM 128-bit key, illegal tag length 256-bits | FAIL |
| AES-GCM 128-bit key, illegal tag length 256-bits decryption | FAIL |
| AES-GCM 128-bit key, illegal tag length 48-bits | FAIL |
| AES-GCM 128-bit key, illegal tag length 48-bits decryption | FAIL |
| AES-GCM 128-bit key, illegal tag length 72-bits | FAIL |
| AES-GCM 128-bit key, illegal tag length 72-bits decryption | FAIL |
| AES-GCM 128-bit key, illegal tag length 95-bits | FAIL |
| AES-GCM 128-bit key, illegal tag length 95-bits decryption | FAIL |
| AES-GCM 192-bit key, illegal tag length 129-bits | FAIL |
| AES-GCM 192-bit key, illegal tag length 129-bits decryption | FAIL |
| AES-GCM 192-bit key, illegal tag length 24-bits | FAIL |
| AES-GCM 192-bit key, illegal tag length 24-bits decryption | FAIL |
| AES-GCM 192-bit key, illegal tag length 256-bits | FAIL |
| AES-GCM 192-bit key, illegal tag length 256-bits decryption | FAIL |
| AES-GCM 192-bit key, illegal tag length 48-bits | FAIL |
| AES-GCM 192-bit key, illegal tag length 48-bits decryption | FAIL |
| AES-GCM 192-bit key, illegal tag length 72-bits | FAIL |
| AES-GCM 192-bit key, illegal tag length 72-bits decryption | FAIL |
| AES-GCM 192-bit key, illegal tag length 95-bits | FAIL |
| AES-GCM 192-bit key, illegal tag length 95-bits decryption | FAIL |
| AES-GCM 256-bit key, illegal tag length 129-bits | FAIL |
| AES-GCM 256-bit key, illegal tag length 129-bits decryption | FAIL |
| AES-GCM 256-bit key, illegal tag length 24-bits | FAIL |
| AES-GCM 256-bit key, illegal tag length 24-bits decryption | FAIL |
| AES-GCM 256-bit key, illegal tag length 256-bits | FAIL |
| AES-GCM 256-bit key, illegal tag length 256-bits decryption | FAIL |
| AES-GCM 256-bit key, illegal tag length 48-bits | FAIL |
| AES-GCM 256-bit key, illegal tag length 48-bits decryption | FAIL |
| AES-GCM 256-bit key, illegal tag length 72-bits | FAIL |
| AES-GCM 256-bit key, illegal tag length 72-bits decryption | FAIL |
| AES-GCM 256-bit key, illegal tag length 95-bits | FAIL |
| AES-GCM 256-bit key, illegal tag length 95-bits decryption | FAIL |
| /WebCryptoAPI/encrypt_decrypt/aes_cbc.https.worker.html (12/42, 28.57%, 0.12% of total) | OK |
| AES-CBC 128-bit key, 192-bit IV | FAIL |
| AES-CBC 128-bit key, 192-bit IV decryption | FAIL |
| AES-CBC 128-bit key, 64-bit IV | FAIL |
| AES-CBC 128-bit key, 64-bit IV decryption | FAIL |
| AES-CBC 192-bit key, 192-bit IV | FAIL |
| AES-CBC 192-bit key, 192-bit IV decryption | FAIL |
| AES-CBC 192-bit key, 64-bit IV | FAIL |
| AES-CBC 192-bit key, 64-bit IV decryption | FAIL |
| AES-CBC 256-bit key, 192-bit IV | FAIL |
| AES-CBC 256-bit key, 192-bit IV decryption | FAIL |
| AES-CBC 256-bit key, 64-bit IV | FAIL |
| AES-CBC 256-bit key, 64-bit IV decryption | FAIL |
| /WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.https.any.html?1-10 (1/1, 100.00%, 0.01% of total) | TIMEOUT |
| undefined | TIMEOUT |
| /WebCryptoAPI/generateKey/failures_AES-GCM.https.any.html (738/738, 100.00%, 7.15% of total) | OK |
| Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, []) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [unwrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [unwrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [unwrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-GCM}, false, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, []) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [unwrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [unwrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-GCM}, true, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, []) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [unwrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [unwrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [unwrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-GCM}, false, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, []) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [unwrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [unwrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-GCM}, true, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, []) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [unwrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [unwrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [unwrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-GCM}, false, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, []) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [unwrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [unwrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-GCM}, true, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, []) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [unwrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [unwrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [unwrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-GCM}, false, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, []) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [unwrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [unwrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-GCM}, true, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, []) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [unwrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [unwrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [unwrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-GCM}, false, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, []) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [unwrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [unwrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-GCM}, true, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, []) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [unwrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [unwrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [unwrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-GCM}, false, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, []) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [unwrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [unwrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-GCM}, true, [wrapKey]) | FAIL |
| Bad algorithm: generateKey(AES, 7, []) | FAIL |
| Bad algorithm: generateKey(AES, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [sign]) | FAIL |
| Bad algorithm: generateKey(AES, RED, []) | FAIL |
| Bad algorithm: generateKey(AES, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [sign]) | FAIL |
| Bad algorithm: generateKey(AES, false, []) | FAIL |
| Bad algorithm: generateKey(AES, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey(AES, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, false, [sign]) | FAIL |
| Bad algorithm: generateKey(AES, true, []) | FAIL |
| Bad algorithm: generateKey(AES, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey(AES, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, true, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, []) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, []) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, []) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, []) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, []) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, []) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, []) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, []) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, []) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, []) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, []) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, []) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [decrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [decrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, decrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, decrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [unwrapKey, wrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, decrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, decrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-GCM}, true, [wrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [decrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [decrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, decrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, decrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [unwrapKey, wrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, decrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, decrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-GCM}, true, [wrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [decrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [decrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, decrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, decrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, decrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [unwrapKey, wrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, decrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, decrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-GCM}, true, [wrapKey, verify]) | FAIL |
| Empty usages: generateKey({length: 128, name: AES-GCM}, false, []) | FAIL |
| Empty usages: generateKey({length: 128, name: AES-GCM}, true, []) | FAIL |
| Empty usages: generateKey({length: 192, name: AES-GCM}, false, []) | FAIL |
| Empty usages: generateKey({length: 192, name: AES-GCM}, true, []) | FAIL |
| Empty usages: generateKey({length: 256, name: AES-GCM}, false, []) | FAIL |
| Empty usages: generateKey({length: 256, name: AES-GCM}, true, []) | FAIL |
| /WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.https.any.html (392/392, 100.00%, 3.80% of total) | OK |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 0}}, false, []) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 0}}, false, [sign, verify, sign, sign, verify]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 0}}, false, [sign]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 0}}, false, [verify, sign]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 0}}, true, []) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 0}}, true, [sign, verify, sign, sign, verify]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 0}}, true, [sign]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 0}}, true, [verify, sign]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1}}, false, []) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1}}, false, [sign, verify, sign, sign, verify]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1}}, false, [sign]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1}}, false, [verify, sign]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1}}, true, []) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1}}, true, [sign, verify, sign, sign, verify]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1}}, true, [sign]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1}}, true, [verify, sign]) | FAIL |
| Bad algorithm: generateKey(AES, 7, []) | FAIL |
| Bad algorithm: generateKey(AES, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [sign]) | FAIL |
| Bad algorithm: generateKey(AES, RED, []) | FAIL |
| Bad algorithm: generateKey(AES, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [sign]) | FAIL |
| Bad algorithm: generateKey(AES, false, []) | FAIL |
| Bad algorithm: generateKey(AES, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey(AES, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, false, [sign]) | FAIL |
| Bad algorithm: generateKey(AES, true, []) | FAIL |
| Bad algorithm: generateKey(AES, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey(AES, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, true, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, []) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, []) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, []) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, []) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, []) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, []) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, []) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, []) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, []) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, []) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, []) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, []) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [sign]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [encrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, decrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, encrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, unwrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, verify, sign, sign, verify, decrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, verify, sign, sign, verify, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, verify, sign, sign, verify, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, verify, sign, sign, verify, encrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, verify, sign, sign, verify, unwrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, verify, sign, sign, verify, wrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, wrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [verify, sign, decrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [verify, sign, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [verify, sign, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [verify, sign, encrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [verify, sign, unwrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [verify, sign, wrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [wrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [encrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, decrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, encrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, unwrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, verify, sign, sign, verify, decrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, verify, sign, sign, verify, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, verify, sign, sign, verify, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, verify, sign, sign, verify, encrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, verify, sign, sign, verify, unwrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, verify, sign, sign, verify, wrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, wrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [verify, sign, decrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [verify, sign, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [verify, sign, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [verify, sign, encrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [verify, sign, unwrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [verify, sign, wrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [wrapKey]) | FAIL |
| Empty usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, false, []) | FAIL |
| Empty usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, []) | FAIL |
| Empty usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, false, []) | FAIL |
| Empty usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSASSA-PKCS1-v1_5, publicExponent: {0: 1, 1: 0, 2: 1}}, true, []) | FAIL |
| /WebCryptoAPI/generateKey/failures_RSA-PSS.https.any.html (392/392, 100.00%, 3.80% of total) | OK |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 0}}, false, []) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 0}}, false, [sign, verify, sign, sign, verify]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 0}}, false, [sign]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 0}}, false, [verify, sign]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 0}}, true, []) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 0}}, true, [sign, verify, sign, sign, verify]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 0}}, true, [sign]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 0}}, true, [verify, sign]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-PSS, publicExponent: {0: 1}}, false, []) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-PSS, publicExponent: {0: 1}}, false, [sign, verify, sign, sign, verify]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-PSS, publicExponent: {0: 1}}, false, [sign]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-PSS, publicExponent: {0: 1}}, false, [verify, sign]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-PSS, publicExponent: {0: 1}}, true, []) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-PSS, publicExponent: {0: 1}}, true, [sign, verify, sign, sign, verify]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-PSS, publicExponent: {0: 1}}, true, [sign]) | FAIL |
| Bad algorithm property: generateKey({hash: SHA-256, modulusLength: 1024, name: RSA-PSS, publicExponent: {0: 1}}, true, [verify, sign]) | FAIL |
| Bad algorithm: generateKey(AES, 7, []) | FAIL |
| Bad algorithm: generateKey(AES, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [sign]) | FAIL |
| Bad algorithm: generateKey(AES, RED, []) | FAIL |
| Bad algorithm: generateKey(AES, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [sign]) | FAIL |
| Bad algorithm: generateKey(AES, false, []) | FAIL |
| Bad algorithm: generateKey(AES, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey(AES, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, false, [sign]) | FAIL |
| Bad algorithm: generateKey(AES, true, []) | FAIL |
| Bad algorithm: generateKey(AES, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey(AES, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, true, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, []) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, []) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, []) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, []) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, []) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, []) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, []) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, []) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, []) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, []) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, []) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, []) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [sign]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [encrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, decrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, encrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, unwrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, verify, sign, sign, verify, decrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, verify, sign, sign, verify, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, verify, sign, sign, verify, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, verify, sign, sign, verify, encrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, verify, sign, sign, verify, unwrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, verify, sign, sign, verify, wrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, wrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [verify, sign, decrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [verify, sign, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [verify, sign, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [verify, sign, encrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [verify, sign, unwrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [verify, sign, wrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [wrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [encrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, decrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, encrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, unwrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, verify, sign, sign, verify, decrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, verify, sign, sign, verify, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, verify, sign, sign, verify, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, verify, sign, sign, verify, encrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, verify, sign, sign, verify, unwrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, verify, sign, sign, verify, wrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, wrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [unwrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [verify, sign, decrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [verify, sign, deriveBits]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [verify, sign, deriveKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [verify, sign, encrypt]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [verify, sign, unwrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [verify, sign, wrapKey]) | FAIL |
| Bad usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [wrapKey]) | FAIL |
| Empty usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, []) | FAIL |
| Empty usages: generateKey({hash: SHA-1, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, []) | FAIL |
| Empty usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, []) | FAIL |
| Empty usages: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, []) | FAIL |
| /WebCryptoAPI/derive_bits_keys/pbkdf2.https.any.html?1-1000 (1/1, 100.00%, 0.01% of total) | TIMEOUT |
| undefined | TIMEOUT |
| /WebCryptoAPI/derive_bits_keys/hkdf.https.any.html?1-1000 (1/1, 100.00%, 0.01% of total) | TIMEOUT |
| undefined | TIMEOUT |
| /WebCryptoAPI/secure_context/crypto-subtle-non-secure-context-not-available.sub.html (2/2, 100.00%, 0.02% of total) | OK |
| Non-secure context window does not have access to crypto.subtle | FAIL |
| Non-secure context worker does not have access to crypto.subtle | FAIL |
| /WebCryptoAPI/derive_bits_keys/ecdh_keys.https.any.html (1/1, 100.00%, 0.01% of total) | TIMEOUT |
| /WebCryptoAPI/derive_bits_keys/ecdh_keys.https.any.html | TIMEOUT |
| /WebCryptoAPI/generateKey/failures_AES-CBC.https.any.html (738/738, 100.00%, 7.15% of total) | OK |
| Bad algorithm property: generateKey({length: 127, name: AES-CBC}, false, []) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CBC}, false, [decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CBC}, false, [decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CBC}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CBC}, false, [encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CBC}, false, [unwrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CBC}, false, [unwrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CBC}, false, [unwrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CBC}, false, [unwrapKey, wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CBC}, false, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CBC}, false, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CBC}, false, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CBC}, false, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CBC}, false, [wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CBC}, false, [wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CBC}, false, [wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CBC}, false, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CBC}, true, []) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CBC}, true, [decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CBC}, true, [decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CBC}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CBC}, true, [encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CBC}, true, [unwrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CBC}, true, [unwrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CBC}, true, [unwrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CBC}, true, [unwrapKey, wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CBC}, true, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CBC}, true, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CBC}, true, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CBC}, true, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CBC}, true, [wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CBC}, true, [wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CBC}, true, [wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CBC}, true, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CBC}, false, []) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CBC}, false, [decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CBC}, false, [decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CBC}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CBC}, false, [encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CBC}, false, [unwrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CBC}, false, [unwrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CBC}, false, [unwrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CBC}, false, [unwrapKey, wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CBC}, false, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CBC}, false, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CBC}, false, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CBC}, false, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CBC}, false, [wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CBC}, false, [wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CBC}, false, [wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CBC}, false, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CBC}, true, []) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CBC}, true, [decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CBC}, true, [decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CBC}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CBC}, true, [encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CBC}, true, [unwrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CBC}, true, [unwrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CBC}, true, [unwrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CBC}, true, [unwrapKey, wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CBC}, true, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CBC}, true, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CBC}, true, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CBC}, true, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CBC}, true, [wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CBC}, true, [wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CBC}, true, [wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CBC}, true, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CBC}, false, []) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CBC}, false, [decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CBC}, false, [decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CBC}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CBC}, false, [encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CBC}, false, [unwrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CBC}, false, [unwrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CBC}, false, [unwrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CBC}, false, [unwrapKey, wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CBC}, false, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CBC}, false, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CBC}, false, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CBC}, false, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CBC}, false, [wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CBC}, false, [wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CBC}, false, [wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CBC}, false, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CBC}, true, []) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CBC}, true, [decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CBC}, true, [decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CBC}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CBC}, true, [encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CBC}, true, [unwrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CBC}, true, [unwrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CBC}, true, [unwrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CBC}, true, [unwrapKey, wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CBC}, true, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CBC}, true, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CBC}, true, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CBC}, true, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CBC}, true, [wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CBC}, true, [wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CBC}, true, [wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CBC}, true, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CBC}, false, []) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CBC}, false, [decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CBC}, false, [decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CBC}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CBC}, false, [encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CBC}, false, [unwrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CBC}, false, [unwrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CBC}, false, [unwrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CBC}, false, [unwrapKey, wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CBC}, false, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CBC}, false, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CBC}, false, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CBC}, false, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CBC}, false, [wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CBC}, false, [wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CBC}, false, [wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CBC}, false, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CBC}, true, []) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CBC}, true, [decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CBC}, true, [decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CBC}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CBC}, true, [encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CBC}, true, [unwrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CBC}, true, [unwrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CBC}, true, [unwrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CBC}, true, [unwrapKey, wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CBC}, true, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CBC}, true, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CBC}, true, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CBC}, true, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CBC}, true, [wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CBC}, true, [wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CBC}, true, [wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CBC}, true, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CBC}, false, []) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CBC}, false, [decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CBC}, false, [decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CBC}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CBC}, false, [encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CBC}, false, [unwrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CBC}, false, [unwrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CBC}, false, [unwrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CBC}, false, [unwrapKey, wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CBC}, false, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CBC}, false, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CBC}, false, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CBC}, false, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CBC}, false, [wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CBC}, false, [wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CBC}, false, [wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CBC}, false, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CBC}, true, []) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CBC}, true, [decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CBC}, true, [decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CBC}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CBC}, true, [encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CBC}, true, [unwrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CBC}, true, [unwrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CBC}, true, [unwrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CBC}, true, [unwrapKey, wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CBC}, true, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CBC}, true, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CBC}, true, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CBC}, true, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CBC}, true, [wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CBC}, true, [wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CBC}, true, [wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CBC}, true, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CBC}, false, []) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CBC}, false, [decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CBC}, false, [decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CBC}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CBC}, false, [encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CBC}, false, [unwrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CBC}, false, [unwrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CBC}, false, [unwrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CBC}, false, [unwrapKey, wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CBC}, false, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CBC}, false, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CBC}, false, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CBC}, false, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CBC}, false, [wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CBC}, false, [wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CBC}, false, [wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CBC}, false, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CBC}, true, []) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CBC}, true, [decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CBC}, true, [decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CBC}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CBC}, true, [encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CBC}, true, [unwrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CBC}, true, [unwrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CBC}, true, [unwrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CBC}, true, [unwrapKey, wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CBC}, true, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CBC}, true, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CBC}, true, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CBC}, true, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CBC}, true, [wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CBC}, true, [wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CBC}, true, [wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CBC}, true, [wrapKey]) | FAIL |
| Bad algorithm: generateKey(AES, 7, []) | FAIL |
| Bad algorithm: generateKey(AES, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [sign]) | FAIL |
| Bad algorithm: generateKey(AES, RED, []) | FAIL |
| Bad algorithm: generateKey(AES, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [sign]) | FAIL |
| Bad algorithm: generateKey(AES, false, []) | FAIL |
| Bad algorithm: generateKey(AES, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey(AES, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, false, [sign]) | FAIL |
| Bad algorithm: generateKey(AES, true, []) | FAIL |
| Bad algorithm: generateKey(AES, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey(AES, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, true, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, []) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, []) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, []) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, []) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, []) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, []) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, []) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, []) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, []) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, []) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, []) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, []) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [decrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [decrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [unwrapKey, decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [unwrapKey, decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [unwrapKey, decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [unwrapKey, decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [unwrapKey, decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [unwrapKey, decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [unwrapKey, decrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [unwrapKey, decrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [unwrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [unwrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [unwrapKey, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [unwrapKey, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [unwrapKey, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [unwrapKey, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [unwrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [unwrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [unwrapKey, wrapKey, decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [unwrapKey, wrapKey, decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [unwrapKey, wrapKey, decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [unwrapKey, wrapKey, decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [unwrapKey, wrapKey, decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [unwrapKey, wrapKey, decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [unwrapKey, wrapKey, decrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [unwrapKey, wrapKey, decrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [unwrapKey, wrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [unwrapKey, wrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [unwrapKey, wrapKey, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [unwrapKey, wrapKey, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [unwrapKey, wrapKey, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [unwrapKey, wrapKey, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [unwrapKey, wrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [unwrapKey, wrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [wrapKey, decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [wrapKey, decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [wrapKey, decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [wrapKey, decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [wrapKey, decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [wrapKey, decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [wrapKey, decrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [wrapKey, decrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [wrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [wrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [wrapKey, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [wrapKey, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [wrapKey, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [wrapKey, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [wrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CBC}, true, [wrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [decrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [decrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [unwrapKey, decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [unwrapKey, decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [unwrapKey, decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [unwrapKey, decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [unwrapKey, decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [unwrapKey, decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [unwrapKey, decrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [unwrapKey, decrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [unwrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [unwrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [unwrapKey, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [unwrapKey, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [unwrapKey, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [unwrapKey, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [unwrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [unwrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [unwrapKey, wrapKey, decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [unwrapKey, wrapKey, decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [unwrapKey, wrapKey, decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [unwrapKey, wrapKey, decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [unwrapKey, wrapKey, decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [unwrapKey, wrapKey, decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [unwrapKey, wrapKey, decrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [unwrapKey, wrapKey, decrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [unwrapKey, wrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [unwrapKey, wrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [unwrapKey, wrapKey, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [unwrapKey, wrapKey, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [unwrapKey, wrapKey, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [unwrapKey, wrapKey, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [unwrapKey, wrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [unwrapKey, wrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [wrapKey, decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [wrapKey, decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [wrapKey, decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [wrapKey, decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [wrapKey, decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [wrapKey, decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [wrapKey, decrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [wrapKey, decrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [wrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [wrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [wrapKey, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [wrapKey, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [wrapKey, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [wrapKey, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [wrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CBC}, true, [wrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [decrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [decrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [unwrapKey, decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [unwrapKey, decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [unwrapKey, decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [unwrapKey, decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [unwrapKey, decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [unwrapKey, decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [unwrapKey, decrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [unwrapKey, decrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [unwrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [unwrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [unwrapKey, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [unwrapKey, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [unwrapKey, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [unwrapKey, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [unwrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [unwrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [unwrapKey, wrapKey, decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [unwrapKey, wrapKey, decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [unwrapKey, wrapKey, decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [unwrapKey, wrapKey, decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [unwrapKey, wrapKey, decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [unwrapKey, wrapKey, decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [unwrapKey, wrapKey, decrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [unwrapKey, wrapKey, decrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [unwrapKey, wrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [unwrapKey, wrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [unwrapKey, wrapKey, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [unwrapKey, wrapKey, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [unwrapKey, wrapKey, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [unwrapKey, wrapKey, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [unwrapKey, wrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [unwrapKey, wrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [wrapKey, decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [wrapKey, decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [wrapKey, decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [wrapKey, decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [wrapKey, decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [wrapKey, decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [wrapKey, decrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [wrapKey, decrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [wrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [wrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [wrapKey, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [wrapKey, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [wrapKey, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [wrapKey, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [wrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CBC}, true, [wrapKey, verify]) | FAIL |
| Empty usages: generateKey({length: 128, name: AES-CBC}, false, []) | FAIL |
| Empty usages: generateKey({length: 128, name: AES-CBC}, true, []) | FAIL |
| Empty usages: generateKey({length: 192, name: AES-CBC}, false, []) | FAIL |
| Empty usages: generateKey({length: 192, name: AES-CBC}, true, []) | FAIL |
| Empty usages: generateKey({length: 256, name: AES-CBC}, false, []) | FAIL |
| Empty usages: generateKey({length: 256, name: AES-CBC}, true, []) | FAIL |
| /WebCryptoAPI/sign_verify/ecdsa.https.worker.html (168/168, 100.00%, 1.63% of total) | OK |
| importVectorKeys step: ECDSA P-256 with SHA-1 no verify usage | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-1 round trip | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-1 signing with wrong algorithm name | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-1 using privateKey to verify | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-1 using publicKey to sign | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-1 verification | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-1 verification failure due to altered plaintext | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-1 verification failure due to altered signature | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-1 verification failure due to bad hash name | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-1 verification failure due to shortened signature | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-1 verification failure due to wrong hash | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-1 verification with altered signature after call | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-1 verifying with wrong algorithm name | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-1 with altered plaintext after call | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-256 no verify usage | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-256 round trip | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-256 signing with wrong algorithm name | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-256 using privateKey to verify | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-256 using publicKey to sign | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-256 verification | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-256 verification failure due to altered plaintext | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-256 verification failure due to altered signature | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-256 verification failure due to bad hash name | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-256 verification failure due to shortened signature | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-256 verification failure due to wrong hash | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-256 verification with altered signature after call | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-256 verifying with wrong algorithm name | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-256 with altered plaintext after call | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-384 no verify usage | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-384 round trip | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-384 signing with wrong algorithm name | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-384 using privateKey to verify | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-384 using publicKey to sign | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-384 verification | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-384 verification failure due to altered plaintext | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-384 verification failure due to altered signature | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-384 verification failure due to bad hash name | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-384 verification failure due to shortened signature | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-384 verification failure due to wrong hash | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-384 verification with altered signature after call | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-384 verifying with wrong algorithm name | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-384 with altered plaintext after call | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-512 no verify usage | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-512 round trip | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-512 signing with wrong algorithm name | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-512 using privateKey to verify | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-512 using publicKey to sign | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-512 verification | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-512 verification failure due to altered plaintext | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-512 verification failure due to altered signature | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-512 verification failure due to bad hash name | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-512 verification failure due to shortened signature | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-512 verification failure due to wrong hash | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-512 verification with altered signature after call | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-512 verifying with wrong algorithm name | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-512 with altered plaintext after call | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-1 no verify usage | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-1 round trip | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-1 signing with wrong algorithm name | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-1 using privateKey to verify | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-1 using publicKey to sign | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-1 verification | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-1 verification failure due to altered plaintext | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-1 verification failure due to altered signature | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-1 verification failure due to bad hash name | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-1 verification failure due to shortened signature | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-1 verification failure due to wrong hash | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-1 verification with altered signature after call | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-1 verifying with wrong algorithm name | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-1 with altered plaintext after call | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-256 no verify usage | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-256 round trip | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-256 signing with wrong algorithm name | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-256 using privateKey to verify | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-256 using publicKey to sign | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-256 verification | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-256 verification failure due to altered plaintext | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-256 verification failure due to altered signature | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-256 verification failure due to bad hash name | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-256 verification failure due to shortened signature | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-256 verification failure due to wrong hash | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-256 verification with altered signature after call | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-256 verifying with wrong algorithm name | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-256 with altered plaintext after call | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-384 no verify usage | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-384 round trip | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-384 signing with wrong algorithm name | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-384 using privateKey to verify | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-384 using publicKey to sign | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-384 verification | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-384 verification failure due to altered plaintext | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-384 verification failure due to altered signature | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-384 verification failure due to bad hash name | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-384 verification failure due to shortened signature | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-384 verification failure due to wrong hash | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-384 verification with altered signature after call | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-384 verifying with wrong algorithm name | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-384 with altered plaintext after call | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-512 no verify usage | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-512 round trip | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-512 signing with wrong algorithm name | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-512 using privateKey to verify | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-512 using publicKey to sign | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-512 verification | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-512 verification failure due to altered plaintext | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-512 verification failure due to altered signature | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-512 verification failure due to bad hash name | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-512 verification failure due to shortened signature | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-512 verification failure due to wrong hash | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-512 verification with altered signature after call | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-512 verifying with wrong algorithm name | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-512 with altered plaintext after call | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-1 no verify usage | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-1 round trip | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-1 signing with wrong algorithm name | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-1 using privateKey to verify | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-1 using publicKey to sign | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-1 verification | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to altered plaintext | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to altered signature | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to bad hash name | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to shortened signature | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-1 verification failure due to wrong hash | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-1 verification with altered signature after call | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-1 verifying with wrong algorithm name | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-1 with altered plaintext after call | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-256 no verify usage | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-256 round trip | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-256 signing with wrong algorithm name | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-256 using privateKey to verify | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-256 using publicKey to sign | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-256 verification | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to altered plaintext | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to altered signature | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to bad hash name | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to shortened signature | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-256 verification failure due to wrong hash | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-256 verification with altered signature after call | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-256 verifying with wrong algorithm name | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-256 with altered plaintext after call | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-384 no verify usage | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-384 round trip | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-384 signing with wrong algorithm name | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-384 using privateKey to verify | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-384 using publicKey to sign | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-384 verification | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to altered plaintext | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to altered signature | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to bad hash name | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to shortened signature | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-384 verification failure due to wrong hash | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-384 verification with altered signature after call | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-384 verifying with wrong algorithm name | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-384 with altered plaintext after call | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-512 no verify usage | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-512 round trip | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-512 signing with wrong algorithm name | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-512 using privateKey to verify | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-512 using publicKey to sign | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-512 verification | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to altered plaintext | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to altered signature | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to bad hash name | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to shortened signature | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-512 verification failure due to wrong hash | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-512 verification with altered signature after call | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-512 verifying with wrong algorithm name | FAIL |
| importVectorKeys step: ECDSA P-521 with SHA-512 with altered plaintext after call | FAIL |
| /WebCryptoAPI/generateKey/successes_RSA-OAEP.https.any.html?1-10 (1/1, 100.00%, 0.01% of total) | TIMEOUT |
| undefined | TIMEOUT |
| /WebCryptoAPI/derive_bits_keys/ecdh_bits.https.any.html (1/1, 100.00%, 0.01% of total) | TIMEOUT |
| /WebCryptoAPI/derive_bits_keys/ecdh_bits.https.any.html | TIMEOUT |
| /WebCryptoAPI/generateKey/successes_RSA-PSS.https.any.html?1-10 (1/1, 100.00%, 0.01% of total) | TIMEOUT |
| undefined | TIMEOUT |
| /WebCryptoAPI/sign_verify/test_ecdsa.https.html (7/7, 100.00%, 0.07% of total) | OK |
| importVectorKeys step: ECDSA P-256 with SHA-1 verification | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-256 verification | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-384 verification | FAIL |
| importVectorKeys step: ECDSA P-256 with SHA-512 verification | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-1 verification | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-256 verification | FAIL |
| importVectorKeys step: ECDSA P-384 with SHA-384 verification | FAIL |
| /WebCryptoAPI/import_export/ec_importKey.https.worker.html (30/72, 41.67%, 0.29% of total) | OK |
| Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, false, [deriveBits, deriveKey]) | FAIL |
| Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, false, [deriveBits]) | FAIL |
| Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, false, [deriveKey]) | FAIL |
| Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, true, [deriveBits, deriveKey]) | FAIL |
| Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, true, [deriveBits]) | FAIL |
| Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, true, [deriveKey]) | FAIL |
| Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDSA, namedCurve: P-256}, false, [sign]) | FAIL |
| Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDSA, namedCurve: P-256}, true, [sign]) | FAIL |
| Good parameters: P-256 bits (spki, buffer(91), {name: ECDH, namedCurve: P-256}, true, []) | FAIL |
| Good parameters: P-256 bits (spki, buffer(91), {name: ECDSA, namedCurve: P-256}, true, []) | FAIL |
| Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, false, [deriveBits, deriveKey]) | FAIL |
| Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, false, [deriveBits]) | FAIL |
| Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, false, [deriveKey]) | FAIL |
| Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, true, [deriveBits, deriveKey]) | FAIL |
| Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, true, [deriveBits]) | FAIL |
| Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, true, [deriveKey]) | FAIL |
| Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDSA, namedCurve: P-384}, false, [sign]) | FAIL |
| Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDSA, namedCurve: P-384}, true, [sign]) | FAIL |
| Good parameters: P-384 bits (spki, buffer(120), {name: ECDH, namedCurve: P-384}, true, []) | FAIL |
| Good parameters: P-384 bits (spki, buffer(120), {name: ECDSA, namedCurve: P-384}, true, []) | FAIL |
| Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [deriveBits, deriveKey]) | FAIL |
| Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [deriveBits]) | FAIL |
| Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [deriveKey]) | FAIL |
| Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey]) | FAIL |
| Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveBits]) | FAIL |
| Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveKey]) | FAIL |
| Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, false, [sign]) | FAIL |
| Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, true, [sign]) | FAIL |
| Good parameters: P-521 bits (spki, buffer(158), {name: ECDH, namedCurve: P-521}, true, []) | FAIL |
| Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, true, []) | FAIL |
| /WebCryptoAPI/generateKey/failures_AES-CTR.https.any.html (738/738, 100.00%, 7.15% of total) | OK |
| Bad algorithm property: generateKey({length: 127, name: AES-CTR}, false, []) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CTR}, false, [decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CTR}, false, [decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CTR}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CTR}, false, [encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CTR}, false, [unwrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CTR}, false, [unwrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CTR}, false, [unwrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CTR}, false, [unwrapKey, wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CTR}, false, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CTR}, false, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CTR}, false, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CTR}, false, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CTR}, false, [wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CTR}, false, [wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CTR}, false, [wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CTR}, false, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CTR}, true, []) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CTR}, true, [decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CTR}, true, [decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CTR}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CTR}, true, [encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CTR}, true, [unwrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CTR}, true, [unwrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CTR}, true, [unwrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CTR}, true, [unwrapKey, wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CTR}, true, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CTR}, true, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CTR}, true, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CTR}, true, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CTR}, true, [wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CTR}, true, [wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CTR}, true, [wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 127, name: AES-CTR}, true, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CTR}, false, []) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CTR}, false, [decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CTR}, false, [decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CTR}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CTR}, false, [encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CTR}, false, [unwrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CTR}, false, [unwrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CTR}, false, [unwrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CTR}, false, [unwrapKey, wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CTR}, false, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CTR}, false, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CTR}, false, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CTR}, false, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CTR}, false, [wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CTR}, false, [wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CTR}, false, [wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CTR}, false, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CTR}, true, []) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CTR}, true, [decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CTR}, true, [decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CTR}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CTR}, true, [encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CTR}, true, [unwrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CTR}, true, [unwrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CTR}, true, [unwrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CTR}, true, [unwrapKey, wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CTR}, true, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CTR}, true, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CTR}, true, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CTR}, true, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CTR}, true, [wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CTR}, true, [wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CTR}, true, [wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 129, name: AES-CTR}, true, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CTR}, false, []) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CTR}, false, [decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CTR}, false, [decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CTR}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CTR}, false, [encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CTR}, false, [unwrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CTR}, false, [unwrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CTR}, false, [unwrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CTR}, false, [unwrapKey, wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CTR}, false, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CTR}, false, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CTR}, false, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CTR}, false, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CTR}, false, [wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CTR}, false, [wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CTR}, false, [wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CTR}, false, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CTR}, true, []) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CTR}, true, [decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CTR}, true, [decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CTR}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CTR}, true, [encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CTR}, true, [unwrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CTR}, true, [unwrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CTR}, true, [unwrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CTR}, true, [unwrapKey, wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CTR}, true, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CTR}, true, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CTR}, true, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CTR}, true, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CTR}, true, [wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CTR}, true, [wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CTR}, true, [wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 255, name: AES-CTR}, true, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CTR}, false, []) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CTR}, false, [decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CTR}, false, [decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CTR}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CTR}, false, [encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CTR}, false, [unwrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CTR}, false, [unwrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CTR}, false, [unwrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CTR}, false, [unwrapKey, wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CTR}, false, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CTR}, false, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CTR}, false, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CTR}, false, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CTR}, false, [wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CTR}, false, [wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CTR}, false, [wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CTR}, false, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CTR}, true, []) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CTR}, true, [decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CTR}, true, [decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CTR}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CTR}, true, [encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CTR}, true, [unwrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CTR}, true, [unwrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CTR}, true, [unwrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CTR}, true, [unwrapKey, wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CTR}, true, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CTR}, true, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CTR}, true, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CTR}, true, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CTR}, true, [wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CTR}, true, [wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CTR}, true, [wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 257, name: AES-CTR}, true, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CTR}, false, []) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CTR}, false, [decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CTR}, false, [decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CTR}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CTR}, false, [encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CTR}, false, [unwrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CTR}, false, [unwrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CTR}, false, [unwrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CTR}, false, [unwrapKey, wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CTR}, false, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CTR}, false, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CTR}, false, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CTR}, false, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CTR}, false, [wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CTR}, false, [wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CTR}, false, [wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CTR}, false, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CTR}, true, []) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CTR}, true, [decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CTR}, true, [decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CTR}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CTR}, true, [encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CTR}, true, [unwrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CTR}, true, [unwrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CTR}, true, [unwrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CTR}, true, [unwrapKey, wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CTR}, true, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CTR}, true, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CTR}, true, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CTR}, true, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CTR}, true, [wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CTR}, true, [wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CTR}, true, [wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 512, name: AES-CTR}, true, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CTR}, false, []) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CTR}, false, [decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CTR}, false, [decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CTR}, false, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CTR}, false, [encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CTR}, false, [unwrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CTR}, false, [unwrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CTR}, false, [unwrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CTR}, false, [unwrapKey, wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CTR}, false, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CTR}, false, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CTR}, false, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CTR}, false, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CTR}, false, [wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CTR}, false, [wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CTR}, false, [wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CTR}, false, [wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CTR}, true, []) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CTR}, true, [decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CTR}, true, [decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CTR}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CTR}, true, [encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CTR}, true, [unwrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CTR}, true, [unwrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CTR}, true, [unwrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CTR}, true, [unwrapKey, wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CTR}, true, [unwrapKey, wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CTR}, true, [unwrapKey, wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CTR}, true, [unwrapKey, wrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CTR}, true, [unwrapKey]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CTR}, true, [wrapKey, decrypt, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CTR}, true, [wrapKey, decrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CTR}, true, [wrapKey, encrypt]) | FAIL |
| Bad algorithm property: generateKey({length: 64, name: AES-CTR}, true, [wrapKey]) | FAIL |
| Bad algorithm: generateKey(AES, 7, []) | FAIL |
| Bad algorithm: generateKey(AES, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, 7, [sign]) | FAIL |
| Bad algorithm: generateKey(AES, RED, []) | FAIL |
| Bad algorithm: generateKey(AES, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, RED, [sign]) | FAIL |
| Bad algorithm: generateKey(AES, false, []) | FAIL |
| Bad algorithm: generateKey(AES, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey(AES, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, false, [sign]) | FAIL |
| Bad algorithm: generateKey(AES, true, []) | FAIL |
| Bad algorithm: generateKey(AES, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey(AES, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey(AES, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey(AES, true, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, []) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, []) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, []) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, []) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, []) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, []) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({length: 128, name: AES}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, []) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, []) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, []) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, []) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: AES}, true, [sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, []) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, []) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, []) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, []) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits, sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits, sign]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [sign, decrypt]) | FAIL |
| Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [decrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [decrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [unwrapKey, decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [unwrapKey, decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [unwrapKey, decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [unwrapKey, decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [unwrapKey, decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [unwrapKey, decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [unwrapKey, decrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [unwrapKey, decrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [unwrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [unwrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [unwrapKey, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [unwrapKey, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [unwrapKey, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [unwrapKey, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [unwrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [unwrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [unwrapKey, wrapKey, decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [unwrapKey, wrapKey, decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [unwrapKey, wrapKey, decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [unwrapKey, wrapKey, decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [unwrapKey, wrapKey, decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [unwrapKey, wrapKey, decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [unwrapKey, wrapKey, decrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [unwrapKey, wrapKey, decrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [unwrapKey, wrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [unwrapKey, wrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [unwrapKey, wrapKey, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [unwrapKey, wrapKey, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [unwrapKey, wrapKey, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [unwrapKey, wrapKey, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [unwrapKey, wrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [unwrapKey, wrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [wrapKey, decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [wrapKey, decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [wrapKey, decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [wrapKey, decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [wrapKey, decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [wrapKey, decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [wrapKey, decrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [wrapKey, decrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [wrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [wrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [wrapKey, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [wrapKey, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [wrapKey, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [wrapKey, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [wrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 128, name: AES-CTR}, true, [wrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [decrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [decrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [unwrapKey, decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [unwrapKey, decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [unwrapKey, decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [unwrapKey, decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [unwrapKey, decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [unwrapKey, decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [unwrapKey, decrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [unwrapKey, decrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [unwrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [unwrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [unwrapKey, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [unwrapKey, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [unwrapKey, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [unwrapKey, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [unwrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [unwrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [unwrapKey, wrapKey, decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [unwrapKey, wrapKey, decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [unwrapKey, wrapKey, decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [unwrapKey, wrapKey, decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [unwrapKey, wrapKey, decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [unwrapKey, wrapKey, decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [unwrapKey, wrapKey, decrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [unwrapKey, wrapKey, decrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [unwrapKey, wrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [unwrapKey, wrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [unwrapKey, wrapKey, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [unwrapKey, wrapKey, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [unwrapKey, wrapKey, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [unwrapKey, wrapKey, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [unwrapKey, wrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [unwrapKey, wrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [wrapKey, decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [wrapKey, decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [wrapKey, decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [wrapKey, decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [wrapKey, decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [wrapKey, decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [wrapKey, decrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [wrapKey, decrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [wrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [wrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [wrapKey, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [wrapKey, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [wrapKey, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [wrapKey, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [wrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 192, name: AES-CTR}, true, [wrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [decrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [decrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [encrypt, decrypt, wrapKey, unwrapKey, encrypt, decrypt, wrapKey, unwrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [unwrapKey, decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [unwrapKey, decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [unwrapKey, decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [unwrapKey, decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [unwrapKey, decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [unwrapKey, decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [unwrapKey, decrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [unwrapKey, decrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [unwrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [unwrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [unwrapKey, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [unwrapKey, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [unwrapKey, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [unwrapKey, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [unwrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [unwrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [unwrapKey, wrapKey, decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [unwrapKey, wrapKey, decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [unwrapKey, wrapKey, decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [unwrapKey, wrapKey, decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [unwrapKey, wrapKey, decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [unwrapKey, wrapKey, decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [unwrapKey, wrapKey, decrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [unwrapKey, wrapKey, decrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [unwrapKey, wrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [unwrapKey, wrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [unwrapKey, wrapKey, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [unwrapKey, wrapKey, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [unwrapKey, wrapKey, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [unwrapKey, wrapKey, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [unwrapKey, wrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [unwrapKey, wrapKey, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [wrapKey, decrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [wrapKey, decrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [wrapKey, decrypt, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [wrapKey, decrypt, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [wrapKey, decrypt, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [wrapKey, decrypt, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [wrapKey, decrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [wrapKey, decrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [wrapKey, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [wrapKey, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [wrapKey, encrypt, deriveBits]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [wrapKey, encrypt, deriveKey]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [wrapKey, encrypt, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [wrapKey, encrypt, verify]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [wrapKey, sign]) | FAIL |
| Bad usages: generateKey({length: 256, name: AES-CTR}, true, [wrapKey, verify]) | FAIL |
| Empty usages: generateKey({length: 128, name: AES-CTR}, false, []) | FAIL |
| Empty usages: generateKey({length: 128, name: AES-CTR}, true, []) | FAIL |
| Empty usages: generateKey({length: 192, name: AES-CTR}, false, []) | FAIL |
| Empty usages: generateKey({length: 192, name: AES-CTR}, true, []) | FAIL |
| Empty usages: generateKey({length: 256, name: AES-CTR}, false, []) | FAIL |
| Empty usages: generateKey({length: 256, name: AES-CTR}, true, []) | FAIL |