[failures_HMAC.https.any.html]
  [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({hash: SHA-1, length: 160, name: HMAC}, true, [encrypt\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, encrypt\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, sign, encrypt\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, encrypt\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, verify, sign, verify, encrypt\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [decrypt\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, decrypt\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, sign, decrypt\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, decrypt\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, verify, sign, verify, decrypt\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [wrapKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, wrapKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, sign, wrapKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, wrapKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, verify, sign, verify, wrapKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [unwrapKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, unwrapKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, sign, unwrapKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, unwrapKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, verify, sign, verify, unwrapKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [deriveKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, deriveKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, sign, deriveKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, deriveKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, verify, sign, verify, deriveKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [deriveBits\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, deriveBits\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, sign, deriveBits\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [verify, deriveBits\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [sign, verify, sign, verify, deriveBits\])]
    expected: FAIL

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

  [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, encrypt\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, sign, encrypt\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, encrypt\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, verify, sign, verify, encrypt\])]
    expected: FAIL

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

  [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, decrypt\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, sign, decrypt\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, decrypt\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, verify, sign, verify, decrypt\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [wrapKey\])]
    expected: FAIL

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

  [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, sign, wrapKey\])]
    expected: FAIL

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

  [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, verify, sign, verify, wrapKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [unwrapKey\])]
    expected: FAIL

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

  [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, sign, unwrapKey\])]
    expected: FAIL

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

  [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, verify, sign, verify, unwrapKey\])]
    expected: FAIL

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

  [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, deriveKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, sign, deriveKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, deriveKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, verify, sign, verify, deriveKey\])]
    expected: FAIL

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

  [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, deriveBits\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, sign, deriveBits\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [verify, deriveBits\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [sign, verify, sign, verify, deriveBits\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [encrypt\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, encrypt\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, sign, encrypt\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, encrypt\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, verify, sign, verify, encrypt\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [decrypt\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, decrypt\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, sign, decrypt\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, decrypt\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, verify, sign, verify, decrypt\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [wrapKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, wrapKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, sign, wrapKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, wrapKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, verify, sign, verify, wrapKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [unwrapKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, unwrapKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, sign, unwrapKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, unwrapKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, verify, sign, verify, unwrapKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [deriveKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, deriveKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, sign, deriveKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, deriveKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, verify, sign, verify, deriveKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [deriveBits\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, deriveBits\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, sign, deriveBits\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [verify, deriveBits\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [sign, verify, sign, verify, deriveBits\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [encrypt\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, encrypt\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, sign, encrypt\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, encrypt\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, verify, sign, verify, encrypt\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [decrypt\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, decrypt\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, sign, decrypt\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, decrypt\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, verify, sign, verify, decrypt\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [wrapKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, wrapKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, sign, wrapKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, wrapKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, verify, sign, verify, wrapKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [unwrapKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, unwrapKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, sign, unwrapKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, unwrapKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, verify, sign, verify, unwrapKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [deriveKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, deriveKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, sign, deriveKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, deriveKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, verify, sign, verify, deriveKey\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [deriveBits\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, deriveBits\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, sign, deriveBits\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [verify, deriveBits\])]
    expected: FAIL

  [Bad usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [sign, verify, sign, verify, deriveBits\])]
    expected: FAIL

  [Empty usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, false, [\])]
    expected: FAIL

  [Empty usages: generateKey({hash: SHA-1, length: 160, name: HMAC}, true, [\])]
    expected: FAIL

  [Empty usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, false, [\])]
    expected: FAIL

  [Empty usages: generateKey({hash: SHA-256, length: 256, name: HMAC}, true, [\])]
    expected: FAIL

  [Empty usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, false, [\])]
    expected: FAIL

  [Empty usages: generateKey({hash: SHA-384, length: 384, name: HMAC}, true, [\])]
    expected: FAIL

  [Empty usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, false, [\])]
    expected: FAIL

  [Empty usages: generateKey({hash: SHA-512, length: 512, name: HMAC}, true, [\])]
    expected: FAIL


[failures_HMAC.https.any.worker.html]
  [Untitled]
    expected: FAIL

