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 Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [encrypt]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, encrypt]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, encrypt]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, encrypt]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [decrypt]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, decrypt]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, decrypt]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, decrypt]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [wrapKey]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, wrapKey]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, wrapKey]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, wrapKey]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [unwrapKey]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, unwrapKey]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, unwrapKey]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, unwrapKey]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [deriveKey]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, deriveKey]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, deriveKey]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, deriveKey]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [deriveBits]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, deriveBits]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [verify, sign, deriveBits]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-256}, true, [sign, verify, sign, sign, verify, deriveBits]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [encrypt]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, encrypt]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, encrypt]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, encrypt]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [decrypt]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, decrypt]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, decrypt]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, decrypt]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [wrapKey]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, wrapKey]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, wrapKey]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, wrapKey]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [unwrapKey]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, unwrapKey]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, unwrapKey]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, unwrapKey]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [deriveKey]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, deriveKey]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, deriveKey]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, deriveKey]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [deriveBits]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, deriveBits]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [verify, sign, deriveBits]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-384}, true, [sign, verify, sign, sign, verify, deriveBits]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [encrypt]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, encrypt]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, encrypt]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, encrypt]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [decrypt]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, decrypt]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, decrypt]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, decrypt]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [wrapKey]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, wrapKey]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, wrapKey]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, wrapKey]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [unwrapKey]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, unwrapKey]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, unwrapKey]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, unwrapKey]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [deriveKey]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, deriveKey]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, deriveKey]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, deriveKey]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [deriveBits]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, deriveBits]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [verify, sign, deriveBits]) PASS Bad usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [sign, verify, sign, sign, verify, deriveBits]) PASS Bad algorithm property: generateKey({name: ECDSA, namedCurve: P-512}, false, [sign]) PASS Bad algorithm property: generateKey({name: ECDSA, namedCurve: P-512}, true, [sign]) PASS Bad algorithm property: generateKey({name: ECDSA, namedCurve: P-512}, false, [verify, sign]) PASS Bad algorithm property: generateKey({name: ECDSA, namedCurve: P-512}, true, [verify, sign]) PASS Bad algorithm property: generateKey({name: ECDSA, namedCurve: P-512}, false, []) PASS Bad algorithm property: generateKey({name: ECDSA, namedCurve: P-512}, true, []) PASS Bad algorithm property: generateKey({name: ECDSA, namedCurve: P-512}, false, [sign, verify, sign, sign, verify]) PASS Bad algorithm property: generateKey({name: ECDSA, namedCurve: P-512}, true, [sign, verify, sign, sign, verify]) PASS Bad algorithm property: generateKey({name: ECDSA, namedCurve: Curve25519}, false, [sign]) PASS Bad algorithm property: generateKey({name: ECDSA, namedCurve: Curve25519}, true, [sign]) PASS Bad algorithm property: generateKey({name: ECDSA, namedCurve: Curve25519}, false, [verify, sign]) PASS Bad algorithm property: generateKey({name: ECDSA, namedCurve: Curve25519}, true, [verify, sign]) PASS Bad algorithm property: generateKey({name: ECDSA, namedCurve: Curve25519}, false, []) PASS Bad algorithm property: generateKey({name: ECDSA, namedCurve: Curve25519}, true, []) PASS Bad algorithm property: generateKey({name: ECDSA, namedCurve: Curve25519}, false, [sign, verify, sign, sign, verify]) PASS Bad algorithm property: generateKey({name: ECDSA, namedCurve: Curve25519}, true, [sign, verify, sign, sign, verify]) PASS Empty usages: generateKey({name: ECDSA, namedCurve: P-256}, false, []) PASS Empty usages: generateKey({name: ECDSA, namedCurve: P-256}, true, []) PASS Empty usages: generateKey({name: ECDSA, namedCurve: P-384}, false, []) PASS Empty usages: generateKey({name: ECDSA, namedCurve: P-384}, true, []) PASS Empty usages: generateKey({name: ECDSA, namedCurve: P-521}, false, []) PASS Empty usages: generateKey({name: ECDSA, namedCurve: P-521}, true, [])