Harness status: OK Found 516 tests 516 Pass Pass Bad algorithm: generateKey(AES, false, [decrypt]) Pass Bad algorithm: generateKey(AES, true, [decrypt]) Pass Bad algorithm: generateKey(AES, RED, [decrypt]) Pass Bad algorithm: generateKey(AES, 7, [decrypt]) Pass Bad algorithm: generateKey(AES, false, [sign, decrypt]) Pass Bad algorithm: generateKey(AES, true, [sign, decrypt]) Pass Bad algorithm: generateKey(AES, RED, [sign, decrypt]) Pass Bad algorithm: generateKey(AES, 7, [sign, decrypt]) Pass Bad algorithm: generateKey(AES, false, [deriveBits, sign, decrypt]) Pass Bad algorithm: generateKey(AES, true, [deriveBits, sign, decrypt]) Pass Bad algorithm: generateKey(AES, RED, [deriveBits, sign, decrypt]) Pass Bad algorithm: generateKey(AES, 7, [deriveBits, sign, decrypt]) Pass Bad algorithm: generateKey(AES, false, [deriveBits, decrypt]) Pass Bad algorithm: generateKey(AES, true, [deriveBits, decrypt]) Pass Bad algorithm: generateKey(AES, RED, [deriveBits, decrypt]) Pass Bad algorithm: generateKey(AES, 7, [deriveBits, decrypt]) Pass Bad algorithm: generateKey(AES, false, [sign]) Pass Bad algorithm: generateKey(AES, true, [sign]) Pass Bad algorithm: generateKey(AES, RED, [sign]) Pass Bad algorithm: generateKey(AES, 7, [sign]) Pass Bad algorithm: generateKey(AES, false, [deriveBits, sign]) Pass Bad algorithm: generateKey(AES, true, [deriveBits, sign]) Pass Bad algorithm: generateKey(AES, RED, [deriveBits, sign]) Pass Bad algorithm: generateKey(AES, 7, [deriveBits, sign]) Pass Bad algorithm: generateKey(AES, false, [deriveBits]) Pass Bad algorithm: generateKey(AES, true, [deriveBits]) Pass Bad algorithm: generateKey(AES, RED, [deriveBits]) Pass Bad algorithm: generateKey(AES, 7, [deriveBits]) Pass Bad algorithm: generateKey(AES, false, []) Pass Bad algorithm: generateKey(AES, true, []) Pass Bad algorithm: generateKey(AES, RED, []) Pass Bad algorithm: generateKey(AES, 7, []) Pass Bad algorithm: generateKey(AES, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) Pass Bad algorithm: generateKey(AES, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) Pass Bad algorithm: generateKey(AES, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) Pass Bad algorithm: generateKey(AES, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) Pass Bad algorithm: generateKey({name: AES}, false, [decrypt]) Pass Bad algorithm: generateKey({name: AES}, true, [decrypt]) Pass Bad algorithm: generateKey({name: AES}, RED, [decrypt]) Pass Bad algorithm: generateKey({name: AES}, 7, [decrypt]) Pass Bad algorithm: generateKey({name: AES}, false, [sign, decrypt]) Pass Bad algorithm: generateKey({name: AES}, true, [sign, decrypt]) Pass Bad algorithm: generateKey({name: AES}, RED, [sign, decrypt]) Pass Bad algorithm: generateKey({name: AES}, 7, [sign, decrypt]) Pass Bad algorithm: generateKey({name: AES}, false, [deriveBits, sign, decrypt]) Pass Bad algorithm: generateKey({name: AES}, true, [deriveBits, sign, decrypt]) Pass Bad algorithm: generateKey({name: AES}, RED, [deriveBits, sign, decrypt]) Pass Bad algorithm: generateKey({name: AES}, 7, [deriveBits, sign, decrypt]) Pass Bad algorithm: generateKey({name: AES}, false, [deriveBits, decrypt]) Pass Bad algorithm: generateKey({name: AES}, true, [deriveBits, decrypt]) Pass Bad algorithm: generateKey({name: AES}, RED, [deriveBits, decrypt]) Pass Bad algorithm: generateKey({name: AES}, 7, [deriveBits, decrypt]) Pass Bad algorithm: generateKey({name: AES}, false, [sign]) Pass Bad algorithm: generateKey({name: AES}, true, [sign]) Pass Bad algorithm: generateKey({name: AES}, RED, [sign]) Pass Bad algorithm: generateKey({name: AES}, 7, [sign]) Pass Bad algorithm: generateKey({name: AES}, false, [deriveBits, sign]) Pass Bad algorithm: generateKey({name: AES}, true, [deriveBits, sign]) Pass Bad algorithm: generateKey({name: AES}, RED, [deriveBits, sign]) Pass Bad algorithm: generateKey({name: AES}, 7, [deriveBits, sign]) Pass Bad algorithm: generateKey({name: AES}, false, [deriveBits]) Pass Bad algorithm: generateKey({name: AES}, true, [deriveBits]) Pass Bad algorithm: generateKey({name: AES}, RED, [deriveBits]) Pass Bad algorithm: generateKey({name: AES}, 7, [deriveBits]) Pass Bad algorithm: generateKey({name: AES}, false, []) Pass Bad algorithm: generateKey({name: AES}, true, []) Pass Bad algorithm: generateKey({name: AES}, RED, []) Pass Bad algorithm: generateKey({name: AES}, 7, []) Pass Bad algorithm: generateKey({name: AES}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) Pass Bad algorithm: generateKey({name: AES}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) Pass Bad algorithm: generateKey({name: AES}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) Pass Bad algorithm: generateKey({name: AES}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) Pass Bad algorithm: generateKey({length: 128, name: AES}, false, [decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES}, true, [decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES}, RED, [decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES}, 7, [decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES}, false, [sign, decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES}, true, [sign, decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES}, RED, [sign, decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES}, 7, [sign, decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits, sign, decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits, sign, decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits, sign, decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits, sign, decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits, decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits, decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits, decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits, decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES}, false, [sign]) Pass Bad algorithm: generateKey({length: 128, name: AES}, true, [sign]) Pass Bad algorithm: generateKey({length: 128, name: AES}, RED, [sign]) Pass Bad algorithm: generateKey({length: 128, name: AES}, 7, [sign]) Pass Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits, sign]) Pass Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits, sign]) Pass Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits, sign]) Pass Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits, sign]) Pass Bad algorithm: generateKey({length: 128, name: AES}, false, [deriveBits]) Pass Bad algorithm: generateKey({length: 128, name: AES}, true, [deriveBits]) Pass Bad algorithm: generateKey({length: 128, name: AES}, RED, [deriveBits]) Pass Bad algorithm: generateKey({length: 128, name: AES}, 7, [deriveBits]) Pass Bad algorithm: generateKey({length: 128, name: AES}, false, []) Pass Bad algorithm: generateKey({length: 128, name: AES}, true, []) Pass Bad algorithm: generateKey({length: 128, name: AES}, RED, []) Pass Bad algorithm: generateKey({length: 128, name: AES}, 7, []) Pass Bad algorithm: generateKey({length: 128, name: AES}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) Pass Bad algorithm: generateKey({length: 128, name: AES}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) Pass Bad algorithm: generateKey({length: 128, name: AES}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) Pass Bad algorithm: generateKey({length: 128, name: AES}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) Pass Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [sign, decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [sign, decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [sign, decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [sign, decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits, sign, decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits, sign, decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits, sign, decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits, sign, decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits, decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits, decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits, decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits, decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [sign]) Pass Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [sign]) Pass Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [sign]) Pass Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [sign]) Pass Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits, sign]) Pass Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits, sign]) Pass Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits, sign]) Pass Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits, sign]) Pass Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [deriveBits]) Pass Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [deriveBits]) Pass Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [deriveBits]) Pass Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [deriveBits]) Pass Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, []) Pass Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, []) Pass Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, []) Pass Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, []) Pass Bad algorithm: generateKey({length: 128, name: AES-CMAC}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) Pass Bad algorithm: generateKey({length: 128, name: AES-CMAC}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) Pass Bad algorithm: generateKey({length: 128, name: AES-CMAC}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) Pass Bad algorithm: generateKey({length: 128, name: AES-CMAC}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) Pass Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [sign, decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [sign, decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [sign, decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [sign, decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits, sign, decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits, sign, decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits, sign, decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits, sign, decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits, decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits, decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits, decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits, decrypt]) Pass Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [sign]) Pass Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [sign]) Pass Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [sign]) Pass Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [sign]) Pass Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits, sign]) Pass Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits, sign]) Pass Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits, sign]) Pass Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits, sign]) Pass Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [deriveBits]) Pass Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [deriveBits]) Pass Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [deriveBits]) Pass Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [deriveBits]) Pass Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, []) Pass Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, []) Pass Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, []) Pass Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, []) Pass Bad algorithm: generateKey({length: 128, name: AES-CFB}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) Pass Bad algorithm: generateKey({length: 128, name: AES-CFB}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) Pass Bad algorithm: generateKey({length: 128, name: AES-CFB}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) Pass Bad algorithm: generateKey({length: 128, name: AES-CFB}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) Pass Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [decrypt]) Pass Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [decrypt]) Pass Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [decrypt]) Pass Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [decrypt]) Pass Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [sign, decrypt]) Pass Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [sign, decrypt]) Pass Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [sign, decrypt]) Pass Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [sign, decrypt]) Pass Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, sign, decrypt]) Pass Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, sign, decrypt]) Pass Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, sign, decrypt]) Pass Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, sign, decrypt]) Pass Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, decrypt]) Pass Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, decrypt]) Pass Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, decrypt]) Pass Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, decrypt]) Pass Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [sign]) Pass Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [sign]) Pass Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [sign]) Pass Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [sign]) Pass Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, sign]) Pass Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, sign]) Pass Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, sign]) Pass Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, sign]) Pass Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits]) Pass Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits]) Pass Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits]) Pass Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits]) Pass Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, []) Pass Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, []) Pass Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, []) Pass Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, []) Pass Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) Pass Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) Pass Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) Pass Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) Pass Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt]) Pass Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt]) Pass Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt]) Pass Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt]) Pass Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign, decrypt]) Pass Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, decrypt]) Pass Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign, decrypt]) Pass Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign, decrypt]) Pass Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign, decrypt]) Pass Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign, decrypt]) Pass Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign, decrypt]) Pass Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign, decrypt]) Pass Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, decrypt]) Pass Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, decrypt]) Pass Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, decrypt]) Pass Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, decrypt]) Pass Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign]) Pass Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign]) Pass Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign]) Pass Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign]) Pass Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign]) Pass Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign]) Pass Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign]) Pass Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign]) Pass Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits]) Pass Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits]) Pass Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits]) Pass Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits]) Pass Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, []) Pass Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, []) Pass Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, []) Pass Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, []) Pass Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) Pass Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) Pass Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) Pass Bad algorithm: generateKey({hash: SHA-256, modulusLength: 2048, name: RSA, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) Pass Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt]) Pass Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt]) Pass Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt]) Pass Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt]) Pass Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign, decrypt]) Pass Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign, decrypt]) Pass Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign, decrypt]) Pass Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign, decrypt]) Pass Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign, decrypt]) Pass Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign, decrypt]) Pass Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign, decrypt]) Pass Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign, decrypt]) Pass Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, decrypt]) Pass Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, decrypt]) Pass Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, decrypt]) Pass Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, decrypt]) Pass Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [sign]) Pass Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [sign]) Pass Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [sign]) Pass Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [sign]) Pass Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits, sign]) Pass Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits, sign]) Pass Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits, sign]) Pass Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits, sign]) Pass Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [deriveBits]) Pass Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [deriveBits]) Pass Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [deriveBits]) Pass Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [deriveBits]) Pass Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, []) Pass Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, []) Pass Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, []) Pass Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, []) Pass Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) Pass Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) Pass Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) Pass Bad algorithm: generateKey({hash: SHA, modulusLength: 2048, name: RSA-PSS, publicExponent: {0: 1, 1: 0, 2: 1}}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) Pass Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [decrypt]) Pass Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [decrypt]) Pass Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [decrypt]) Pass Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [decrypt]) Pass Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [sign, decrypt]) Pass Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [sign, decrypt]) Pass Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [sign, decrypt]) Pass Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [sign, decrypt]) Pass Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits, sign, decrypt]) Pass Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits, sign, decrypt]) Pass Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits, sign, decrypt]) Pass Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits, sign, decrypt]) Pass Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits, decrypt]) Pass Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits, decrypt]) Pass Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits, decrypt]) Pass Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits, decrypt]) Pass Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [sign]) Pass Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [sign]) Pass Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [sign]) Pass Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [sign]) Pass Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits, sign]) Pass Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits, sign]) Pass Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits, sign]) Pass Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits, sign]) Pass Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [deriveBits]) Pass Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [deriveBits]) Pass Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [deriveBits]) Pass Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [deriveBits]) Pass Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, []) Pass Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, []) Pass Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, []) Pass Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, []) Pass Bad algorithm: generateKey({name: EC, namedCurve: P521}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) Pass Bad algorithm: generateKey({name: EC, namedCurve: P521}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) Pass Bad algorithm: generateKey({name: EC, namedCurve: P521}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) Pass Bad algorithm: generateKey({name: EC, namedCurve: P521}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) Pass Empty algorithm: generateKey({}, false, [decrypt]) Pass Empty algorithm: generateKey({}, true, [decrypt]) Pass Empty algorithm: generateKey({}, RED, [decrypt]) Pass Empty algorithm: generateKey({}, 7, [decrypt]) Pass Empty algorithm: generateKey({}, false, [sign, decrypt]) Pass Empty algorithm: generateKey({}, true, [sign, decrypt]) Pass Empty algorithm: generateKey({}, RED, [sign, decrypt]) Pass Empty algorithm: generateKey({}, 7, [sign, decrypt]) Pass Empty algorithm: generateKey({}, false, [deriveBits, sign, decrypt]) Pass Empty algorithm: generateKey({}, true, [deriveBits, sign, decrypt]) Pass Empty algorithm: generateKey({}, RED, [deriveBits, sign, decrypt]) Pass Empty algorithm: generateKey({}, 7, [deriveBits, sign, decrypt]) Pass Empty algorithm: generateKey({}, false, [deriveBits, decrypt]) Pass Empty algorithm: generateKey({}, true, [deriveBits, decrypt]) Pass Empty algorithm: generateKey({}, RED, [deriveBits, decrypt]) Pass Empty algorithm: generateKey({}, 7, [deriveBits, decrypt]) Pass Empty algorithm: generateKey({}, false, [sign]) Pass Empty algorithm: generateKey({}, true, [sign]) Pass Empty algorithm: generateKey({}, RED, [sign]) Pass Empty algorithm: generateKey({}, 7, [sign]) Pass Empty algorithm: generateKey({}, false, [deriveBits, sign]) Pass Empty algorithm: generateKey({}, true, [deriveBits, sign]) Pass Empty algorithm: generateKey({}, RED, [deriveBits, sign]) Pass Empty algorithm: generateKey({}, 7, [deriveBits, sign]) Pass Empty algorithm: generateKey({}, false, [deriveBits]) Pass Empty algorithm: generateKey({}, true, [deriveBits]) Pass Empty algorithm: generateKey({}, RED, [deriveBits]) Pass Empty algorithm: generateKey({}, 7, [deriveBits]) Pass Empty algorithm: generateKey({}, false, []) Pass Empty algorithm: generateKey({}, true, []) Pass Empty algorithm: generateKey({}, RED, []) Pass Empty algorithm: generateKey({}, 7, []) Pass Empty algorithm: generateKey({}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) Pass Empty algorithm: generateKey({}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) Pass Empty algorithm: generateKey({}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) Pass Empty algorithm: generateKey({}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits]) Pass Bad usages: generateKey({length: 128, name: AES-KW}, true, [encrypt]) Pass Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, encrypt]) Pass Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey, encrypt]) Pass Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, encrypt]) Pass Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, encrypt]) Pass Bad usages: generateKey({length: 128, name: AES-KW}, true, [decrypt]) Pass Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, decrypt]) Pass Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey, decrypt]) Pass Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, decrypt]) Pass Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, decrypt]) Pass Bad usages: generateKey({length: 128, name: AES-KW}, true, [sign]) Pass Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, sign]) Pass Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey, sign]) Pass Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, sign]) Pass Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, sign]) Pass Bad usages: generateKey({length: 128, name: AES-KW}, true, [verify]) Pass Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, verify]) Pass Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey, verify]) Pass Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, verify]) Pass Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, verify]) Pass Bad usages: generateKey({length: 128, name: AES-KW}, true, [deriveKey]) Pass Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, deriveKey]) Pass Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey, deriveKey]) Pass Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, deriveKey]) Pass Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, deriveKey]) Pass Bad usages: generateKey({length: 128, name: AES-KW}, true, [deriveBits]) Pass Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, deriveBits]) Pass Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, wrapKey, deriveBits]) Pass Bad usages: generateKey({length: 128, name: AES-KW}, true, [unwrapKey, deriveBits]) Pass Bad usages: generateKey({length: 128, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, deriveBits]) Pass Bad usages: generateKey({length: 192, name: AES-KW}, true, [encrypt]) Pass Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, encrypt]) Pass Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey, encrypt]) Pass Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, encrypt]) Pass Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, encrypt]) Pass Bad usages: generateKey({length: 192, name: AES-KW}, true, [decrypt]) Pass Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, decrypt]) Pass Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey, decrypt]) Pass Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, decrypt]) Pass Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, decrypt]) Pass Bad usages: generateKey({length: 192, name: AES-KW}, true, [sign]) Pass Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, sign]) Pass Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey, sign]) Pass Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, sign]) Pass Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, sign]) Pass Bad usages: generateKey({length: 192, name: AES-KW}, true, [verify]) Pass Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, verify]) Pass Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey, verify]) Pass Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, verify]) Pass Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, verify]) Pass Bad usages: generateKey({length: 192, name: AES-KW}, true, [deriveKey]) Pass Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, deriveKey]) Pass Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey, deriveKey]) Pass Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, deriveKey]) Pass Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, deriveKey]) Pass Bad usages: generateKey({length: 192, name: AES-KW}, true, [deriveBits]) Pass Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, deriveBits]) Pass Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, wrapKey, deriveBits]) Pass Bad usages: generateKey({length: 192, name: AES-KW}, true, [unwrapKey, deriveBits]) Pass Bad usages: generateKey({length: 192, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, deriveBits]) Pass Bad usages: generateKey({length: 256, name: AES-KW}, true, [encrypt]) Pass Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, encrypt]) Pass Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey, encrypt]) Pass Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, encrypt]) Pass Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, encrypt]) Pass Bad usages: generateKey({length: 256, name: AES-KW}, true, [decrypt]) Pass Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, decrypt]) Pass Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey, decrypt]) Pass Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, decrypt]) Pass Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, decrypt]) Pass Bad usages: generateKey({length: 256, name: AES-KW}, true, [sign]) Pass Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, sign]) Pass Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey, sign]) Pass Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, sign]) Pass Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, sign]) Pass Bad usages: generateKey({length: 256, name: AES-KW}, true, [verify]) Pass Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, verify]) Pass Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey, verify]) Pass Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, verify]) Pass Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, verify]) Pass Bad usages: generateKey({length: 256, name: AES-KW}, true, [deriveKey]) Pass Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, deriveKey]) Pass Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey, deriveKey]) Pass Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, deriveKey]) Pass Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, deriveKey]) Pass Bad usages: generateKey({length: 256, name: AES-KW}, true, [deriveBits]) Pass Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, deriveBits]) Pass Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, wrapKey, deriveBits]) Pass Bad usages: generateKey({length: 256, name: AES-KW}, true, [unwrapKey, deriveBits]) Pass Bad usages: generateKey({length: 256, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey, deriveBits]) Pass Bad algorithm property: generateKey({length: 64, name: AES-KW}, false, [wrapKey]) Pass Bad algorithm property: generateKey({length: 64, name: AES-KW}, true, [wrapKey]) Pass Bad algorithm property: generateKey({length: 64, name: AES-KW}, false, [unwrapKey, wrapKey]) Pass Bad algorithm property: generateKey({length: 64, name: AES-KW}, true, [unwrapKey, wrapKey]) Pass Bad algorithm property: generateKey({length: 64, name: AES-KW}, false, [unwrapKey]) Pass Bad algorithm property: generateKey({length: 64, name: AES-KW}, true, [unwrapKey]) Pass Bad algorithm property: generateKey({length: 64, name: AES-KW}, false, []) Pass Bad algorithm property: generateKey({length: 64, name: AES-KW}, true, []) Pass Bad algorithm property: generateKey({length: 64, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey]) Pass Bad algorithm property: generateKey({length: 64, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey]) Pass Bad algorithm property: generateKey({length: 127, name: AES-KW}, false, [wrapKey]) Pass Bad algorithm property: generateKey({length: 127, name: AES-KW}, true, [wrapKey]) Pass Bad algorithm property: generateKey({length: 127, name: AES-KW}, false, [unwrapKey, wrapKey]) Pass Bad algorithm property: generateKey({length: 127, name: AES-KW}, true, [unwrapKey, wrapKey]) Pass Bad algorithm property: generateKey({length: 127, name: AES-KW}, false, [unwrapKey]) Pass Bad algorithm property: generateKey({length: 127, name: AES-KW}, true, [unwrapKey]) Pass Bad algorithm property: generateKey({length: 127, name: AES-KW}, false, []) Pass Bad algorithm property: generateKey({length: 127, name: AES-KW}, true, []) Pass Bad algorithm property: generateKey({length: 127, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey]) Pass Bad algorithm property: generateKey({length: 127, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey]) Pass Bad algorithm property: generateKey({length: 129, name: AES-KW}, false, [wrapKey]) Pass Bad algorithm property: generateKey({length: 129, name: AES-KW}, true, [wrapKey]) Pass Bad algorithm property: generateKey({length: 129, name: AES-KW}, false, [unwrapKey, wrapKey]) Pass Bad algorithm property: generateKey({length: 129, name: AES-KW}, true, [unwrapKey, wrapKey]) Pass Bad algorithm property: generateKey({length: 129, name: AES-KW}, false, [unwrapKey]) Pass Bad algorithm property: generateKey({length: 129, name: AES-KW}, true, [unwrapKey]) Pass Bad algorithm property: generateKey({length: 129, name: AES-KW}, false, []) Pass Bad algorithm property: generateKey({length: 129, name: AES-KW}, true, []) Pass Bad algorithm property: generateKey({length: 129, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey]) Pass Bad algorithm property: generateKey({length: 129, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey]) Pass Bad algorithm property: generateKey({length: 255, name: AES-KW}, false, [wrapKey]) Pass Bad algorithm property: generateKey({length: 255, name: AES-KW}, true, [wrapKey]) Pass Bad algorithm property: generateKey({length: 255, name: AES-KW}, false, [unwrapKey, wrapKey]) Pass Bad algorithm property: generateKey({length: 255, name: AES-KW}, true, [unwrapKey, wrapKey]) Pass Bad algorithm property: generateKey({length: 255, name: AES-KW}, false, [unwrapKey]) Pass Bad algorithm property: generateKey({length: 255, name: AES-KW}, true, [unwrapKey]) Pass Bad algorithm property: generateKey({length: 255, name: AES-KW}, false, []) Pass Bad algorithm property: generateKey({length: 255, name: AES-KW}, true, []) Pass Bad algorithm property: generateKey({length: 255, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey]) Pass Bad algorithm property: generateKey({length: 255, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey]) Pass Bad algorithm property: generateKey({length: 257, name: AES-KW}, false, [wrapKey]) Pass Bad algorithm property: generateKey({length: 257, name: AES-KW}, true, [wrapKey]) Pass Bad algorithm property: generateKey({length: 257, name: AES-KW}, false, [unwrapKey, wrapKey]) Pass Bad algorithm property: generateKey({length: 257, name: AES-KW}, true, [unwrapKey, wrapKey]) Pass Bad algorithm property: generateKey({length: 257, name: AES-KW}, false, [unwrapKey]) Pass Bad algorithm property: generateKey({length: 257, name: AES-KW}, true, [unwrapKey]) Pass Bad algorithm property: generateKey({length: 257, name: AES-KW}, false, []) Pass Bad algorithm property: generateKey({length: 257, name: AES-KW}, true, []) Pass Bad algorithm property: generateKey({length: 257, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey]) Pass Bad algorithm property: generateKey({length: 257, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey]) Pass Bad algorithm property: generateKey({length: 512, name: AES-KW}, false, [wrapKey]) Pass Bad algorithm property: generateKey({length: 512, name: AES-KW}, true, [wrapKey]) Pass Bad algorithm property: generateKey({length: 512, name: AES-KW}, false, [unwrapKey, wrapKey]) Pass Bad algorithm property: generateKey({length: 512, name: AES-KW}, true, [unwrapKey, wrapKey]) Pass Bad algorithm property: generateKey({length: 512, name: AES-KW}, false, [unwrapKey]) Pass Bad algorithm property: generateKey({length: 512, name: AES-KW}, true, [unwrapKey]) Pass Bad algorithm property: generateKey({length: 512, name: AES-KW}, false, []) Pass Bad algorithm property: generateKey({length: 512, name: AES-KW}, true, []) Pass Bad algorithm property: generateKey({length: 512, name: AES-KW}, false, [wrapKey, unwrapKey, wrapKey, unwrapKey]) Pass Bad algorithm property: generateKey({length: 512, name: AES-KW}, true, [wrapKey, unwrapKey, wrapKey, unwrapKey]) Pass Empty usages: generateKey({length: 128, name: AES-KW}, false, []) Pass Empty usages: generateKey({length: 128, name: AES-KW}, true, []) Pass Empty usages: generateKey({length: 192, name: AES-KW}, false, []) Pass Empty usages: generateKey({length: 192, name: AES-KW}, true, []) Pass Empty usages: generateKey({length: 256, name: AES-KW}, false, []) Pass Empty usages: generateKey({length: 256, name: AES-KW}, true, [])