[test_failures_AES-KW.https.html]
  type: testharness
  [Bad algorithm: generateKey(AES, false, [decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey(AES, true, [decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey(AES, RED, [decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey(AES, 7, [decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey(AES, false, [sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey(AES, true, [sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey(AES, RED, [sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey(AES, 7, [sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey(AES, false, [deriveBits, sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey(AES, true, [deriveBits, sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey(AES, RED, [deriveBits, sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey(AES, 7, [deriveBits, sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey(AES, false, [deriveBits, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey(AES, true, [deriveBits, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey(AES, RED, [deriveBits, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey(AES, 7, [deriveBits, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey(AES, false, [sign\])]
    expected: FAIL

  [Bad algorithm: generateKey(AES, true, [sign\])]
    expected: FAIL

  [Bad algorithm: generateKey(AES, RED, [sign\])]
    expected: FAIL

  [Bad algorithm: generateKey(AES, 7, [sign\])]
    expected: FAIL

  [Bad algorithm: generateKey(AES, false, [deriveBits, sign\])]
    expected: FAIL

  [Bad algorithm: generateKey(AES, true, [deriveBits, sign\])]
    expected: FAIL

  [Bad algorithm: generateKey(AES, RED, [deriveBits, sign\])]
    expected: FAIL

  [Bad algorithm: generateKey(AES, 7, [deriveBits, sign\])]
    expected: FAIL

  [Bad algorithm: generateKey(AES, false, [deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey(AES, true, [deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey(AES, RED, [deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey(AES, 7, [deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey(AES, false, [\])]
    expected: FAIL

  [Bad algorithm: generateKey(AES, true, [\])]
    expected: FAIL

  [Bad algorithm: generateKey(AES, RED, [\])]
    expected: FAIL

  [Bad algorithm: generateKey(AES, 7, [\])]
    expected: FAIL

  [Bad algorithm: generateKey(AES, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey(AES, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey(AES, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey(AES, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: AES}, false, [decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: AES}, true, [decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: AES}, RED, [decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: AES}, 7, [decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: AES}, false, [sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: AES}, true, [sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: AES}, RED, [sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: AES}, 7, [sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: AES}, false, [deriveBits, sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: AES}, true, [deriveBits, sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: AES}, RED, [deriveBits, sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: AES}, 7, [deriveBits, sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: AES}, false, [deriveBits, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: AES}, true, [deriveBits, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: AES}, RED, [deriveBits, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: AES}, 7, [deriveBits, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: AES}, false, [sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: AES}, true, [sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: AES}, RED, [sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: AES}, 7, [sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: AES}, false, [deriveBits, sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: AES}, true, [deriveBits, sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: AES}, RED, [deriveBits, sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: AES}, 7, [deriveBits, sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: AES}, false, [deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: AES}, true, [deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: AES}, RED, [deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: AES}, 7, [deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: AES}, false, [\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: AES}, true, [\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: AES}, RED, [\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: AES}, 7, [\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: AES}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: AES}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: AES}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: AES}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES}, false, [decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES}, true, [decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES}, RED, [decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES}, 7, [decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES}, false, [sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES}, true, [sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES}, RED, [sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES}, 7, [sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits, sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits, sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits, sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits, sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES}, false, [sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES}, true, [sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES}, RED, [sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES}, 7, [sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits, sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits, sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits, sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits, sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES}, false, [\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES}, true, [\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES}, RED, [\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES}, 7, [\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits, sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits, sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits, sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits, sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits, sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits, sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits, sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits, sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits, sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits, sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits, sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits, sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits, sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits, sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits, sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits, sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [\])]
    expected: 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\])]
    expected: 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\])]
    expected: 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\])]
    expected: 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\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [\])]
    expected: FAIL

  [Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [\])]
    expected: 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\])]
    expected: 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\])]
    expected: 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\])]
    expected: 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\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits, sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits, sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits, sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits, sign, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits, decrypt\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits, sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits, sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits, sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits, sign\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits\])]
    expected: FAIL

  [Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits\])]
    expected: FAIL

  [Bad usages: generateKey({length: 128, name: AES-KW}, true, [encrypt\])]
    expected: FAIL

  [Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, encrypt\])]
    expected: FAIL

  [Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey, encrypt\])]
    expected: FAIL

  [Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, encrypt\])]
    expected: FAIL

  [Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, encrypt\])]
    expected: FAIL

  [Bad usages: generateKey({length: 128, name: AES-KW}, true, [decrypt\])]
    expected: FAIL

  [Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, decrypt\])]
    expected: FAIL

  [Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey, decrypt\])]
    expected: FAIL

  [Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, decrypt\])]
    expected: FAIL

  [Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, decrypt\])]
    expected: FAIL

  [Bad usages: generateKey({length: 128, name: AES-KW}, true, [sign\])]
    expected: FAIL

  [Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, sign\])]
    expected: FAIL

  [Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey, sign\])]
    expected: FAIL

  [Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, sign\])]
    expected: FAIL

  [Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, sign\])]
    expected: FAIL

  [Bad usages: generateKey({length: 128, name: AES-KW}, true, [verify\])]
    expected: FAIL

  [Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, verify\])]
    expected: FAIL

  [Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey, verify\])]
    expected: FAIL

  [Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, verify\])]
    expected: FAIL

  [Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, verify\])]
    expected: FAIL

  [Bad usages: generateKey({length: 128, name: AES-KW}, true, [deriveKey\])]
    expected: FAIL

  [Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, deriveKey\])]
    expected: FAIL

  [Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey, deriveKey\])]
    expected: FAIL

  [Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, deriveKey\])]
    expected: FAIL

  [Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, deriveKey\])]
    expected: FAIL

  [Bad usages: generateKey({length: 128, name: AES-KW}, true, [deriveBits\])]
    expected: FAIL

  [Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, deriveBits\])]
    expected: FAIL

  [Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey, deriveBits\])]
    expected: FAIL

  [Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, deriveBits\])]
    expected: FAIL

  [Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, deriveBits\])]
    expected: FAIL

  [Bad usages: generateKey({length: 192, name: AES-KW}, true, [encrypt\])]
    expected: FAIL

  [Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, encrypt\])]
    expected: FAIL

  [Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey, encrypt\])]
    expected: FAIL

  [Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, encrypt\])]
    expected: FAIL

  [Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, encrypt\])]
    expected: FAIL

  [Bad usages: generateKey({length: 192, name: AES-KW}, true, [decrypt\])]
    expected: FAIL

  [Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, decrypt\])]
    expected: FAIL

  [Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey, decrypt\])]
    expected: FAIL

  [Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, decrypt\])]
    expected: FAIL

  [Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, decrypt\])]
    expected: FAIL

  [Bad usages: generateKey({length: 192, name: AES-KW}, true, [sign\])]
    expected: FAIL

  [Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, sign\])]
    expected: FAIL

  [Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey, sign\])]
    expected: FAIL

  [Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, sign\])]
    expected: FAIL

  [Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, sign\])]
    expected: FAIL

  [Bad usages: generateKey({length: 192, name: AES-KW}, true, [verify\])]
    expected: FAIL

  [Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, verify\])]
    expected: FAIL

  [Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey, verify\])]
    expected: FAIL

  [Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, verify\])]
    expected: FAIL

  [Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, verify\])]
    expected: FAIL

  [Bad usages: generateKey({length: 192, name: AES-KW}, true, [deriveKey\])]
    expected: FAIL

  [Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, deriveKey\])]
    expected: FAIL

  [Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey, deriveKey\])]
    expected: FAIL

  [Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, deriveKey\])]
    expected: FAIL

  [Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, deriveKey\])]
    expected: FAIL

  [Bad usages: generateKey({length: 192, name: AES-KW}, true, [deriveBits\])]
    expected: FAIL

  [Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, deriveBits\])]
    expected: FAIL

  [Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey, deriveBits\])]
    expected: FAIL

  [Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, deriveBits\])]
    expected: FAIL

  [Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, deriveBits\])]
    expected: FAIL

  [Bad usages: generateKey({length: 256, name: AES-KW}, true, [encrypt\])]
    expected: FAIL

  [Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, encrypt\])]
    expected: FAIL

  [Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey, encrypt\])]
    expected: FAIL

  [Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, encrypt\])]
    expected: FAIL

  [Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, encrypt\])]
    expected: FAIL

  [Bad usages: generateKey({length: 256, name: AES-KW}, true, [decrypt\])]
    expected: FAIL

  [Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, decrypt\])]
    expected: FAIL

  [Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey, decrypt\])]
    expected: FAIL

  [Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, decrypt\])]
    expected: FAIL

  [Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, decrypt\])]
    expected: FAIL

  [Bad usages: generateKey({length: 256, name: AES-KW}, true, [sign\])]
    expected: FAIL

  [Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, sign\])]
    expected: FAIL

  [Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey, sign\])]
    expected: FAIL

  [Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, sign\])]
    expected: FAIL

  [Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, sign\])]
    expected: FAIL

  [Bad usages: generateKey({length: 256, name: AES-KW}, true, [verify\])]
    expected: FAIL

  [Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, verify\])]
    expected: FAIL

  [Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey, verify\])]
    expected: FAIL

  [Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, verify\])]
    expected: FAIL

  [Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, verify\])]
    expected: FAIL

  [Bad usages: generateKey({length: 256, name: AES-KW}, true, [deriveKey\])]
    expected: FAIL

  [Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, deriveKey\])]
    expected: FAIL

  [Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey, deriveKey\])]
    expected: FAIL

  [Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, deriveKey\])]
    expected: FAIL

  [Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, deriveKey\])]
    expected: FAIL

  [Bad usages: generateKey({length: 256, name: AES-KW}, true, [deriveBits\])]
    expected: FAIL

  [Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, deriveBits\])]
    expected: FAIL

  [Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey, deriveBits\])]
    expected: FAIL

  [Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, deriveBits\])]
    expected: FAIL

  [Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, deriveBits\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 64, name: AES-KW}, false, [wrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 64, name: AES-KW}, true, [wrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 64, name: AES-KW}, false, [unwrapKey, wrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 64, name: AES-KW}, true, [unwrapKey, wrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 64, name: AES-KW}, false, [unwrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 64, name: AES-KW}, true, [unwrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 64, name: AES-KW}, false, [\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 64, name: AES-KW}, true, [\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 64, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 64, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 127, name: AES-KW}, false, [wrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 127, name: AES-KW}, true, [wrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 127, name: AES-KW}, false, [unwrapKey, wrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 127, name: AES-KW}, true, [unwrapKey, wrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 127, name: AES-KW}, false, [unwrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 127, name: AES-KW}, true, [unwrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 127, name: AES-KW}, false, [\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 127, name: AES-KW}, true, [\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 127, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 127, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 129, name: AES-KW}, false, [wrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 129, name: AES-KW}, true, [wrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 129, name: AES-KW}, false, [unwrapKey, wrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 129, name: AES-KW}, true, [unwrapKey, wrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 129, name: AES-KW}, false, [unwrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 129, name: AES-KW}, true, [unwrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 129, name: AES-KW}, false, [\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 129, name: AES-KW}, true, [\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 129, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 129, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 255, name: AES-KW}, false, [wrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 255, name: AES-KW}, true, [wrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 255, name: AES-KW}, false, [unwrapKey, wrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 255, name: AES-KW}, true, [unwrapKey, wrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 255, name: AES-KW}, false, [unwrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 255, name: AES-KW}, true, [unwrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 255, name: AES-KW}, false, [\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 255, name: AES-KW}, true, [\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 255, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 255, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 257, name: AES-KW}, false, [wrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 257, name: AES-KW}, true, [wrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 257, name: AES-KW}, false, [unwrapKey, wrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 257, name: AES-KW}, true, [unwrapKey, wrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 257, name: AES-KW}, false, [unwrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 257, name: AES-KW}, true, [unwrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 257, name: AES-KW}, false, [\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 257, name: AES-KW}, true, [\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 257, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 257, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 512, name: AES-KW}, false, [wrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 512, name: AES-KW}, true, [wrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 512, name: AES-KW}, false, [unwrapKey, wrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 512, name: AES-KW}, true, [unwrapKey, wrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 512, name: AES-KW}, false, [unwrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 512, name: AES-KW}, true, [unwrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 512, name: AES-KW}, false, [\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 512, name: AES-KW}, true, [\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 512, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
    expected: FAIL

  [Bad algorithm property: generateKey({length: 512, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey\])]
    expected: FAIL

  [Empty usages: generateKey({length: 128, name: AES-KW}, false, [\])]
    expected: FAIL

  [Empty usages: generateKey({length: 128, name: AES-KW}, true, [\])]
    expected: FAIL

  [Empty usages: generateKey({length: 192, name: AES-KW}, false, [\])]
    expected: FAIL

  [Empty usages: generateKey({length: 192, name: AES-KW}, true, [\])]
    expected: FAIL

  [Empty usages: generateKey({length: 256, name: AES-KW}, false, [\])]
    expected: FAIL

  [Empty usages: generateKey({length: 256, name: AES-KW}, true, [\])]
    expected: FAIL

