Tests: Create imported WPT test output from completion callback data

This allows us to disable test output, which performs expensive assert
tracking. This was making our imported tests run significantly slower
than tests run via `WPT.sh`.

Formatting the output ourselves also allows us to remove unnecessary
information from the test output.

This commit also rebaselines all existing imported WPT tests to follow
the new format.
This commit is contained in:
Tim Ledbetter 2024-12-02 18:45:22 +00:00 committed by Tim Ledbetter
commit 61ae388140
Notes: github-actions[bot] 2024-12-02 22:42:57 +00:00
1036 changed files with 17493 additions and 22639 deletions

View file

@ -1,29 +1,24 @@
Summary
Harness status: OK
Rerun
Found 18 tests
17 Pass
1 Fail
Details
Result Test Name MessagePass setup - define tests
Pass X448 key derivation checks for all-zero value result with a key of order 0
Pass X448 key derivation checks for all-zero value result with a key of order 1
Pass X448 key derivation checks for all-zero value result with a key of order p-1 (order 2)
Pass X448 key derivation checks for all-zero value result with a key of order p (=0, order 4)
Pass X448 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1)
Pass X448 good parameters
Pass X448 mixed case parameters
Pass X448 short result
Fail X448 non-multiple of 8 bits
Pass X448 missing public property
Pass X448 public property of algorithm is not a CryptoKey
Pass X448 mismatched algorithms
Pass X448 no deriveBits usage for base key
Pass X448 base key is not a private key
Pass X448 public property value is a private key
Pass X448 public property value is a secret key
Pass X448 asking for too many bits
Pass setup - define tests
Pass X448 key derivation checks for all-zero value result with a key of order 0
Pass X448 key derivation checks for all-zero value result with a key of order 1
Pass X448 key derivation checks for all-zero value result with a key of order p-1 (order 2)
Pass X448 key derivation checks for all-zero value result with a key of order p (=0, order 4)
Pass X448 key derivation checks for all-zero value result with a key of order p+1 (=1, order 1)
Pass X448 good parameters
Pass X448 mixed case parameters
Pass X448 short result
Fail X448 non-multiple of 8 bits
Pass X448 missing public property
Pass X448 public property of algorithm is not a CryptoKey
Pass X448 mismatched algorithms
Pass X448 no deriveBits usage for base key
Pass X448 base key is not a private key
Pass X448 public property value is a private key
Pass X448 public property value is a secret key
Pass X448 asking for too many bits

View file

@ -1,51 +1,46 @@
Summary
Harness status: OK
Rerun
Found 40 tests
30 Pass
10 Fail
Details
Result Test Name MessagePass setup - define tests
Fail P-521 good parameters
Fail P-521 mixed case parameters
Fail P-521 short result
Fail P-521 non-multiple of 8 bits
Pass P-521 missing public curve
Pass P-521 public property of algorithm is not a CryptoKey
Pass P-521 mismatched curves
Fail P-521 public property of algorithm is not an ECDSA public key Cannot access property "publicKey" on null object "ecdsaKeyPairs[namedCurve]"
Pass P-521 no deriveBits usage for base key
Pass P-521 base key is not a private key
Pass P-521 public property value is a private key
Pass P-521 public property value is a secret key
Fail P-521 asking for too many bits
Pass P-256 good parameters
Pass P-256 mixed case parameters
Pass P-256 short result
Fail P-256 non-multiple of 8 bits
Pass P-256 missing public curve
Pass P-256 public property of algorithm is not a CryptoKey
Pass P-256 mismatched curves
Pass P-256 public property of algorithm is not an ECDSA public key
Pass P-256 no deriveBits usage for base key
Pass P-256 base key is not a private key
Pass P-256 public property value is a private key
Pass P-256 public property value is a secret key
Fail P-256 asking for too many bits
Pass P-384 good parameters
Pass P-384 mixed case parameters
Pass P-384 short result
Fail P-384 non-multiple of 8 bits
Pass P-384 missing public curve
Pass P-384 public property of algorithm is not a CryptoKey
Pass P-384 mismatched curves
Pass P-384 public property of algorithm is not an ECDSA public key
Pass P-384 no deriveBits usage for base key
Pass P-384 base key is not a private key
Pass P-384 public property value is a private key
Pass P-384 public property value is a secret key
Fail P-384 asking for too many bits
Pass setup - define tests
Fail P-521 good parameters
Fail P-521 mixed case parameters
Fail P-521 short result
Fail P-521 non-multiple of 8 bits
Pass P-521 missing public curve
Pass P-521 public property of algorithm is not a CryptoKey
Pass P-521 mismatched curves
Fail P-521 public property of algorithm is not an ECDSA public key
Pass P-521 no deriveBits usage for base key
Pass P-521 base key is not a private key
Pass P-521 public property value is a private key
Pass P-521 public property value is a secret key
Fail P-521 asking for too many bits
Pass P-256 good parameters
Pass P-256 mixed case parameters
Pass P-256 short result
Fail P-256 non-multiple of 8 bits
Pass P-256 missing public curve
Pass P-256 public property of algorithm is not a CryptoKey
Pass P-256 mismatched curves
Pass P-256 public property of algorithm is not an ECDSA public key
Pass P-256 no deriveBits usage for base key
Pass P-256 base key is not a private key
Pass P-256 public property value is a private key
Pass P-256 public property value is a secret key
Fail P-256 asking for too many bits
Pass P-384 good parameters
Pass P-384 mixed case parameters
Pass P-384 short result
Fail P-384 non-multiple of 8 bits
Pass P-384 missing public curve
Pass P-384 public property of algorithm is not a CryptoKey
Pass P-384 mismatched curves
Pass P-384 public property of algorithm is not an ECDSA public key
Pass P-384 no deriveBits usage for base key
Pass P-384 base key is not a private key
Pass P-384 public property value is a private key
Pass P-384 public property value is a secret key
Fail P-384 asking for too many bits

View file

@ -1,42 +1,37 @@
Summary
Harness status: OK
Rerun
Found 31 tests
28 Pass
3 Fail
Details
Result Test Name MessagePass setup - define tests
Fail P-521 good parameters
Fail P-521 mixed case parameters
Pass P-521 missing public curve
Pass P-521 public property of algorithm is not a CryptoKey
Pass P-521 mismatched curves
Fail P-521 public property of algorithm is not an ECDSA public key Cannot access property "publicKey" on null object "ecdsaKeyPairs[namedCurve]"
Pass P-521 no deriveKey usage for base key
Pass P-521 base key is not a private key
Pass P-521 public property value is a private key
Pass P-521 public property value is a secret key
Pass P-256 good parameters
Pass P-256 mixed case parameters
Pass P-256 missing public curve
Pass P-256 public property of algorithm is not a CryptoKey
Pass P-256 mismatched curves
Pass P-256 public property of algorithm is not an ECDSA public key
Pass P-256 no deriveKey usage for base key
Pass P-256 base key is not a private key
Pass P-256 public property value is a private key
Pass P-256 public property value is a secret key
Pass P-384 good parameters
Pass P-384 mixed case parameters
Pass P-384 missing public curve
Pass P-384 public property of algorithm is not a CryptoKey
Pass P-384 mismatched curves
Pass P-384 public property of algorithm is not an ECDSA public key
Pass P-384 no deriveKey usage for base key
Pass P-384 base key is not a private key
Pass P-384 public property value is a private key
Pass P-384 public property value is a secret key
Pass setup - define tests
Fail P-521 good parameters
Fail P-521 mixed case parameters
Pass P-521 missing public curve
Pass P-521 public property of algorithm is not a CryptoKey
Pass P-521 mismatched curves
Fail P-521 public property of algorithm is not an ECDSA public key
Pass P-521 no deriveKey usage for base key
Pass P-521 base key is not a private key
Pass P-521 public property value is a private key
Pass P-521 public property value is a secret key
Pass P-256 good parameters
Pass P-256 mixed case parameters
Pass P-256 missing public curve
Pass P-256 public property of algorithm is not a CryptoKey
Pass P-256 mismatched curves
Pass P-256 public property of algorithm is not an ECDSA public key
Pass P-256 no deriveKey usage for base key
Pass P-256 base key is not a private key
Pass P-256 public property value is a private key
Pass P-256 public property value is a secret key
Pass P-384 good parameters
Pass P-384 mixed case parameters
Pass P-384 missing public curve
Pass P-384 public property of algorithm is not a CryptoKey
Pass P-384 mismatched curves
Pass P-384 public property of algorithm is not an ECDSA public key
Pass P-384 no deriveKey usage for base key
Pass P-384 base key is not a private key
Pass P-384 public property value is a private key
Pass P-384 public property value is a secret key

View file

@ -1,487 +1,482 @@
Summary
Harness status: OK
Rerun
Found 476 tests
446 Pass
30 Fail
Details
Result Test Name MessagePass 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])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [sign, decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [sign, decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [sign, decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [sign, decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, sign, decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, sign, decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, sign, decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, sign, decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, decrypt])
Fail 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])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, sign])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, sign])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, sign])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, sign])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits])
Fail 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, [])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits])
Fail 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({name: ECDH, namedCurve: P-256}, true, [encrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveKey, encrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveBits, deriveKey, encrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveBits, encrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, encrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [decrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveKey, decrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveBits, deriveKey, decrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveBits, decrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, decrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [sign])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveKey, sign])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveBits, deriveKey, sign])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveBits, sign])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, sign])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [verify])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveKey, verify])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveBits, deriveKey, verify])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveBits, verify])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, verify])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [wrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveKey, wrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveBits, deriveKey, wrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveBits, wrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, wrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [unwrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveKey, unwrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveBits, deriveKey, unwrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveBits, unwrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, unwrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [encrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveKey, encrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveBits, deriveKey, encrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveBits, encrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, encrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [decrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveKey, decrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveBits, deriveKey, decrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveBits, decrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, decrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [sign])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveKey, sign])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveBits, deriveKey, sign])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveBits, sign])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, sign])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [verify])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveKey, verify])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveBits, deriveKey, verify])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveBits, verify])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, verify])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [wrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveKey, wrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveBits, deriveKey, wrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveBits, wrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, wrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [unwrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveKey, unwrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveBits, deriveKey, unwrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveBits, unwrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, unwrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [encrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveKey, encrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey, encrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveBits, encrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, encrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [decrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveKey, decrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey, decrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveBits, decrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, decrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [sign])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveKey, sign])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey, sign])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveBits, sign])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, sign])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [verify])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveKey, verify])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey, verify])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveBits, verify])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, verify])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [wrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveKey, wrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey, wrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveBits, wrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, wrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [unwrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveKey, unwrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey, unwrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveBits, unwrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, unwrapKey])
Pass Bad algorithm property: generateKey({name: ECDH, namedCurve: P-512}, false, [deriveKey])
Pass Bad algorithm property: generateKey({name: ECDH, namedCurve: P-512}, true, [deriveKey])
Pass Bad algorithm property: generateKey({name: ECDH, namedCurve: P-512}, false, [deriveBits, deriveKey])
Pass Bad algorithm property: generateKey({name: ECDH, namedCurve: P-512}, true, [deriveBits, deriveKey])
Pass Bad algorithm property: generateKey({name: ECDH, namedCurve: P-512}, false, [deriveBits])
Pass Bad algorithm property: generateKey({name: ECDH, namedCurve: P-512}, true, [deriveBits])
Pass Bad algorithm property: generateKey({name: ECDH, namedCurve: P-512}, false, [])
Pass Bad algorithm property: generateKey({name: ECDH, namedCurve: P-512}, true, [])
Pass Bad algorithm property: generateKey({name: ECDH, namedCurve: P-512}, false, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Pass Bad algorithm property: generateKey({name: ECDH, namedCurve: P-512}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Pass Bad algorithm property: generateKey({name: ECDH, namedCurve: Curve25519}, false, [deriveKey])
Pass Bad algorithm property: generateKey({name: ECDH, namedCurve: Curve25519}, true, [deriveKey])
Pass Bad algorithm property: generateKey({name: ECDH, namedCurve: Curve25519}, false, [deriveBits, deriveKey])
Pass Bad algorithm property: generateKey({name: ECDH, namedCurve: Curve25519}, true, [deriveBits, deriveKey])
Pass Bad algorithm property: generateKey({name: ECDH, namedCurve: Curve25519}, false, [deriveBits])
Pass Bad algorithm property: generateKey({name: ECDH, namedCurve: Curve25519}, true, [deriveBits])
Pass Bad algorithm property: generateKey({name: ECDH, namedCurve: Curve25519}, false, [])
Pass Bad algorithm property: generateKey({name: ECDH, namedCurve: Curve25519}, true, [])
Pass Bad algorithm property: generateKey({name: ECDH, namedCurve: Curve25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Pass Bad algorithm property: generateKey({name: ECDH, namedCurve: Curve25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Pass Empty usages: generateKey({name: ECDH, namedCurve: P-256}, false, [])
Pass Empty usages: generateKey({name: ECDH, namedCurve: P-256}, true, [])
Pass Empty usages: generateKey({name: ECDH, namedCurve: P-384}, false, [])
Pass Empty usages: generateKey({name: ECDH, namedCurve: P-384}, true, [])
Fail Empty usages: generateKey({name: ECDH, namedCurve: P-521}, false, [])
Fail Empty usages: generateKey({name: ECDH, namedCurve: P-521}, true, [])
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])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [sign, decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [sign, decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [sign, decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [sign, decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, sign, decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, sign, decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, sign, decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, sign, decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, decrypt])
Fail 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])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, sign])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, sign])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, sign])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, sign])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits])
Fail 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, [])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits])
Fail 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({name: ECDH, namedCurve: P-256}, true, [encrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveKey, encrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveBits, deriveKey, encrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveBits, encrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, encrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [decrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveKey, decrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveBits, deriveKey, decrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveBits, decrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, decrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [sign])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveKey, sign])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveBits, deriveKey, sign])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveBits, sign])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, sign])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [verify])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveKey, verify])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveBits, deriveKey, verify])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveBits, verify])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, verify])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [wrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveKey, wrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveBits, deriveKey, wrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveBits, wrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, wrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [unwrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveKey, unwrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveBits, deriveKey, unwrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveBits, unwrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, unwrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [encrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveKey, encrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveBits, deriveKey, encrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveBits, encrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, encrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [decrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveKey, decrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveBits, deriveKey, decrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveBits, decrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, decrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [sign])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveKey, sign])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveBits, deriveKey, sign])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveBits, sign])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, sign])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [verify])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveKey, verify])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveBits, deriveKey, verify])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveBits, verify])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, verify])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [wrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveKey, wrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveBits, deriveKey, wrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveBits, wrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, wrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [unwrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveKey, unwrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveBits, deriveKey, unwrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveBits, unwrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, unwrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [encrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveKey, encrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey, encrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveBits, encrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, encrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [decrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveKey, decrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey, decrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveBits, decrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, decrypt])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [sign])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveKey, sign])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey, sign])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveBits, sign])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, sign])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [verify])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveKey, verify])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey, verify])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveBits, verify])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, verify])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [wrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveKey, wrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey, wrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveBits, wrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, wrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [unwrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveKey, unwrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey, unwrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveBits, unwrapKey])
Pass Bad usages: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, unwrapKey])
Pass Bad algorithm property: generateKey({name: ECDH, namedCurve: P-512}, false, [deriveKey])
Pass Bad algorithm property: generateKey({name: ECDH, namedCurve: P-512}, true, [deriveKey])
Pass Bad algorithm property: generateKey({name: ECDH, namedCurve: P-512}, false, [deriveBits, deriveKey])
Pass Bad algorithm property: generateKey({name: ECDH, namedCurve: P-512}, true, [deriveBits, deriveKey])
Pass Bad algorithm property: generateKey({name: ECDH, namedCurve: P-512}, false, [deriveBits])
Pass Bad algorithm property: generateKey({name: ECDH, namedCurve: P-512}, true, [deriveBits])
Pass Bad algorithm property: generateKey({name: ECDH, namedCurve: P-512}, false, [])
Pass Bad algorithm property: generateKey({name: ECDH, namedCurve: P-512}, true, [])
Pass Bad algorithm property: generateKey({name: ECDH, namedCurve: P-512}, false, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Pass Bad algorithm property: generateKey({name: ECDH, namedCurve: P-512}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Pass Bad algorithm property: generateKey({name: ECDH, namedCurve: Curve25519}, false, [deriveKey])
Pass Bad algorithm property: generateKey({name: ECDH, namedCurve: Curve25519}, true, [deriveKey])
Pass Bad algorithm property: generateKey({name: ECDH, namedCurve: Curve25519}, false, [deriveBits, deriveKey])
Pass Bad algorithm property: generateKey({name: ECDH, namedCurve: Curve25519}, true, [deriveBits, deriveKey])
Pass Bad algorithm property: generateKey({name: ECDH, namedCurve: Curve25519}, false, [deriveBits])
Pass Bad algorithm property: generateKey({name: ECDH, namedCurve: Curve25519}, true, [deriveBits])
Pass Bad algorithm property: generateKey({name: ECDH, namedCurve: Curve25519}, false, [])
Pass Bad algorithm property: generateKey({name: ECDH, namedCurve: Curve25519}, true, [])
Pass Bad algorithm property: generateKey({name: ECDH, namedCurve: Curve25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Pass Bad algorithm property: generateKey({name: ECDH, namedCurve: Curve25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Pass Empty usages: generateKey({name: ECDH, namedCurve: P-256}, false, [])
Pass Empty usages: generateKey({name: ECDH, namedCurve: P-256}, true, [])
Pass Empty usages: generateKey({name: ECDH, namedCurve: P-384}, false, [])
Pass Empty usages: generateKey({name: ECDH, namedCurve: P-384}, true, [])
Fail Empty usages: generateKey({name: ECDH, namedCurve: P-521}, false, [])
Fail Empty usages: generateKey({name: ECDH, namedCurve: P-521}, true, [])

View file

@ -1,403 +1,398 @@
Summary
Harness status: OK
Rerun
Found 392 tests
364 Pass
28 Fail
Details
Result Test Name MessagePass 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])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [sign, decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [sign, decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [sign, decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [sign, decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, sign, decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, sign, decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, sign, decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, sign, decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, decrypt])
Fail 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])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, sign])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, sign])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, sign])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, sign])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits])
Fail 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, [])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits])
Fail 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({name: X448}, true, [encrypt])
Pass Bad usages: generateKey({name: X448}, true, [deriveKey, encrypt])
Pass Bad usages: generateKey({name: X448}, true, [deriveBits, deriveKey, encrypt])
Pass Bad usages: generateKey({name: X448}, true, [deriveBits, encrypt])
Pass Bad usages: generateKey({name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, encrypt])
Pass Bad usages: generateKey({name: X448}, true, [decrypt])
Pass Bad usages: generateKey({name: X448}, true, [deriveKey, decrypt])
Pass Bad usages: generateKey({name: X448}, true, [deriveBits, deriveKey, decrypt])
Pass Bad usages: generateKey({name: X448}, true, [deriveBits, decrypt])
Pass Bad usages: generateKey({name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, decrypt])
Pass Bad usages: generateKey({name: X448}, true, [sign])
Pass Bad usages: generateKey({name: X448}, true, [deriveKey, sign])
Pass Bad usages: generateKey({name: X448}, true, [deriveBits, deriveKey, sign])
Pass Bad usages: generateKey({name: X448}, true, [deriveBits, sign])
Pass Bad usages: generateKey({name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, sign])
Pass Bad usages: generateKey({name: X448}, true, [verify])
Pass Bad usages: generateKey({name: X448}, true, [deriveKey, verify])
Pass Bad usages: generateKey({name: X448}, true, [deriveBits, deriveKey, verify])
Pass Bad usages: generateKey({name: X448}, true, [deriveBits, verify])
Pass Bad usages: generateKey({name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, verify])
Pass Bad usages: generateKey({name: X448}, true, [wrapKey])
Pass Bad usages: generateKey({name: X448}, true, [deriveKey, wrapKey])
Pass Bad usages: generateKey({name: X448}, true, [deriveBits, deriveKey, wrapKey])
Pass Bad usages: generateKey({name: X448}, true, [deriveBits, wrapKey])
Pass Bad usages: generateKey({name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, wrapKey])
Pass Bad usages: generateKey({name: X448}, true, [unwrapKey])
Pass Bad usages: generateKey({name: X448}, true, [deriveKey, unwrapKey])
Pass Bad usages: generateKey({name: X448}, true, [deriveBits, deriveKey, unwrapKey])
Pass Bad usages: generateKey({name: X448}, true, [deriveBits, unwrapKey])
Pass Bad usages: generateKey({name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, unwrapKey])
Pass Empty usages: generateKey({name: X448}, false, [])
Pass Empty usages: generateKey({name: X448}, true, [])
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])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [sign, decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [sign, decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [sign, decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [sign, decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, sign, decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, sign, decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, sign, decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, sign, decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, decrypt])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, decrypt])
Fail 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])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits, sign])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits, sign])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits, sign])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, 7, [deriveBits, sign])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [deriveBits])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [deriveBits])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [deriveBits])
Fail 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, [])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, false, [decrypt, sign, deriveBits, decrypt, sign, deriveBits])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits])
Fail Bad algorithm: generateKey({hash: MD5, name: HMAC}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits])
Fail 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({name: X448}, true, [encrypt])
Pass Bad usages: generateKey({name: X448}, true, [deriveKey, encrypt])
Pass Bad usages: generateKey({name: X448}, true, [deriveBits, deriveKey, encrypt])
Pass Bad usages: generateKey({name: X448}, true, [deriveBits, encrypt])
Pass Bad usages: generateKey({name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, encrypt])
Pass Bad usages: generateKey({name: X448}, true, [decrypt])
Pass Bad usages: generateKey({name: X448}, true, [deriveKey, decrypt])
Pass Bad usages: generateKey({name: X448}, true, [deriveBits, deriveKey, decrypt])
Pass Bad usages: generateKey({name: X448}, true, [deriveBits, decrypt])
Pass Bad usages: generateKey({name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, decrypt])
Pass Bad usages: generateKey({name: X448}, true, [sign])
Pass Bad usages: generateKey({name: X448}, true, [deriveKey, sign])
Pass Bad usages: generateKey({name: X448}, true, [deriveBits, deriveKey, sign])
Pass Bad usages: generateKey({name: X448}, true, [deriveBits, sign])
Pass Bad usages: generateKey({name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, sign])
Pass Bad usages: generateKey({name: X448}, true, [verify])
Pass Bad usages: generateKey({name: X448}, true, [deriveKey, verify])
Pass Bad usages: generateKey({name: X448}, true, [deriveBits, deriveKey, verify])
Pass Bad usages: generateKey({name: X448}, true, [deriveBits, verify])
Pass Bad usages: generateKey({name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, verify])
Pass Bad usages: generateKey({name: X448}, true, [wrapKey])
Pass Bad usages: generateKey({name: X448}, true, [deriveKey, wrapKey])
Pass Bad usages: generateKey({name: X448}, true, [deriveBits, deriveKey, wrapKey])
Pass Bad usages: generateKey({name: X448}, true, [deriveBits, wrapKey])
Pass Bad usages: generateKey({name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, wrapKey])
Pass Bad usages: generateKey({name: X448}, true, [unwrapKey])
Pass Bad usages: generateKey({name: X448}, true, [deriveKey, unwrapKey])
Pass Bad usages: generateKey({name: X448}, true, [deriveBits, deriveKey, unwrapKey])
Pass Bad usages: generateKey({name: X448}, true, [deriveBits, unwrapKey])
Pass Bad usages: generateKey({name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits, unwrapKey])
Pass Empty usages: generateKey({name: X448}, false, [])
Pass Empty usages: generateKey({name: X448}, true, [])

View file

@ -1,83 +1,78 @@
Summary
Harness status: OK
Rerun
Found 72 tests
48 Pass
24 Fail
Details
Result Test Name MessagePass Success: generateKey({name: ECDH, namedCurve: P-256}, false, [deriveKey])
Pass Success: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveKey])
Pass Success: generateKey({name: ECDH, namedCurve: P-256}, false, [deriveBits, deriveKey])
Pass Success: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveBits, deriveKey])
Pass Success: generateKey({name: ECDH, namedCurve: P-256}, false, [deriveBits])
Pass Success: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveBits])
Pass Success: generateKey({name: ECDH, namedCurve: P-256}, false, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Pass Success: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Pass Success: generateKey({name: ECDH, namedCurve: P-384}, false, [deriveKey])
Pass Success: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveKey])
Pass Success: generateKey({name: ECDH, namedCurve: P-384}, false, [deriveBits, deriveKey])
Pass Success: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveBits, deriveKey])
Pass Success: generateKey({name: ECDH, namedCurve: P-384}, false, [deriveBits])
Pass Success: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveBits])
Pass Success: generateKey({name: ECDH, namedCurve: P-384}, false, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Pass Success: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Fail Success: generateKey({name: ECDH, namedCurve: P-521}, false, [deriveKey])
Fail Success: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveKey])
Fail Success: generateKey({name: ECDH, namedCurve: P-521}, false, [deriveBits, deriveKey])
Fail Success: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey])
Fail Success: generateKey({name: ECDH, namedCurve: P-521}, false, [deriveBits])
Fail Success: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveBits])
Fail Success: generateKey({name: ECDH, namedCurve: P-521}, false, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Fail Success: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Pass Success: generateKey({name: ecdh, namedCurve: P-256}, false, [deriveKey])
Pass Success: generateKey({name: ecdh, namedCurve: P-256}, true, [deriveKey])
Pass Success: generateKey({name: ecdh, namedCurve: P-256}, false, [deriveBits, deriveKey])
Pass Success: generateKey({name: ecdh, namedCurve: P-256}, true, [deriveBits, deriveKey])
Pass Success: generateKey({name: ecdh, namedCurve: P-256}, false, [deriveBits])
Pass Success: generateKey({name: ecdh, namedCurve: P-256}, true, [deriveBits])
Pass Success: generateKey({name: ecdh, namedCurve: P-256}, false, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Pass Success: generateKey({name: ecdh, namedCurve: P-256}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Pass Success: generateKey({name: ecdh, namedCurve: P-384}, false, [deriveKey])
Pass Success: generateKey({name: ecdh, namedCurve: P-384}, true, [deriveKey])
Pass Success: generateKey({name: ecdh, namedCurve: P-384}, false, [deriveBits, deriveKey])
Pass Success: generateKey({name: ecdh, namedCurve: P-384}, true, [deriveBits, deriveKey])
Pass Success: generateKey({name: ecdh, namedCurve: P-384}, false, [deriveBits])
Pass Success: generateKey({name: ecdh, namedCurve: P-384}, true, [deriveBits])
Pass Success: generateKey({name: ecdh, namedCurve: P-384}, false, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Pass Success: generateKey({name: ecdh, namedCurve: P-384}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Fail Success: generateKey({name: ecdh, namedCurve: P-521}, false, [deriveKey])
Fail Success: generateKey({name: ecdh, namedCurve: P-521}, true, [deriveKey])
Fail Success: generateKey({name: ecdh, namedCurve: P-521}, false, [deriveBits, deriveKey])
Fail Success: generateKey({name: ecdh, namedCurve: P-521}, true, [deriveBits, deriveKey])
Fail Success: generateKey({name: ecdh, namedCurve: P-521}, false, [deriveBits])
Fail Success: generateKey({name: ecdh, namedCurve: P-521}, true, [deriveBits])
Fail Success: generateKey({name: ecdh, namedCurve: P-521}, false, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Fail Success: generateKey({name: ecdh, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Pass Success: generateKey({name: Ecdh, namedCurve: P-256}, false, [deriveKey])
Pass Success: generateKey({name: Ecdh, namedCurve: P-256}, true, [deriveKey])
Pass Success: generateKey({name: Ecdh, namedCurve: P-256}, false, [deriveBits, deriveKey])
Pass Success: generateKey({name: Ecdh, namedCurve: P-256}, true, [deriveBits, deriveKey])
Pass Success: generateKey({name: Ecdh, namedCurve: P-256}, false, [deriveBits])
Pass Success: generateKey({name: Ecdh, namedCurve: P-256}, true, [deriveBits])
Pass Success: generateKey({name: Ecdh, namedCurve: P-256}, false, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Pass Success: generateKey({name: Ecdh, namedCurve: P-256}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Pass Success: generateKey({name: Ecdh, namedCurve: P-384}, false, [deriveKey])
Pass Success: generateKey({name: Ecdh, namedCurve: P-384}, true, [deriveKey])
Pass Success: generateKey({name: Ecdh, namedCurve: P-384}, false, [deriveBits, deriveKey])
Pass Success: generateKey({name: Ecdh, namedCurve: P-384}, true, [deriveBits, deriveKey])
Pass Success: generateKey({name: Ecdh, namedCurve: P-384}, false, [deriveBits])
Pass Success: generateKey({name: Ecdh, namedCurve: P-384}, true, [deriveBits])
Pass Success: generateKey({name: Ecdh, namedCurve: P-384}, false, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Pass Success: generateKey({name: Ecdh, namedCurve: P-384}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Fail Success: generateKey({name: Ecdh, namedCurve: P-521}, false, [deriveKey])
Fail Success: generateKey({name: Ecdh, namedCurve: P-521}, true, [deriveKey])
Fail Success: generateKey({name: Ecdh, namedCurve: P-521}, false, [deriveBits, deriveKey])
Fail Success: generateKey({name: Ecdh, namedCurve: P-521}, true, [deriveBits, deriveKey])
Fail Success: generateKey({name: Ecdh, namedCurve: P-521}, false, [deriveBits])
Fail Success: generateKey({name: Ecdh, namedCurve: P-521}, true, [deriveBits])
Fail Success: generateKey({name: Ecdh, namedCurve: P-521}, false, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Fail Success: generateKey({name: Ecdh, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Pass Success: generateKey({name: ECDH, namedCurve: P-256}, false, [deriveKey])
Pass Success: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveKey])
Pass Success: generateKey({name: ECDH, namedCurve: P-256}, false, [deriveBits, deriveKey])
Pass Success: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveBits, deriveKey])
Pass Success: generateKey({name: ECDH, namedCurve: P-256}, false, [deriveBits])
Pass Success: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveBits])
Pass Success: generateKey({name: ECDH, namedCurve: P-256}, false, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Pass Success: generateKey({name: ECDH, namedCurve: P-256}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Pass Success: generateKey({name: ECDH, namedCurve: P-384}, false, [deriveKey])
Pass Success: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveKey])
Pass Success: generateKey({name: ECDH, namedCurve: P-384}, false, [deriveBits, deriveKey])
Pass Success: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveBits, deriveKey])
Pass Success: generateKey({name: ECDH, namedCurve: P-384}, false, [deriveBits])
Pass Success: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveBits])
Pass Success: generateKey({name: ECDH, namedCurve: P-384}, false, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Pass Success: generateKey({name: ECDH, namedCurve: P-384}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Fail Success: generateKey({name: ECDH, namedCurve: P-521}, false, [deriveKey])
Fail Success: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveKey])
Fail Success: generateKey({name: ECDH, namedCurve: P-521}, false, [deriveBits, deriveKey])
Fail Success: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey])
Fail Success: generateKey({name: ECDH, namedCurve: P-521}, false, [deriveBits])
Fail Success: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveBits])
Fail Success: generateKey({name: ECDH, namedCurve: P-521}, false, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Fail Success: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Pass Success: generateKey({name: ecdh, namedCurve: P-256}, false, [deriveKey])
Pass Success: generateKey({name: ecdh, namedCurve: P-256}, true, [deriveKey])
Pass Success: generateKey({name: ecdh, namedCurve: P-256}, false, [deriveBits, deriveKey])
Pass Success: generateKey({name: ecdh, namedCurve: P-256}, true, [deriveBits, deriveKey])
Pass Success: generateKey({name: ecdh, namedCurve: P-256}, false, [deriveBits])
Pass Success: generateKey({name: ecdh, namedCurve: P-256}, true, [deriveBits])
Pass Success: generateKey({name: ecdh, namedCurve: P-256}, false, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Pass Success: generateKey({name: ecdh, namedCurve: P-256}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Pass Success: generateKey({name: ecdh, namedCurve: P-384}, false, [deriveKey])
Pass Success: generateKey({name: ecdh, namedCurve: P-384}, true, [deriveKey])
Pass Success: generateKey({name: ecdh, namedCurve: P-384}, false, [deriveBits, deriveKey])
Pass Success: generateKey({name: ecdh, namedCurve: P-384}, true, [deriveBits, deriveKey])
Pass Success: generateKey({name: ecdh, namedCurve: P-384}, false, [deriveBits])
Pass Success: generateKey({name: ecdh, namedCurve: P-384}, true, [deriveBits])
Pass Success: generateKey({name: ecdh, namedCurve: P-384}, false, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Pass Success: generateKey({name: ecdh, namedCurve: P-384}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Fail Success: generateKey({name: ecdh, namedCurve: P-521}, false, [deriveKey])
Fail Success: generateKey({name: ecdh, namedCurve: P-521}, true, [deriveKey])
Fail Success: generateKey({name: ecdh, namedCurve: P-521}, false, [deriveBits, deriveKey])
Fail Success: generateKey({name: ecdh, namedCurve: P-521}, true, [deriveBits, deriveKey])
Fail Success: generateKey({name: ecdh, namedCurve: P-521}, false, [deriveBits])
Fail Success: generateKey({name: ecdh, namedCurve: P-521}, true, [deriveBits])
Fail Success: generateKey({name: ecdh, namedCurve: P-521}, false, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Fail Success: generateKey({name: ecdh, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Pass Success: generateKey({name: Ecdh, namedCurve: P-256}, false, [deriveKey])
Pass Success: generateKey({name: Ecdh, namedCurve: P-256}, true, [deriveKey])
Pass Success: generateKey({name: Ecdh, namedCurve: P-256}, false, [deriveBits, deriveKey])
Pass Success: generateKey({name: Ecdh, namedCurve: P-256}, true, [deriveBits, deriveKey])
Pass Success: generateKey({name: Ecdh, namedCurve: P-256}, false, [deriveBits])
Pass Success: generateKey({name: Ecdh, namedCurve: P-256}, true, [deriveBits])
Pass Success: generateKey({name: Ecdh, namedCurve: P-256}, false, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Pass Success: generateKey({name: Ecdh, namedCurve: P-256}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Pass Success: generateKey({name: Ecdh, namedCurve: P-384}, false, [deriveKey])
Pass Success: generateKey({name: Ecdh, namedCurve: P-384}, true, [deriveKey])
Pass Success: generateKey({name: Ecdh, namedCurve: P-384}, false, [deriveBits, deriveKey])
Pass Success: generateKey({name: Ecdh, namedCurve: P-384}, true, [deriveBits, deriveKey])
Pass Success: generateKey({name: Ecdh, namedCurve: P-384}, false, [deriveBits])
Pass Success: generateKey({name: Ecdh, namedCurve: P-384}, true, [deriveBits])
Pass Success: generateKey({name: Ecdh, namedCurve: P-384}, false, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Pass Success: generateKey({name: Ecdh, namedCurve: P-384}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Fail Success: generateKey({name: Ecdh, namedCurve: P-521}, false, [deriveKey])
Fail Success: generateKey({name: Ecdh, namedCurve: P-521}, true, [deriveKey])
Fail Success: generateKey({name: Ecdh, namedCurve: P-521}, false, [deriveBits, deriveKey])
Fail Success: generateKey({name: Ecdh, namedCurve: P-521}, true, [deriveBits, deriveKey])
Fail Success: generateKey({name: Ecdh, namedCurve: P-521}, false, [deriveBits])
Fail Success: generateKey({name: Ecdh, namedCurve: P-521}, true, [deriveBits])
Fail Success: generateKey({name: Ecdh, namedCurve: P-521}, false, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Fail Success: generateKey({name: Ecdh, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])

View file

@ -1,26 +1,21 @@
Summary
Harness status: OK
Rerun
Found 16 tests
16 Pass
Details
Result Test Name MessagePass Success: generateKey({name: X448}, false, [deriveKey])
Pass Success: generateKey({name: X448}, true, [deriveKey])
Pass Success: generateKey({name: X448}, false, [deriveBits, deriveKey])
Pass Success: generateKey({name: X448}, true, [deriveBits, deriveKey])
Pass Success: generateKey({name: X448}, false, [deriveBits])
Pass Success: generateKey({name: X448}, true, [deriveBits])
Pass Success: generateKey({name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Pass Success: generateKey({name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Pass Success: generateKey({name: x448}, false, [deriveKey])
Pass Success: generateKey({name: x448}, true, [deriveKey])
Pass Success: generateKey({name: x448}, false, [deriveBits, deriveKey])
Pass Success: generateKey({name: x448}, true, [deriveBits, deriveKey])
Pass Success: generateKey({name: x448}, false, [deriveBits])
Pass Success: generateKey({name: x448}, true, [deriveBits])
Pass Success: generateKey({name: x448}, false, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Pass Success: generateKey({name: x448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Pass Success: generateKey({name: X448}, false, [deriveKey])
Pass Success: generateKey({name: X448}, true, [deriveKey])
Pass Success: generateKey({name: X448}, false, [deriveBits, deriveKey])
Pass Success: generateKey({name: X448}, true, [deriveBits, deriveKey])
Pass Success: generateKey({name: X448}, false, [deriveBits])
Pass Success: generateKey({name: X448}, true, [deriveBits])
Pass Success: generateKey({name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Pass Success: generateKey({name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Pass Success: generateKey({name: x448}, false, [deriveKey])
Pass Success: generateKey({name: x448}, true, [deriveKey])
Pass Success: generateKey({name: x448}, false, [deriveBits, deriveKey])
Pass Success: generateKey({name: x448}, true, [deriveBits, deriveKey])
Pass Success: generateKey({name: x448}, false, [deriveBits])
Pass Success: generateKey({name: x448}, true, [deriveBits])
Pass Success: generateKey({name: x448}, false, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
Pass Success: generateKey({name: x448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])

View file

@ -1,258 +1,253 @@
Summary
Harness status: OK
Rerun
Found 246 tests
97 Pass
137 Fail
12 Optional Feature Unsupported
Details
Result Test Name MessageFail Good parameters: P-256 bits (spki, buffer(91), {name: ECDSA, namedCurve: P-256}, true, [verify])
Fail Good parameters: P-256 bits (spki, buffer(59, compressed), {name: ECDSA, namedCurve: P-256}, true, [verify])
Fail Good parameters: P-256 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-256}, true, [verify])
Fail Good parameters: P-256 bits (raw, buffer(65), {name: ECDSA, namedCurve: P-256}, true, [verify])
Fail Good parameters: P-256 bits (raw, buffer(33, compressed), {name: ECDSA, namedCurve: P-256}, true, [verify])
Fail Good parameters: P-256 bits (spki, buffer(91), {name: ECDSA, namedCurve: P-256}, true, [])
Fail Good parameters: P-256 bits (spki, buffer(59, compressed), {name: ECDSA, namedCurve: P-256}, true, [])
Fail Good parameters: P-256 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-256}, true, [])
Fail Good parameters: P-256 bits (raw, buffer(65), {name: ECDSA, namedCurve: P-256}, true, [])
Fail Good parameters: P-256 bits (raw, buffer(33, compressed), {name: ECDSA, namedCurve: P-256}, true, [])
Fail Good parameters: P-256 bits (spki, buffer(91), {name: ECDSA, namedCurve: P-256}, true, [verify, verify])
Fail Good parameters: P-256 bits (spki, buffer(59, compressed), {name: ECDSA, namedCurve: P-256}, true, [verify, verify])
Fail Good parameters: P-256 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-256}, true, [verify, verify])
Fail Good parameters: P-256 bits (raw, buffer(65), {name: ECDSA, namedCurve: P-256}, true, [verify, verify])
Fail Good parameters: P-256 bits (raw, buffer(33, compressed), {name: ECDSA, namedCurve: P-256}, true, [verify, verify])
Fail Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDSA, namedCurve: P-256}, true, [sign])
Fail Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDSA, namedCurve: P-256}, true, [sign, sign])
Fail Empty Usages: P-256 bits (pkcs8, buffer(138), {name: ECDSA, namedCurve: P-256}, true, [])
Fail Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-256}, true, [sign])
Fail Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-256}, true, [sign, sign])
Fail Empty Usages: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-256}, true, [])
Fail Good parameters: P-256 bits (spki, buffer(91), {name: ECDSA, namedCurve: P-256}, false, [verify])
Fail Good parameters: P-256 bits (spki, buffer(59, compressed), {name: ECDSA, namedCurve: P-256}, false, [verify])
Fail Good parameters: P-256 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-256}, false, [verify])
Fail Good parameters: P-256 bits (raw, buffer(65), {name: ECDSA, namedCurve: P-256}, false, [verify])
Fail Good parameters: P-256 bits (raw, buffer(33, compressed), {name: ECDSA, namedCurve: P-256}, false, [verify])
Fail Good parameters: P-256 bits (spki, buffer(91), {name: ECDSA, namedCurve: P-256}, false, [])
Fail Good parameters: P-256 bits (spki, buffer(59, compressed), {name: ECDSA, namedCurve: P-256}, false, [])
Fail Good parameters: P-256 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-256}, false, [])
Fail Good parameters: P-256 bits (raw, buffer(65), {name: ECDSA, namedCurve: P-256}, false, [])
Fail Good parameters: P-256 bits (raw, buffer(33, compressed), {name: ECDSA, namedCurve: P-256}, false, [])
Fail Good parameters: P-256 bits (spki, buffer(91), {name: ECDSA, namedCurve: P-256}, false, [verify, verify])
Fail Good parameters: P-256 bits (spki, buffer(59, compressed), {name: ECDSA, namedCurve: P-256}, false, [verify, verify])
Fail Good parameters: P-256 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-256}, false, [verify, verify])
Fail Good parameters: P-256 bits (raw, buffer(65), {name: ECDSA, namedCurve: P-256}, false, [verify, verify])
Fail Good parameters: P-256 bits (raw, buffer(33, compressed), {name: ECDSA, namedCurve: P-256}, false, [verify, verify])
Fail Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDSA, namedCurve: P-256}, false, [sign])
Fail Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDSA, namedCurve: P-256}, false, [sign, sign])
Fail Empty Usages: P-256 bits (pkcs8, buffer(138), {name: ECDSA, namedCurve: P-256}, false, [])
Fail Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-256}, false, [sign])
Fail Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-256}, false, [sign, sign])
Fail Empty Usages: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-256}, false, [])
Fail Good parameters: P-384 bits (spki, buffer(120), {name: ECDSA, namedCurve: P-384}, true, [verify])
Fail Good parameters: P-384 bits (spki, buffer(72, compressed), {name: ECDSA, namedCurve: P-384}, true, [verify])
Fail Good parameters: P-384 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-384}, true, [verify])
Fail Good parameters: P-384 bits (raw, buffer(97), {name: ECDSA, namedCurve: P-384}, true, [verify])
Fail Good parameters: P-384 bits (raw, buffer(49, compressed), {name: ECDSA, namedCurve: P-384}, true, [verify])
Fail Good parameters: P-384 bits (spki, buffer(120), {name: ECDSA, namedCurve: P-384}, true, [])
Fail Good parameters: P-384 bits (spki, buffer(72, compressed), {name: ECDSA, namedCurve: P-384}, true, [])
Fail Good parameters: P-384 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-384}, true, [])
Fail Good parameters: P-384 bits (raw, buffer(97), {name: ECDSA, namedCurve: P-384}, true, [])
Fail Good parameters: P-384 bits (raw, buffer(49, compressed), {name: ECDSA, namedCurve: P-384}, true, [])
Fail Good parameters: P-384 bits (spki, buffer(120), {name: ECDSA, namedCurve: P-384}, true, [verify, verify])
Fail Good parameters: P-384 bits (spki, buffer(72, compressed), {name: ECDSA, namedCurve: P-384}, true, [verify, verify])
Fail Good parameters: P-384 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-384}, true, [verify, verify])
Fail Good parameters: P-384 bits (raw, buffer(97), {name: ECDSA, namedCurve: P-384}, true, [verify, verify])
Fail Good parameters: P-384 bits (raw, buffer(49, compressed), {name: ECDSA, namedCurve: P-384}, true, [verify, verify])
Fail Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDSA, namedCurve: P-384}, true, [sign])
Fail Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDSA, namedCurve: P-384}, true, [sign, sign])
Fail Empty Usages: P-384 bits (pkcs8, buffer(185), {name: ECDSA, namedCurve: P-384}, true, [])
Fail Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-384}, true, [sign])
Fail Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-384}, true, [sign, sign])
Fail Empty Usages: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-384}, true, [])
Fail Good parameters: P-384 bits (spki, buffer(120), {name: ECDSA, namedCurve: P-384}, false, [verify])
Fail Good parameters: P-384 bits (spki, buffer(72, compressed), {name: ECDSA, namedCurve: P-384}, false, [verify])
Fail Good parameters: P-384 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-384}, false, [verify])
Fail Good parameters: P-384 bits (raw, buffer(97), {name: ECDSA, namedCurve: P-384}, false, [verify])
Fail Good parameters: P-384 bits (raw, buffer(49, compressed), {name: ECDSA, namedCurve: P-384}, false, [verify])
Fail Good parameters: P-384 bits (spki, buffer(120), {name: ECDSA, namedCurve: P-384}, false, [])
Fail Good parameters: P-384 bits (spki, buffer(72, compressed), {name: ECDSA, namedCurve: P-384}, false, [])
Fail Good parameters: P-384 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-384}, false, [])
Fail Good parameters: P-384 bits (raw, buffer(97), {name: ECDSA, namedCurve: P-384}, false, [])
Fail Good parameters: P-384 bits (raw, buffer(49, compressed), {name: ECDSA, namedCurve: P-384}, false, [])
Fail Good parameters: P-384 bits (spki, buffer(120), {name: ECDSA, namedCurve: P-384}, false, [verify, verify])
Fail Good parameters: P-384 bits (spki, buffer(72, compressed), {name: ECDSA, namedCurve: P-384}, false, [verify, verify])
Fail Good parameters: P-384 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-384}, false, [verify, verify])
Fail Good parameters: P-384 bits (raw, buffer(97), {name: ECDSA, namedCurve: P-384}, false, [verify, verify])
Fail Good parameters: P-384 bits (raw, buffer(49, compressed), {name: ECDSA, namedCurve: P-384}, false, [verify, verify])
Fail Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDSA, namedCurve: P-384}, false, [sign])
Fail Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDSA, namedCurve: P-384}, false, [sign, sign])
Fail Empty Usages: P-384 bits (pkcs8, buffer(185), {name: ECDSA, namedCurve: P-384}, false, [])
Fail Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-384}, false, [sign])
Fail Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-384}, false, [sign, sign])
Fail Empty Usages: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-384}, false, [])
Fail Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, true, [verify])
Fail Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDSA, namedCurve: P-521}, true, [verify])
Fail Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, true, [verify])
Fail Good parameters: P-521 bits (raw, buffer(133), {name: ECDSA, namedCurve: P-521}, true, [verify])
Fail Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDSA, namedCurve: P-521}, true, [verify])
Fail Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, true, [])
Fail Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDSA, namedCurve: P-521}, true, [])
Fail Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, true, [])
Fail Good parameters: P-521 bits (raw, buffer(133), {name: ECDSA, namedCurve: P-521}, true, [])
Fail Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDSA, namedCurve: P-521}, true, [])
Fail Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, true, [verify, verify])
Fail Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDSA, namedCurve: P-521}, true, [verify, verify])
Fail Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, true, [verify, verify])
Fail Good parameters: P-521 bits (raw, buffer(133), {name: ECDSA, namedCurve: P-521}, true, [verify, verify])
Fail Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDSA, namedCurve: P-521}, true, [verify, verify])
Fail Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, true, [sign])
Fail Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, true, [sign, sign])
Fail Empty Usages: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, true, [])
Fail Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, true, [sign])
Fail Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, true, [sign, sign])
Fail Empty Usages: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, true, [])
Fail Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, false, [verify])
Fail Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDSA, namedCurve: P-521}, false, [verify])
Fail Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, false, [verify])
Fail Good parameters: P-521 bits (raw, buffer(133), {name: ECDSA, namedCurve: P-521}, false, [verify])
Fail Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDSA, namedCurve: P-521}, false, [verify])
Fail Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, false, [])
Fail Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDSA, namedCurve: P-521}, false, [])
Fail Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, false, [])
Fail Good parameters: P-521 bits (raw, buffer(133), {name: ECDSA, namedCurve: P-521}, false, [])
Fail Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDSA, namedCurve: P-521}, false, [])
Fail Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, false, [verify, verify])
Fail Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDSA, namedCurve: P-521}, false, [verify, verify])
Fail Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, false, [verify, verify])
Fail Good parameters: P-521 bits (raw, buffer(133), {name: ECDSA, namedCurve: P-521}, false, [verify, verify])
Fail Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDSA, namedCurve: P-521}, false, [verify, verify])
Fail Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, false, [sign])
Fail Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, false, [sign, sign])
Fail Empty Usages: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, false, [])
Fail Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, false, [sign])
Fail Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, false, [sign, sign])
Fail Empty Usages: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, false, [])
Pass Good parameters: P-256 bits (spki, buffer(91), {name: ECDH, namedCurve: P-256}, true, [])
Optional Feature Unsupported Good parameters: P-256 bits (spki, buffer(59, compressed), {name: ECDH, namedCurve: P-256}, true, []) Compressed point format not supported: DataError: Error parsing subjectPublicKeyInfo: [ "SubjectPublicKeyInfo"sv ]: [ "SubjectPublicKeyInfo"sv ]: [ "SubjectPublicKeyInfo"sv ]: Unsupported public key format
Pass Good parameters: P-256 bits (jwk, object(kty, crv, x, y), {name: ECDH, namedCurve: P-256}, true, [])
Pass ECDH any JWK alg: P-256 bits (jwk, object(kty, crv, x, y, alg), {name: ECDH, namedCurve: P-256}, true, [])
Pass Good parameters: P-256 bits (raw, buffer(65), {name: ECDH, namedCurve: P-256}, true, [])
Optional Feature Unsupported Good parameters: P-256 bits (raw, buffer(33, compressed), {name: ECDH, namedCurve: P-256}, true, []) Compressed point format not supported: DataError: Failed to parse key
Pass Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, true, [deriveKey])
Pass Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, true, [deriveBits, deriveKey])
Pass Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, true, [deriveBits])
Pass Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Empty Usages: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, true, [])
Pass Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-256}, true, [deriveKey])
Pass ECDH any JWK alg: P-256 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-256}, true, [deriveKey])
Pass Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-256}, true, [deriveBits, deriveKey])
Pass ECDH any JWK alg: P-256 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-256}, true, [deriveBits, deriveKey])
Pass Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-256}, true, [deriveBits])
Pass ECDH any JWK alg: P-256 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-256}, true, [deriveBits])
Pass Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-256}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass ECDH any JWK alg: P-256 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-256}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Empty Usages: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-256}, true, [])
Pass Good parameters: P-256 bits (spki, buffer(91), {name: ECDH, namedCurve: P-256}, false, [])
Optional Feature Unsupported Good parameters: P-256 bits (spki, buffer(59, compressed), {name: ECDH, namedCurve: P-256}, false, []) Compressed point format not supported: DataError: Error parsing subjectPublicKeyInfo: [ "SubjectPublicKeyInfo"sv ]: [ "SubjectPublicKeyInfo"sv ]: [ "SubjectPublicKeyInfo"sv ]: Unsupported public key format
Pass Good parameters: P-256 bits (jwk, object(kty, crv, x, y), {name: ECDH, namedCurve: P-256}, false, [])
Pass ECDH any JWK alg: P-256 bits (jwk, object(kty, crv, x, y, alg), {name: ECDH, namedCurve: P-256}, false, [])
Pass Good parameters: P-256 bits (raw, buffer(65), {name: ECDH, namedCurve: P-256}, false, [])
Optional Feature Unsupported Good parameters: P-256 bits (raw, buffer(33, compressed), {name: ECDH, namedCurve: P-256}, false, []) Compressed point format not supported: DataError: Failed to parse key
Pass Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, false, [deriveKey])
Pass Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, false, [deriveBits, deriveKey])
Pass Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, false, [deriveBits])
Pass Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Empty Usages: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, false, [])
Pass Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-256}, false, [deriveKey])
Pass ECDH any JWK alg: P-256 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-256}, false, [deriveKey])
Pass Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-256}, false, [deriveBits, deriveKey])
Pass ECDH any JWK alg: P-256 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-256}, false, [deriveBits, deriveKey])
Pass Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-256}, false, [deriveBits])
Pass ECDH any JWK alg: P-256 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-256}, false, [deriveBits])
Pass Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-256}, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass ECDH any JWK alg: P-256 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-256}, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Empty Usages: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-256}, false, [])
Pass Good parameters: P-384 bits (spki, buffer(120), {name: ECDH, namedCurve: P-384}, true, [])
Optional Feature Unsupported Good parameters: P-384 bits (spki, buffer(72, compressed), {name: ECDH, namedCurve: P-384}, true, []) Compressed point format not supported: DataError: Error parsing subjectPublicKeyInfo: [ "SubjectPublicKeyInfo"sv ]: [ "SubjectPublicKeyInfo"sv ]: [ "SubjectPublicKeyInfo"sv ]: Unsupported public key format
Pass Good parameters: P-384 bits (jwk, object(kty, crv, x, y), {name: ECDH, namedCurve: P-384}, true, [])
Pass ECDH any JWK alg: P-384 bits (jwk, object(kty, crv, x, y, alg), {name: ECDH, namedCurve: P-384}, true, [])
Pass Good parameters: P-384 bits (raw, buffer(97), {name: ECDH, namedCurve: P-384}, true, [])
Optional Feature Unsupported Good parameters: P-384 bits (raw, buffer(49, compressed), {name: ECDH, namedCurve: P-384}, true, []) Compressed point format not supported: DataError: Failed to parse key
Pass Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, true, [deriveKey])
Pass Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, true, [deriveBits, deriveKey])
Pass Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, true, [deriveBits])
Pass Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Empty Usages: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, true, [])
Pass Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-384}, true, [deriveKey])
Pass ECDH any JWK alg: P-384 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-384}, true, [deriveKey])
Pass Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-384}, true, [deriveBits, deriveKey])
Pass ECDH any JWK alg: P-384 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-384}, true, [deriveBits, deriveKey])
Pass Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-384}, true, [deriveBits])
Pass ECDH any JWK alg: P-384 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-384}, true, [deriveBits])
Pass Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-384}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass ECDH any JWK alg: P-384 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-384}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Empty Usages: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-384}, true, [])
Pass Good parameters: P-384 bits (spki, buffer(120), {name: ECDH, namedCurve: P-384}, false, [])
Optional Feature Unsupported Good parameters: P-384 bits (spki, buffer(72, compressed), {name: ECDH, namedCurve: P-384}, false, []) Compressed point format not supported: DataError: Error parsing subjectPublicKeyInfo: [ "SubjectPublicKeyInfo"sv ]: [ "SubjectPublicKeyInfo"sv ]: [ "SubjectPublicKeyInfo"sv ]: Unsupported public key format
Pass Good parameters: P-384 bits (jwk, object(kty, crv, x, y), {name: ECDH, namedCurve: P-384}, false, [])
Pass ECDH any JWK alg: P-384 bits (jwk, object(kty, crv, x, y, alg), {name: ECDH, namedCurve: P-384}, false, [])
Pass Good parameters: P-384 bits (raw, buffer(97), {name: ECDH, namedCurve: P-384}, false, [])
Optional Feature Unsupported Good parameters: P-384 bits (raw, buffer(49, compressed), {name: ECDH, namedCurve: P-384}, false, []) Compressed point format not supported: DataError: Failed to parse key
Pass Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, false, [deriveKey])
Pass Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, false, [deriveBits, deriveKey])
Pass Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, false, [deriveBits])
Pass Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Empty Usages: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, false, [])
Pass Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-384}, false, [deriveKey])
Pass ECDH any JWK alg: P-384 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-384}, false, [deriveKey])
Pass Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-384}, false, [deriveBits, deriveKey])
Pass ECDH any JWK alg: P-384 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-384}, false, [deriveBits, deriveKey])
Pass Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-384}, false, [deriveBits])
Pass ECDH any JWK alg: P-384 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-384}, false, [deriveBits])
Pass Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-384}, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass ECDH any JWK alg: P-384 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-384}, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Empty Usages: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-384}, false, [])
Fail Good parameters: P-521 bits (spki, buffer(158), {name: ECDH, namedCurve: P-521}, true, [])
Optional Feature Unsupported Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDH, namedCurve: P-521}, true, []) Compressed point format not supported: DataError: Error parsing subjectPublicKeyInfo: [ "SubjectPublicKeyInfo"sv ]: [ "SubjectPublicKeyInfo"sv ]: [ "SubjectPublicKeyInfo"sv ]: Unsupported public key format
Fail Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDH, namedCurve: P-521}, true, [])
Pass ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, alg), {name: ECDH, namedCurve: P-521}, true, [])
Fail Good parameters: P-521 bits (raw, buffer(133), {name: ECDH, namedCurve: P-521}, true, [])
Optional Feature Unsupported Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDH, namedCurve: P-521}, true, []) Compressed point format not supported: DataError: Failed to parse key
Fail Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveKey])
Fail Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey])
Fail Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveBits])
Fail Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Empty Usages: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [])
Fail Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [deriveKey])
Pass ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, true, [deriveKey])
Fail Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey])
Pass ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey])
Fail Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [deriveBits])
Pass ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, true, [deriveBits])
Fail Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Empty Usages: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [])
Pass Good parameters: P-521 bits (spki, buffer(158), {name: ECDH, namedCurve: P-521}, false, [])
Optional Feature Unsupported Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDH, namedCurve: P-521}, false, []) Compressed point format not supported: DataError: Error parsing subjectPublicKeyInfo: [ "SubjectPublicKeyInfo"sv ]: [ "SubjectPublicKeyInfo"sv ]: [ "SubjectPublicKeyInfo"sv ]: Unsupported public key format
Pass Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDH, namedCurve: P-521}, false, [])
Pass ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, alg), {name: ECDH, namedCurve: P-521}, false, [])
Pass Good parameters: P-521 bits (raw, buffer(133), {name: ECDH, namedCurve: P-521}, false, [])
Optional Feature Unsupported Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDH, namedCurve: P-521}, false, []) Compressed point format not supported: DataError: Failed to parse key
Pass Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [deriveKey])
Pass Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [deriveBits, deriveKey])
Pass Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [deriveBits])
Pass Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Empty Usages: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [])
Pass Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [deriveKey])
Pass ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, false, [deriveKey])
Pass Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [deriveBits, deriveKey])
Pass ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, false, [deriveBits, deriveKey])
Pass Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [deriveBits])
Pass ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, false, [deriveBits])
Pass Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Empty Usages: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [])
Fail Good parameters: P-256 bits (spki, buffer(91), {name: ECDSA, namedCurve: P-256}, true, [verify])
Fail Good parameters: P-256 bits (spki, buffer(59, compressed), {name: ECDSA, namedCurve: P-256}, true, [verify])
Fail Good parameters: P-256 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-256}, true, [verify])
Fail Good parameters: P-256 bits (raw, buffer(65), {name: ECDSA, namedCurve: P-256}, true, [verify])
Fail Good parameters: P-256 bits (raw, buffer(33, compressed), {name: ECDSA, namedCurve: P-256}, true, [verify])
Fail Good parameters: P-256 bits (spki, buffer(91), {name: ECDSA, namedCurve: P-256}, true, [])
Fail Good parameters: P-256 bits (spki, buffer(59, compressed), {name: ECDSA, namedCurve: P-256}, true, [])
Fail Good parameters: P-256 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-256}, true, [])
Fail Good parameters: P-256 bits (raw, buffer(65), {name: ECDSA, namedCurve: P-256}, true, [])
Fail Good parameters: P-256 bits (raw, buffer(33, compressed), {name: ECDSA, namedCurve: P-256}, true, [])
Fail Good parameters: P-256 bits (spki, buffer(91), {name: ECDSA, namedCurve: P-256}, true, [verify, verify])
Fail Good parameters: P-256 bits (spki, buffer(59, compressed), {name: ECDSA, namedCurve: P-256}, true, [verify, verify])
Fail Good parameters: P-256 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-256}, true, [verify, verify])
Fail Good parameters: P-256 bits (raw, buffer(65), {name: ECDSA, namedCurve: P-256}, true, [verify, verify])
Fail Good parameters: P-256 bits (raw, buffer(33, compressed), {name: ECDSA, namedCurve: P-256}, true, [verify, verify])
Fail Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDSA, namedCurve: P-256}, true, [sign])
Fail Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDSA, namedCurve: P-256}, true, [sign, sign])
Fail Empty Usages: P-256 bits (pkcs8, buffer(138), {name: ECDSA, namedCurve: P-256}, true, [])
Fail Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-256}, true, [sign])
Fail Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-256}, true, [sign, sign])
Fail Empty Usages: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-256}, true, [])
Fail Good parameters: P-256 bits (spki, buffer(91), {name: ECDSA, namedCurve: P-256}, false, [verify])
Fail Good parameters: P-256 bits (spki, buffer(59, compressed), {name: ECDSA, namedCurve: P-256}, false, [verify])
Fail Good parameters: P-256 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-256}, false, [verify])
Fail Good parameters: P-256 bits (raw, buffer(65), {name: ECDSA, namedCurve: P-256}, false, [verify])
Fail Good parameters: P-256 bits (raw, buffer(33, compressed), {name: ECDSA, namedCurve: P-256}, false, [verify])
Fail Good parameters: P-256 bits (spki, buffer(91), {name: ECDSA, namedCurve: P-256}, false, [])
Fail Good parameters: P-256 bits (spki, buffer(59, compressed), {name: ECDSA, namedCurve: P-256}, false, [])
Fail Good parameters: P-256 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-256}, false, [])
Fail Good parameters: P-256 bits (raw, buffer(65), {name: ECDSA, namedCurve: P-256}, false, [])
Fail Good parameters: P-256 bits (raw, buffer(33, compressed), {name: ECDSA, namedCurve: P-256}, false, [])
Fail Good parameters: P-256 bits (spki, buffer(91), {name: ECDSA, namedCurve: P-256}, false, [verify, verify])
Fail Good parameters: P-256 bits (spki, buffer(59, compressed), {name: ECDSA, namedCurve: P-256}, false, [verify, verify])
Fail Good parameters: P-256 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-256}, false, [verify, verify])
Fail Good parameters: P-256 bits (raw, buffer(65), {name: ECDSA, namedCurve: P-256}, false, [verify, verify])
Fail Good parameters: P-256 bits (raw, buffer(33, compressed), {name: ECDSA, namedCurve: P-256}, false, [verify, verify])
Fail Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDSA, namedCurve: P-256}, false, [sign])
Fail Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDSA, namedCurve: P-256}, false, [sign, sign])
Fail Empty Usages: P-256 bits (pkcs8, buffer(138), {name: ECDSA, namedCurve: P-256}, false, [])
Fail Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-256}, false, [sign])
Fail Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-256}, false, [sign, sign])
Fail Empty Usages: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-256}, false, [])
Fail Good parameters: P-384 bits (spki, buffer(120), {name: ECDSA, namedCurve: P-384}, true, [verify])
Fail Good parameters: P-384 bits (spki, buffer(72, compressed), {name: ECDSA, namedCurve: P-384}, true, [verify])
Fail Good parameters: P-384 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-384}, true, [verify])
Fail Good parameters: P-384 bits (raw, buffer(97), {name: ECDSA, namedCurve: P-384}, true, [verify])
Fail Good parameters: P-384 bits (raw, buffer(49, compressed), {name: ECDSA, namedCurve: P-384}, true, [verify])
Fail Good parameters: P-384 bits (spki, buffer(120), {name: ECDSA, namedCurve: P-384}, true, [])
Fail Good parameters: P-384 bits (spki, buffer(72, compressed), {name: ECDSA, namedCurve: P-384}, true, [])
Fail Good parameters: P-384 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-384}, true, [])
Fail Good parameters: P-384 bits (raw, buffer(97), {name: ECDSA, namedCurve: P-384}, true, [])
Fail Good parameters: P-384 bits (raw, buffer(49, compressed), {name: ECDSA, namedCurve: P-384}, true, [])
Fail Good parameters: P-384 bits (spki, buffer(120), {name: ECDSA, namedCurve: P-384}, true, [verify, verify])
Fail Good parameters: P-384 bits (spki, buffer(72, compressed), {name: ECDSA, namedCurve: P-384}, true, [verify, verify])
Fail Good parameters: P-384 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-384}, true, [verify, verify])
Fail Good parameters: P-384 bits (raw, buffer(97), {name: ECDSA, namedCurve: P-384}, true, [verify, verify])
Fail Good parameters: P-384 bits (raw, buffer(49, compressed), {name: ECDSA, namedCurve: P-384}, true, [verify, verify])
Fail Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDSA, namedCurve: P-384}, true, [sign])
Fail Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDSA, namedCurve: P-384}, true, [sign, sign])
Fail Empty Usages: P-384 bits (pkcs8, buffer(185), {name: ECDSA, namedCurve: P-384}, true, [])
Fail Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-384}, true, [sign])
Fail Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-384}, true, [sign, sign])
Fail Empty Usages: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-384}, true, [])
Fail Good parameters: P-384 bits (spki, buffer(120), {name: ECDSA, namedCurve: P-384}, false, [verify])
Fail Good parameters: P-384 bits (spki, buffer(72, compressed), {name: ECDSA, namedCurve: P-384}, false, [verify])
Fail Good parameters: P-384 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-384}, false, [verify])
Fail Good parameters: P-384 bits (raw, buffer(97), {name: ECDSA, namedCurve: P-384}, false, [verify])
Fail Good parameters: P-384 bits (raw, buffer(49, compressed), {name: ECDSA, namedCurve: P-384}, false, [verify])
Fail Good parameters: P-384 bits (spki, buffer(120), {name: ECDSA, namedCurve: P-384}, false, [])
Fail Good parameters: P-384 bits (spki, buffer(72, compressed), {name: ECDSA, namedCurve: P-384}, false, [])
Fail Good parameters: P-384 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-384}, false, [])
Fail Good parameters: P-384 bits (raw, buffer(97), {name: ECDSA, namedCurve: P-384}, false, [])
Fail Good parameters: P-384 bits (raw, buffer(49, compressed), {name: ECDSA, namedCurve: P-384}, false, [])
Fail Good parameters: P-384 bits (spki, buffer(120), {name: ECDSA, namedCurve: P-384}, false, [verify, verify])
Fail Good parameters: P-384 bits (spki, buffer(72, compressed), {name: ECDSA, namedCurve: P-384}, false, [verify, verify])
Fail Good parameters: P-384 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-384}, false, [verify, verify])
Fail Good parameters: P-384 bits (raw, buffer(97), {name: ECDSA, namedCurve: P-384}, false, [verify, verify])
Fail Good parameters: P-384 bits (raw, buffer(49, compressed), {name: ECDSA, namedCurve: P-384}, false, [verify, verify])
Fail Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDSA, namedCurve: P-384}, false, [sign])
Fail Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDSA, namedCurve: P-384}, false, [sign, sign])
Fail Empty Usages: P-384 bits (pkcs8, buffer(185), {name: ECDSA, namedCurve: P-384}, false, [])
Fail Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-384}, false, [sign])
Fail Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-384}, false, [sign, sign])
Fail Empty Usages: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-384}, false, [])
Fail Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, true, [verify])
Fail Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDSA, namedCurve: P-521}, true, [verify])
Fail Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, true, [verify])
Fail Good parameters: P-521 bits (raw, buffer(133), {name: ECDSA, namedCurve: P-521}, true, [verify])
Fail Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDSA, namedCurve: P-521}, true, [verify])
Fail Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, true, [])
Fail Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDSA, namedCurve: P-521}, true, [])
Fail Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, true, [])
Fail Good parameters: P-521 bits (raw, buffer(133), {name: ECDSA, namedCurve: P-521}, true, [])
Fail Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDSA, namedCurve: P-521}, true, [])
Fail Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, true, [verify, verify])
Fail Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDSA, namedCurve: P-521}, true, [verify, verify])
Fail Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, true, [verify, verify])
Fail Good parameters: P-521 bits (raw, buffer(133), {name: ECDSA, namedCurve: P-521}, true, [verify, verify])
Fail Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDSA, namedCurve: P-521}, true, [verify, verify])
Fail Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, true, [sign])
Fail Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, true, [sign, sign])
Fail Empty Usages: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, true, [])
Fail Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, true, [sign])
Fail Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, true, [sign, sign])
Fail Empty Usages: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, true, [])
Fail Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, false, [verify])
Fail Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDSA, namedCurve: P-521}, false, [verify])
Fail Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, false, [verify])
Fail Good parameters: P-521 bits (raw, buffer(133), {name: ECDSA, namedCurve: P-521}, false, [verify])
Fail Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDSA, namedCurve: P-521}, false, [verify])
Fail Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, false, [])
Fail Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDSA, namedCurve: P-521}, false, [])
Fail Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, false, [])
Fail Good parameters: P-521 bits (raw, buffer(133), {name: ECDSA, namedCurve: P-521}, false, [])
Fail Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDSA, namedCurve: P-521}, false, [])
Fail Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, false, [verify, verify])
Fail Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDSA, namedCurve: P-521}, false, [verify, verify])
Fail Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDSA, namedCurve: P-521}, false, [verify, verify])
Fail Good parameters: P-521 bits (raw, buffer(133), {name: ECDSA, namedCurve: P-521}, false, [verify, verify])
Fail Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDSA, namedCurve: P-521}, false, [verify, verify])
Fail Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, false, [sign])
Fail Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, false, [sign, sign])
Fail Empty Usages: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, false, [])
Fail Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, false, [sign])
Fail Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, false, [sign, sign])
Fail Empty Usages: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, false, [])
Pass Good parameters: P-256 bits (spki, buffer(91), {name: ECDH, namedCurve: P-256}, true, [])
Optional Feature Unsupported Good parameters: P-256 bits (spki, buffer(59, compressed), {name: ECDH, namedCurve: P-256}, true, [])
Pass Good parameters: P-256 bits (jwk, object(kty, crv, x, y), {name: ECDH, namedCurve: P-256}, true, [])
Pass ECDH any JWK alg: P-256 bits (jwk, object(kty, crv, x, y, alg), {name: ECDH, namedCurve: P-256}, true, [])
Pass Good parameters: P-256 bits (raw, buffer(65), {name: ECDH, namedCurve: P-256}, true, [])
Optional Feature Unsupported Good parameters: P-256 bits (raw, buffer(33, compressed), {name: ECDH, namedCurve: P-256}, true, [])
Pass Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, true, [deriveKey])
Pass Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, true, [deriveBits, deriveKey])
Pass Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, true, [deriveBits])
Pass Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Empty Usages: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, true, [])
Pass Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-256}, true, [deriveKey])
Pass ECDH any JWK alg: P-256 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-256}, true, [deriveKey])
Pass Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-256}, true, [deriveBits, deriveKey])
Pass ECDH any JWK alg: P-256 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-256}, true, [deriveBits, deriveKey])
Pass Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-256}, true, [deriveBits])
Pass ECDH any JWK alg: P-256 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-256}, true, [deriveBits])
Pass Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-256}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass ECDH any JWK alg: P-256 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-256}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Empty Usages: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-256}, true, [])
Pass Good parameters: P-256 bits (spki, buffer(91), {name: ECDH, namedCurve: P-256}, false, [])
Optional Feature Unsupported Good parameters: P-256 bits (spki, buffer(59, compressed), {name: ECDH, namedCurve: P-256}, false, [])
Pass Good parameters: P-256 bits (jwk, object(kty, crv, x, y), {name: ECDH, namedCurve: P-256}, false, [])
Pass ECDH any JWK alg: P-256 bits (jwk, object(kty, crv, x, y, alg), {name: ECDH, namedCurve: P-256}, false, [])
Pass Good parameters: P-256 bits (raw, buffer(65), {name: ECDH, namedCurve: P-256}, false, [])
Optional Feature Unsupported Good parameters: P-256 bits (raw, buffer(33, compressed), {name: ECDH, namedCurve: P-256}, false, [])
Pass Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, false, [deriveKey])
Pass Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, false, [deriveBits, deriveKey])
Pass Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, false, [deriveBits])
Pass Good parameters: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Empty Usages: P-256 bits (pkcs8, buffer(138), {name: ECDH, namedCurve: P-256}, false, [])
Pass Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-256}, false, [deriveKey])
Pass ECDH any JWK alg: P-256 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-256}, false, [deriveKey])
Pass Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-256}, false, [deriveBits, deriveKey])
Pass ECDH any JWK alg: P-256 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-256}, false, [deriveBits, deriveKey])
Pass Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-256}, false, [deriveBits])
Pass ECDH any JWK alg: P-256 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-256}, false, [deriveBits])
Pass Good parameters: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-256}, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass ECDH any JWK alg: P-256 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-256}, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Empty Usages: P-256 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-256}, false, [])
Pass Good parameters: P-384 bits (spki, buffer(120), {name: ECDH, namedCurve: P-384}, true, [])
Optional Feature Unsupported Good parameters: P-384 bits (spki, buffer(72, compressed), {name: ECDH, namedCurve: P-384}, true, [])
Pass Good parameters: P-384 bits (jwk, object(kty, crv, x, y), {name: ECDH, namedCurve: P-384}, true, [])
Pass ECDH any JWK alg: P-384 bits (jwk, object(kty, crv, x, y, alg), {name: ECDH, namedCurve: P-384}, true, [])
Pass Good parameters: P-384 bits (raw, buffer(97), {name: ECDH, namedCurve: P-384}, true, [])
Optional Feature Unsupported Good parameters: P-384 bits (raw, buffer(49, compressed), {name: ECDH, namedCurve: P-384}, true, [])
Pass Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, true, [deriveKey])
Pass Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, true, [deriveBits, deriveKey])
Pass Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, true, [deriveBits])
Pass Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Empty Usages: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, true, [])
Pass Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-384}, true, [deriveKey])
Pass ECDH any JWK alg: P-384 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-384}, true, [deriveKey])
Pass Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-384}, true, [deriveBits, deriveKey])
Pass ECDH any JWK alg: P-384 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-384}, true, [deriveBits, deriveKey])
Pass Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-384}, true, [deriveBits])
Pass ECDH any JWK alg: P-384 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-384}, true, [deriveBits])
Pass Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-384}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass ECDH any JWK alg: P-384 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-384}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Empty Usages: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-384}, true, [])
Pass Good parameters: P-384 bits (spki, buffer(120), {name: ECDH, namedCurve: P-384}, false, [])
Optional Feature Unsupported Good parameters: P-384 bits (spki, buffer(72, compressed), {name: ECDH, namedCurve: P-384}, false, [])
Pass Good parameters: P-384 bits (jwk, object(kty, crv, x, y), {name: ECDH, namedCurve: P-384}, false, [])
Pass ECDH any JWK alg: P-384 bits (jwk, object(kty, crv, x, y, alg), {name: ECDH, namedCurve: P-384}, false, [])
Pass Good parameters: P-384 bits (raw, buffer(97), {name: ECDH, namedCurve: P-384}, false, [])
Optional Feature Unsupported Good parameters: P-384 bits (raw, buffer(49, compressed), {name: ECDH, namedCurve: P-384}, false, [])
Pass Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, false, [deriveKey])
Pass Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, false, [deriveBits, deriveKey])
Pass Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, false, [deriveBits])
Pass Good parameters: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Empty Usages: P-384 bits (pkcs8, buffer(185), {name: ECDH, namedCurve: P-384}, false, [])
Pass Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-384}, false, [deriveKey])
Pass ECDH any JWK alg: P-384 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-384}, false, [deriveKey])
Pass Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-384}, false, [deriveBits, deriveKey])
Pass ECDH any JWK alg: P-384 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-384}, false, [deriveBits, deriveKey])
Pass Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-384}, false, [deriveBits])
Pass ECDH any JWK alg: P-384 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-384}, false, [deriveBits])
Pass Good parameters: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-384}, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass ECDH any JWK alg: P-384 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-384}, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Empty Usages: P-384 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-384}, false, [])
Fail Good parameters: P-521 bits (spki, buffer(158), {name: ECDH, namedCurve: P-521}, true, [])
Optional Feature Unsupported Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDH, namedCurve: P-521}, true, [])
Fail Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDH, namedCurve: P-521}, true, [])
Pass ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, alg), {name: ECDH, namedCurve: P-521}, true, [])
Fail Good parameters: P-521 bits (raw, buffer(133), {name: ECDH, namedCurve: P-521}, true, [])
Optional Feature Unsupported Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDH, namedCurve: P-521}, true, [])
Fail Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveKey])
Fail Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey])
Fail Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveBits])
Fail Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Empty Usages: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [])
Fail Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [deriveKey])
Pass ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, true, [deriveKey])
Fail Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey])
Pass ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey])
Fail Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [deriveBits])
Pass ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, true, [deriveBits])
Fail Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Empty Usages: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, true, [])
Pass Good parameters: P-521 bits (spki, buffer(158), {name: ECDH, namedCurve: P-521}, false, [])
Optional Feature Unsupported Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDH, namedCurve: P-521}, false, [])
Pass Good parameters: P-521 bits (jwk, object(kty, crv, x, y), {name: ECDH, namedCurve: P-521}, false, [])
Pass ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, alg), {name: ECDH, namedCurve: P-521}, false, [])
Pass Good parameters: P-521 bits (raw, buffer(133), {name: ECDH, namedCurve: P-521}, false, [])
Optional Feature Unsupported Good parameters: P-521 bits (raw, buffer(67, compressed), {name: ECDH, namedCurve: P-521}, false, [])
Pass Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [deriveKey])
Pass Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [deriveBits, deriveKey])
Pass Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [deriveBits])
Pass Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Empty Usages: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, false, [])
Pass Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [deriveKey])
Pass ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, false, [deriveKey])
Pass Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [deriveBits, deriveKey])
Pass ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, false, [deriveBits, deriveKey])
Pass Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [deriveBits])
Pass ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, false, [deriveBits])
Pass Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass ECDH any JWK alg: P-521 bits (jwk, object(kty, crv, x, y, d, alg), {name: ECDH, namedCurve: P-521}, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Empty Usages: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDH, namedCurve: P-521}, false, [])

View file

@ -1,73 +1,68 @@
Summary
Harness status: OK
Rerun
Found 62 tests
32 Pass
30 Fail
Details
Result Test Name MessageFail Good parameters: Ed25519 bits (spki, buffer(44), {name: Ed25519}, true, [verify])
Fail Good parameters: Ed25519 bits (spki, buffer(44), Ed25519, true, [verify])
Fail Good parameters: Ed25519 bits (jwk, object(kty, crv, x), {name: Ed25519}, true, [verify])
Fail Good parameters: Ed25519 bits (jwk, object(kty, crv, x), Ed25519, true, [verify])
Fail Good parameters with ignored JWK alg: Ed25519 (jwk, object(kty, crv, x), {name: Ed25519}, true, [verify])
Fail Good parameters with ignored JWK alg: Ed25519 (jwk, object(kty, crv, x), Ed25519, true, [verify])
Pass Good parameters: Ed25519 bits (raw, buffer(32), {name: Ed25519}, true, [verify])
Pass Good parameters: Ed25519 bits (raw, buffer(32), Ed25519, true, [verify])
Fail Good parameters: Ed25519 bits (spki, buffer(44), {name: Ed25519}, true, [])
Fail Good parameters: Ed25519 bits (spki, buffer(44), Ed25519, true, [])
Fail Good parameters: Ed25519 bits (jwk, object(kty, crv, x), {name: Ed25519}, true, [])
Fail Good parameters: Ed25519 bits (jwk, object(kty, crv, x), Ed25519, true, [])
Fail Good parameters with ignored JWK alg: Ed25519 (jwk, object(kty, crv, x), {name: Ed25519}, true, [])
Fail Good parameters with ignored JWK alg: Ed25519 (jwk, object(kty, crv, x), Ed25519, true, [])
Pass Good parameters: Ed25519 bits (raw, buffer(32), {name: Ed25519}, true, [])
Pass Good parameters: Ed25519 bits (raw, buffer(32), Ed25519, true, [])
Fail Good parameters: Ed25519 bits (spki, buffer(44), {name: Ed25519}, true, [verify, verify])
Fail Good parameters: Ed25519 bits (spki, buffer(44), Ed25519, true, [verify, verify])
Fail Good parameters: Ed25519 bits (jwk, object(kty, crv, x), {name: Ed25519}, true, [verify, verify])
Fail Good parameters: Ed25519 bits (jwk, object(kty, crv, x), Ed25519, true, [verify, verify])
Fail Good parameters with ignored JWK alg: Ed25519 (jwk, object(kty, crv, x), {name: Ed25519}, true, [verify, verify])
Fail Good parameters with ignored JWK alg: Ed25519 (jwk, object(kty, crv, x), Ed25519, true, [verify, verify])
Pass Good parameters: Ed25519 bits (raw, buffer(32), {name: Ed25519}, true, [verify, verify])
Pass Good parameters: Ed25519 bits (raw, buffer(32), Ed25519, true, [verify, verify])
Fail Good parameters: Ed25519 bits (pkcs8, buffer(48), {name: Ed25519}, true, [sign])
Fail Good parameters: Ed25519 bits (pkcs8, buffer(48), Ed25519, true, [sign])
Fail Good parameters: Ed25519 bits (jwk, object(crv, d, x, kty), {name: Ed25519}, true, [sign])
Fail Good parameters: Ed25519 bits (jwk, object(crv, d, x, kty), Ed25519, true, [sign])
Fail Good parameters with ignored JWK alg: Ed25519 (jwk, object(crv, d, x, kty), {name: Ed25519}, true, [sign])
Fail Good parameters with ignored JWK alg: Ed25519 (jwk, object(crv, d, x, kty), Ed25519, true, [sign])
Fail Good parameters: Ed25519 bits (pkcs8, buffer(48), {name: Ed25519}, true, [sign, sign])
Fail Good parameters: Ed25519 bits (pkcs8, buffer(48), Ed25519, true, [sign, sign])
Fail Good parameters: Ed25519 bits (jwk, object(crv, d, x, kty), {name: Ed25519}, true, [sign, sign])
Fail Good parameters: Ed25519 bits (jwk, object(crv, d, x, kty), Ed25519, true, [sign, sign])
Fail Good parameters with ignored JWK alg: Ed25519 (jwk, object(crv, d, x, kty), {name: Ed25519}, true, [sign, sign])
Fail Good parameters with ignored JWK alg: Ed25519 (jwk, object(crv, d, x, kty), Ed25519, true, [sign, sign])
Pass Good parameters: Ed25519 bits (spki, buffer(44), {name: Ed25519}, false, [verify])
Pass Good parameters: Ed25519 bits (spki, buffer(44), Ed25519, false, [verify])
Pass Good parameters: Ed25519 bits (jwk, object(kty, crv, x), {name: Ed25519}, false, [verify])
Pass Good parameters: Ed25519 bits (jwk, object(kty, crv, x), Ed25519, false, [verify])
Pass Good parameters: Ed25519 bits (raw, buffer(32), {name: Ed25519}, false, [verify])
Pass Good parameters: Ed25519 bits (raw, buffer(32), Ed25519, false, [verify])
Pass Good parameters: Ed25519 bits (spki, buffer(44), {name: Ed25519}, false, [])
Pass Good parameters: Ed25519 bits (spki, buffer(44), Ed25519, false, [])
Pass Good parameters: Ed25519 bits (jwk, object(kty, crv, x), {name: Ed25519}, false, [])
Pass Good parameters: Ed25519 bits (jwk, object(kty, crv, x), Ed25519, false, [])
Pass Good parameters: Ed25519 bits (raw, buffer(32), {name: Ed25519}, false, [])
Pass Good parameters: Ed25519 bits (raw, buffer(32), Ed25519, false, [])
Pass Good parameters: Ed25519 bits (spki, buffer(44), {name: Ed25519}, false, [verify, verify])
Pass Good parameters: Ed25519 bits (spki, buffer(44), Ed25519, false, [verify, verify])
Pass Good parameters: Ed25519 bits (jwk, object(kty, crv, x), {name: Ed25519}, false, [verify, verify])
Pass Good parameters: Ed25519 bits (jwk, object(kty, crv, x), Ed25519, false, [verify, verify])
Pass Good parameters: Ed25519 bits (raw, buffer(32), {name: Ed25519}, false, [verify, verify])
Pass Good parameters: Ed25519 bits (raw, buffer(32), Ed25519, false, [verify, verify])
Pass Good parameters: Ed25519 bits (pkcs8, buffer(48), {name: Ed25519}, false, [sign])
Pass Good parameters: Ed25519 bits (pkcs8, buffer(48), Ed25519, false, [sign])
Pass Good parameters: Ed25519 bits (jwk, object(crv, d, x, kty), {name: Ed25519}, false, [sign])
Pass Good parameters: Ed25519 bits (jwk, object(crv, d, x, kty), Ed25519, false, [sign])
Pass Good parameters: Ed25519 bits (pkcs8, buffer(48), {name: Ed25519}, false, [sign, sign])
Pass Good parameters: Ed25519 bits (pkcs8, buffer(48), Ed25519, false, [sign, sign])
Pass Good parameters: Ed25519 bits (jwk, object(crv, d, x, kty), {name: Ed25519}, false, [sign, sign])
Pass Good parameters: Ed25519 bits (jwk, object(crv, d, x, kty), Ed25519, false, [sign, sign])
Fail Good parameters: Ed25519 bits (spki, buffer(44), {name: Ed25519}, true, [verify])
Fail Good parameters: Ed25519 bits (spki, buffer(44), Ed25519, true, [verify])
Fail Good parameters: Ed25519 bits (jwk, object(kty, crv, x), {name: Ed25519}, true, [verify])
Fail Good parameters: Ed25519 bits (jwk, object(kty, crv, x), Ed25519, true, [verify])
Fail Good parameters with ignored JWK alg: Ed25519 (jwk, object(kty, crv, x), {name: Ed25519}, true, [verify])
Fail Good parameters with ignored JWK alg: Ed25519 (jwk, object(kty, crv, x), Ed25519, true, [verify])
Pass Good parameters: Ed25519 bits (raw, buffer(32), {name: Ed25519}, true, [verify])
Pass Good parameters: Ed25519 bits (raw, buffer(32), Ed25519, true, [verify])
Fail Good parameters: Ed25519 bits (spki, buffer(44), {name: Ed25519}, true, [])
Fail Good parameters: Ed25519 bits (spki, buffer(44), Ed25519, true, [])
Fail Good parameters: Ed25519 bits (jwk, object(kty, crv, x), {name: Ed25519}, true, [])
Fail Good parameters: Ed25519 bits (jwk, object(kty, crv, x), Ed25519, true, [])
Fail Good parameters with ignored JWK alg: Ed25519 (jwk, object(kty, crv, x), {name: Ed25519}, true, [])
Fail Good parameters with ignored JWK alg: Ed25519 (jwk, object(kty, crv, x), Ed25519, true, [])
Pass Good parameters: Ed25519 bits (raw, buffer(32), {name: Ed25519}, true, [])
Pass Good parameters: Ed25519 bits (raw, buffer(32), Ed25519, true, [])
Fail Good parameters: Ed25519 bits (spki, buffer(44), {name: Ed25519}, true, [verify, verify])
Fail Good parameters: Ed25519 bits (spki, buffer(44), Ed25519, true, [verify, verify])
Fail Good parameters: Ed25519 bits (jwk, object(kty, crv, x), {name: Ed25519}, true, [verify, verify])
Fail Good parameters: Ed25519 bits (jwk, object(kty, crv, x), Ed25519, true, [verify, verify])
Fail Good parameters with ignored JWK alg: Ed25519 (jwk, object(kty, crv, x), {name: Ed25519}, true, [verify, verify])
Fail Good parameters with ignored JWK alg: Ed25519 (jwk, object(kty, crv, x), Ed25519, true, [verify, verify])
Pass Good parameters: Ed25519 bits (raw, buffer(32), {name: Ed25519}, true, [verify, verify])
Pass Good parameters: Ed25519 bits (raw, buffer(32), Ed25519, true, [verify, verify])
Fail Good parameters: Ed25519 bits (pkcs8, buffer(48), {name: Ed25519}, true, [sign])
Fail Good parameters: Ed25519 bits (pkcs8, buffer(48), Ed25519, true, [sign])
Fail Good parameters: Ed25519 bits (jwk, object(crv, d, x, kty), {name: Ed25519}, true, [sign])
Fail Good parameters: Ed25519 bits (jwk, object(crv, d, x, kty), Ed25519, true, [sign])
Fail Good parameters with ignored JWK alg: Ed25519 (jwk, object(crv, d, x, kty), {name: Ed25519}, true, [sign])
Fail Good parameters with ignored JWK alg: Ed25519 (jwk, object(crv, d, x, kty), Ed25519, true, [sign])
Fail Good parameters: Ed25519 bits (pkcs8, buffer(48), {name: Ed25519}, true, [sign, sign])
Fail Good parameters: Ed25519 bits (pkcs8, buffer(48), Ed25519, true, [sign, sign])
Fail Good parameters: Ed25519 bits (jwk, object(crv, d, x, kty), {name: Ed25519}, true, [sign, sign])
Fail Good parameters: Ed25519 bits (jwk, object(crv, d, x, kty), Ed25519, true, [sign, sign])
Fail Good parameters with ignored JWK alg: Ed25519 (jwk, object(crv, d, x, kty), {name: Ed25519}, true, [sign, sign])
Fail Good parameters with ignored JWK alg: Ed25519 (jwk, object(crv, d, x, kty), Ed25519, true, [sign, sign])
Pass Good parameters: Ed25519 bits (spki, buffer(44), {name: Ed25519}, false, [verify])
Pass Good parameters: Ed25519 bits (spki, buffer(44), Ed25519, false, [verify])
Pass Good parameters: Ed25519 bits (jwk, object(kty, crv, x), {name: Ed25519}, false, [verify])
Pass Good parameters: Ed25519 bits (jwk, object(kty, crv, x), Ed25519, false, [verify])
Pass Good parameters: Ed25519 bits (raw, buffer(32), {name: Ed25519}, false, [verify])
Pass Good parameters: Ed25519 bits (raw, buffer(32), Ed25519, false, [verify])
Pass Good parameters: Ed25519 bits (spki, buffer(44), {name: Ed25519}, false, [])
Pass Good parameters: Ed25519 bits (spki, buffer(44), Ed25519, false, [])
Pass Good parameters: Ed25519 bits (jwk, object(kty, crv, x), {name: Ed25519}, false, [])
Pass Good parameters: Ed25519 bits (jwk, object(kty, crv, x), Ed25519, false, [])
Pass Good parameters: Ed25519 bits (raw, buffer(32), {name: Ed25519}, false, [])
Pass Good parameters: Ed25519 bits (raw, buffer(32), Ed25519, false, [])
Pass Good parameters: Ed25519 bits (spki, buffer(44), {name: Ed25519}, false, [verify, verify])
Pass Good parameters: Ed25519 bits (spki, buffer(44), Ed25519, false, [verify, verify])
Pass Good parameters: Ed25519 bits (jwk, object(kty, crv, x), {name: Ed25519}, false, [verify, verify])
Pass Good parameters: Ed25519 bits (jwk, object(kty, crv, x), Ed25519, false, [verify, verify])
Pass Good parameters: Ed25519 bits (raw, buffer(32), {name: Ed25519}, false, [verify, verify])
Pass Good parameters: Ed25519 bits (raw, buffer(32), Ed25519, false, [verify, verify])
Pass Good parameters: Ed25519 bits (pkcs8, buffer(48), {name: Ed25519}, false, [sign])
Pass Good parameters: Ed25519 bits (pkcs8, buffer(48), Ed25519, false, [sign])
Pass Good parameters: Ed25519 bits (jwk, object(crv, d, x, kty), {name: Ed25519}, false, [sign])
Pass Good parameters: Ed25519 bits (jwk, object(crv, d, x, kty), Ed25519, false, [sign])
Pass Good parameters: Ed25519 bits (pkcs8, buffer(48), {name: Ed25519}, false, [sign, sign])
Pass Good parameters: Ed25519 bits (pkcs8, buffer(48), Ed25519, false, [sign, sign])
Pass Good parameters: Ed25519 bits (jwk, object(crv, d, x, kty), {name: Ed25519}, false, [sign, sign])
Pass Good parameters: Ed25519 bits (jwk, object(crv, d, x, kty), Ed25519, false, [sign, sign])

View file

@ -1,65 +1,60 @@
Summary
Harness status: OK
Rerun
Found 54 tests
24 Pass
30 Fail
Details
Result Test Name MessageFail Good parameters: X25519 bits (spki, buffer(44), {name: X25519}, true, [])
Fail Good parameters: X25519 bits (spki, buffer(44), X25519, true, [])
Fail Good parameters: X25519 bits (jwk, object(kty, crv, x), {name: X25519}, true, [])
Fail Good parameters: X25519 bits (jwk, object(kty, crv, x), X25519, true, [])
Fail Good parameters with ignored JWK alg: X25519 (jwk, object(kty, crv, x), {name: X25519}, true, [])
Fail Good parameters with ignored JWK alg: X25519 (jwk, object(kty, crv, x), X25519, true, [])
Pass Good parameters: X25519 bits (raw, buffer(32), {name: X25519}, true, [])
Pass Good parameters: X25519 bits (raw, buffer(32), X25519, true, [])
Fail Good parameters: X25519 bits (pkcs8, buffer(48), {name: X25519}, true, [deriveKey])
Fail Good parameters: X25519 bits (pkcs8, buffer(48), X25519, true, [deriveKey])
Fail Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveKey])
Fail Good parameters: X25519 bits (jwk, object(crv, d, x, kty), X25519, true, [deriveKey])
Fail Good parameters with ignored JWK alg: X25519 (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveKey])
Fail Good parameters with ignored JWK alg: X25519 (jwk, object(crv, d, x, kty), X25519, true, [deriveKey])
Fail Good parameters: X25519 bits (pkcs8, buffer(48), {name: X25519}, true, [deriveBits, deriveKey])
Fail Good parameters: X25519 bits (pkcs8, buffer(48), X25519, true, [deriveBits, deriveKey])
Fail Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveBits, deriveKey])
Fail Good parameters: X25519 bits (jwk, object(crv, d, x, kty), X25519, true, [deriveBits, deriveKey])
Fail Good parameters with ignored JWK alg: X25519 (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveBits, deriveKey])
Fail Good parameters with ignored JWK alg: X25519 (jwk, object(crv, d, x, kty), X25519, true, [deriveBits, deriveKey])
Fail Good parameters: X25519 bits (pkcs8, buffer(48), {name: X25519}, true, [deriveBits])
Fail Good parameters: X25519 bits (pkcs8, buffer(48), X25519, true, [deriveBits])
Fail Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveBits])
Fail Good parameters: X25519 bits (jwk, object(crv, d, x, kty), X25519, true, [deriveBits])
Fail Good parameters with ignored JWK alg: X25519 (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveBits])
Fail Good parameters with ignored JWK alg: X25519 (jwk, object(crv, d, x, kty), X25519, true, [deriveBits])
Fail Good parameters: X25519 bits (pkcs8, buffer(48), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Fail Good parameters: X25519 bits (pkcs8, buffer(48), X25519, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Fail Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Fail Good parameters: X25519 bits (jwk, object(crv, d, x, kty), X25519, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Fail Good parameters with ignored JWK alg: X25519 (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Fail Good parameters with ignored JWK alg: X25519 (jwk, object(crv, d, x, kty), X25519, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Good parameters: X25519 bits (spki, buffer(44), {name: X25519}, false, [])
Pass Good parameters: X25519 bits (spki, buffer(44), X25519, false, [])
Pass Good parameters: X25519 bits (jwk, object(kty, crv, x), {name: X25519}, false, [])
Pass Good parameters: X25519 bits (jwk, object(kty, crv, x), X25519, false, [])
Pass Good parameters: X25519 bits (raw, buffer(32), {name: X25519}, false, [])
Pass Good parameters: X25519 bits (raw, buffer(32), X25519, false, [])
Pass Good parameters: X25519 bits (pkcs8, buffer(48), {name: X25519}, false, [deriveKey])
Pass Good parameters: X25519 bits (pkcs8, buffer(48), X25519, false, [deriveKey])
Pass Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, false, [deriveKey])
Pass Good parameters: X25519 bits (jwk, object(crv, d, x, kty), X25519, false, [deriveKey])
Pass Good parameters: X25519 bits (pkcs8, buffer(48), {name: X25519}, false, [deriveBits, deriveKey])
Pass Good parameters: X25519 bits (pkcs8, buffer(48), X25519, false, [deriveBits, deriveKey])
Pass Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, false, [deriveBits, deriveKey])
Pass Good parameters: X25519 bits (jwk, object(crv, d, x, kty), X25519, false, [deriveBits, deriveKey])
Pass Good parameters: X25519 bits (pkcs8, buffer(48), {name: X25519}, false, [deriveBits])
Pass Good parameters: X25519 bits (pkcs8, buffer(48), X25519, false, [deriveBits])
Pass Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, false, [deriveBits])
Pass Good parameters: X25519 bits (jwk, object(crv, d, x, kty), X25519, false, [deriveBits])
Pass Good parameters: X25519 bits (pkcs8, buffer(48), {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Good parameters: X25519 bits (pkcs8, buffer(48), X25519, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Good parameters: X25519 bits (jwk, object(crv, d, x, kty), X25519, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Fail Good parameters: X25519 bits (spki, buffer(44), {name: X25519}, true, [])
Fail Good parameters: X25519 bits (spki, buffer(44), X25519, true, [])
Fail Good parameters: X25519 bits (jwk, object(kty, crv, x), {name: X25519}, true, [])
Fail Good parameters: X25519 bits (jwk, object(kty, crv, x), X25519, true, [])
Fail Good parameters with ignored JWK alg: X25519 (jwk, object(kty, crv, x), {name: X25519}, true, [])
Fail Good parameters with ignored JWK alg: X25519 (jwk, object(kty, crv, x), X25519, true, [])
Pass Good parameters: X25519 bits (raw, buffer(32), {name: X25519}, true, [])
Pass Good parameters: X25519 bits (raw, buffer(32), X25519, true, [])
Fail Good parameters: X25519 bits (pkcs8, buffer(48), {name: X25519}, true, [deriveKey])
Fail Good parameters: X25519 bits (pkcs8, buffer(48), X25519, true, [deriveKey])
Fail Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveKey])
Fail Good parameters: X25519 bits (jwk, object(crv, d, x, kty), X25519, true, [deriveKey])
Fail Good parameters with ignored JWK alg: X25519 (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveKey])
Fail Good parameters with ignored JWK alg: X25519 (jwk, object(crv, d, x, kty), X25519, true, [deriveKey])
Fail Good parameters: X25519 bits (pkcs8, buffer(48), {name: X25519}, true, [deriveBits, deriveKey])
Fail Good parameters: X25519 bits (pkcs8, buffer(48), X25519, true, [deriveBits, deriveKey])
Fail Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveBits, deriveKey])
Fail Good parameters: X25519 bits (jwk, object(crv, d, x, kty), X25519, true, [deriveBits, deriveKey])
Fail Good parameters with ignored JWK alg: X25519 (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveBits, deriveKey])
Fail Good parameters with ignored JWK alg: X25519 (jwk, object(crv, d, x, kty), X25519, true, [deriveBits, deriveKey])
Fail Good parameters: X25519 bits (pkcs8, buffer(48), {name: X25519}, true, [deriveBits])
Fail Good parameters: X25519 bits (pkcs8, buffer(48), X25519, true, [deriveBits])
Fail Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveBits])
Fail Good parameters: X25519 bits (jwk, object(crv, d, x, kty), X25519, true, [deriveBits])
Fail Good parameters with ignored JWK alg: X25519 (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveBits])
Fail Good parameters with ignored JWK alg: X25519 (jwk, object(crv, d, x, kty), X25519, true, [deriveBits])
Fail Good parameters: X25519 bits (pkcs8, buffer(48), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Fail Good parameters: X25519 bits (pkcs8, buffer(48), X25519, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Fail Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Fail Good parameters: X25519 bits (jwk, object(crv, d, x, kty), X25519, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Fail Good parameters with ignored JWK alg: X25519 (jwk, object(crv, d, x, kty), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Fail Good parameters with ignored JWK alg: X25519 (jwk, object(crv, d, x, kty), X25519, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Good parameters: X25519 bits (spki, buffer(44), {name: X25519}, false, [])
Pass Good parameters: X25519 bits (spki, buffer(44), X25519, false, [])
Pass Good parameters: X25519 bits (jwk, object(kty, crv, x), {name: X25519}, false, [])
Pass Good parameters: X25519 bits (jwk, object(kty, crv, x), X25519, false, [])
Pass Good parameters: X25519 bits (raw, buffer(32), {name: X25519}, false, [])
Pass Good parameters: X25519 bits (raw, buffer(32), X25519, false, [])
Pass Good parameters: X25519 bits (pkcs8, buffer(48), {name: X25519}, false, [deriveKey])
Pass Good parameters: X25519 bits (pkcs8, buffer(48), X25519, false, [deriveKey])
Pass Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, false, [deriveKey])
Pass Good parameters: X25519 bits (jwk, object(crv, d, x, kty), X25519, false, [deriveKey])
Pass Good parameters: X25519 bits (pkcs8, buffer(48), {name: X25519}, false, [deriveBits, deriveKey])
Pass Good parameters: X25519 bits (pkcs8, buffer(48), X25519, false, [deriveBits, deriveKey])
Pass Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, false, [deriveBits, deriveKey])
Pass Good parameters: X25519 bits (jwk, object(crv, d, x, kty), X25519, false, [deriveBits, deriveKey])
Pass Good parameters: X25519 bits (pkcs8, buffer(48), {name: X25519}, false, [deriveBits])
Pass Good parameters: X25519 bits (pkcs8, buffer(48), X25519, false, [deriveBits])
Pass Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, false, [deriveBits])
Pass Good parameters: X25519 bits (jwk, object(crv, d, x, kty), X25519, false, [deriveBits])
Pass Good parameters: X25519 bits (pkcs8, buffer(48), {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Good parameters: X25519 bits (pkcs8, buffer(48), X25519, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Good parameters: X25519 bits (jwk, object(crv, d, x, kty), {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Good parameters: X25519 bits (jwk, object(crv, d, x, kty), X25519, false, [deriveKey, deriveBits, deriveKey, deriveBits])

View file

@ -1,65 +1,60 @@
Summary
Harness status: OK
Rerun
Found 54 tests
24 Pass
30 Fail
Details
Result Test Name MessageFail Good parameters: X448 bits (spki, buffer(68), {name: X448}, true, [])
Fail Good parameters: X448 bits (spki, buffer(68), X448, true, [])
Fail Good parameters: X448 bits (jwk, object(kty, crv, x), {name: X448}, true, [])
Fail Good parameters: X448 bits (jwk, object(kty, crv, x), X448, true, [])
Fail Good parameters with ignored JWK alg: X448 (jwk, object(kty, crv, x), {name: X448}, true, [])
Fail Good parameters with ignored JWK alg: X448 (jwk, object(kty, crv, x), X448, true, [])
Pass Good parameters: X448 bits (raw, buffer(56), {name: X448}, true, [])
Pass Good parameters: X448 bits (raw, buffer(56), X448, true, [])
Fail Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, true, [deriveKey])
Fail Good parameters: X448 bits (pkcs8, buffer(72), X448, true, [deriveKey])
Fail Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveKey])
Fail Good parameters: X448 bits (jwk, object(crv, d, x, kty), X448, true, [deriveKey])
Fail Good parameters with ignored JWK alg: X448 (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveKey])
Fail Good parameters with ignored JWK alg: X448 (jwk, object(crv, d, x, kty), X448, true, [deriveKey])
Fail Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, true, [deriveBits, deriveKey])
Fail Good parameters: X448 bits (pkcs8, buffer(72), X448, true, [deriveBits, deriveKey])
Fail Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveBits, deriveKey])
Fail Good parameters: X448 bits (jwk, object(crv, d, x, kty), X448, true, [deriveBits, deriveKey])
Fail Good parameters with ignored JWK alg: X448 (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveBits, deriveKey])
Fail Good parameters with ignored JWK alg: X448 (jwk, object(crv, d, x, kty), X448, true, [deriveBits, deriveKey])
Fail Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, true, [deriveBits])
Fail Good parameters: X448 bits (pkcs8, buffer(72), X448, true, [deriveBits])
Fail Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveBits])
Fail Good parameters: X448 bits (jwk, object(crv, d, x, kty), X448, true, [deriveBits])
Fail Good parameters with ignored JWK alg: X448 (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveBits])
Fail Good parameters with ignored JWK alg: X448 (jwk, object(crv, d, x, kty), X448, true, [deriveBits])
Fail Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Fail Good parameters: X448 bits (pkcs8, buffer(72), X448, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Fail Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Fail Good parameters: X448 bits (jwk, object(crv, d, x, kty), X448, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Fail Good parameters with ignored JWK alg: X448 (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Fail Good parameters with ignored JWK alg: X448 (jwk, object(crv, d, x, kty), X448, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Good parameters: X448 bits (spki, buffer(68), {name: X448}, false, [])
Pass Good parameters: X448 bits (spki, buffer(68), X448, false, [])
Pass Good parameters: X448 bits (jwk, object(kty, crv, x), {name: X448}, false, [])
Pass Good parameters: X448 bits (jwk, object(kty, crv, x), X448, false, [])
Pass Good parameters: X448 bits (raw, buffer(56), {name: X448}, false, [])
Pass Good parameters: X448 bits (raw, buffer(56), X448, false, [])
Pass Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, false, [deriveKey])
Pass Good parameters: X448 bits (pkcs8, buffer(72), X448, false, [deriveKey])
Pass Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, false, [deriveKey])
Pass Good parameters: X448 bits (jwk, object(crv, d, x, kty), X448, false, [deriveKey])
Pass Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, false, [deriveBits, deriveKey])
Pass Good parameters: X448 bits (pkcs8, buffer(72), X448, false, [deriveBits, deriveKey])
Pass Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, false, [deriveBits, deriveKey])
Pass Good parameters: X448 bits (jwk, object(crv, d, x, kty), X448, false, [deriveBits, deriveKey])
Pass Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, false, [deriveBits])
Pass Good parameters: X448 bits (pkcs8, buffer(72), X448, false, [deriveBits])
Pass Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, false, [deriveBits])
Pass Good parameters: X448 bits (jwk, object(crv, d, x, kty), X448, false, [deriveBits])
Pass Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Good parameters: X448 bits (pkcs8, buffer(72), X448, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Good parameters: X448 bits (jwk, object(crv, d, x, kty), X448, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Fail Good parameters: X448 bits (spki, buffer(68), {name: X448}, true, [])
Fail Good parameters: X448 bits (spki, buffer(68), X448, true, [])
Fail Good parameters: X448 bits (jwk, object(kty, crv, x), {name: X448}, true, [])
Fail Good parameters: X448 bits (jwk, object(kty, crv, x), X448, true, [])
Fail Good parameters with ignored JWK alg: X448 (jwk, object(kty, crv, x), {name: X448}, true, [])
Fail Good parameters with ignored JWK alg: X448 (jwk, object(kty, crv, x), X448, true, [])
Pass Good parameters: X448 bits (raw, buffer(56), {name: X448}, true, [])
Pass Good parameters: X448 bits (raw, buffer(56), X448, true, [])
Fail Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, true, [deriveKey])
Fail Good parameters: X448 bits (pkcs8, buffer(72), X448, true, [deriveKey])
Fail Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveKey])
Fail Good parameters: X448 bits (jwk, object(crv, d, x, kty), X448, true, [deriveKey])
Fail Good parameters with ignored JWK alg: X448 (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveKey])
Fail Good parameters with ignored JWK alg: X448 (jwk, object(crv, d, x, kty), X448, true, [deriveKey])
Fail Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, true, [deriveBits, deriveKey])
Fail Good parameters: X448 bits (pkcs8, buffer(72), X448, true, [deriveBits, deriveKey])
Fail Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveBits, deriveKey])
Fail Good parameters: X448 bits (jwk, object(crv, d, x, kty), X448, true, [deriveBits, deriveKey])
Fail Good parameters with ignored JWK alg: X448 (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveBits, deriveKey])
Fail Good parameters with ignored JWK alg: X448 (jwk, object(crv, d, x, kty), X448, true, [deriveBits, deriveKey])
Fail Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, true, [deriveBits])
Fail Good parameters: X448 bits (pkcs8, buffer(72), X448, true, [deriveBits])
Fail Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveBits])
Fail Good parameters: X448 bits (jwk, object(crv, d, x, kty), X448, true, [deriveBits])
Fail Good parameters with ignored JWK alg: X448 (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveBits])
Fail Good parameters with ignored JWK alg: X448 (jwk, object(crv, d, x, kty), X448, true, [deriveBits])
Fail Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Fail Good parameters: X448 bits (pkcs8, buffer(72), X448, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Fail Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Fail Good parameters: X448 bits (jwk, object(crv, d, x, kty), X448, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Fail Good parameters with ignored JWK alg: X448 (jwk, object(crv, d, x, kty), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Fail Good parameters with ignored JWK alg: X448 (jwk, object(crv, d, x, kty), X448, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Good parameters: X448 bits (spki, buffer(68), {name: X448}, false, [])
Pass Good parameters: X448 bits (spki, buffer(68), X448, false, [])
Pass Good parameters: X448 bits (jwk, object(kty, crv, x), {name: X448}, false, [])
Pass Good parameters: X448 bits (jwk, object(kty, crv, x), X448, false, [])
Pass Good parameters: X448 bits (raw, buffer(56), {name: X448}, false, [])
Pass Good parameters: X448 bits (raw, buffer(56), X448, false, [])
Pass Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, false, [deriveKey])
Pass Good parameters: X448 bits (pkcs8, buffer(72), X448, false, [deriveKey])
Pass Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, false, [deriveKey])
Pass Good parameters: X448 bits (jwk, object(crv, d, x, kty), X448, false, [deriveKey])
Pass Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, false, [deriveBits, deriveKey])
Pass Good parameters: X448 bits (pkcs8, buffer(72), X448, false, [deriveBits, deriveKey])
Pass Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, false, [deriveBits, deriveKey])
Pass Good parameters: X448 bits (jwk, object(crv, d, x, kty), X448, false, [deriveBits, deriveKey])
Pass Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, false, [deriveBits])
Pass Good parameters: X448 bits (pkcs8, buffer(72), X448, false, [deriveBits])
Pass Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, false, [deriveBits])
Pass Good parameters: X448 bits (jwk, object(crv, d, x, kty), X448, false, [deriveBits])
Pass Good parameters: X448 bits (pkcs8, buffer(72), {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Good parameters: X448 bits (pkcs8, buffer(72), X448, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Good parameters: X448 bits (jwk, object(crv, d, x, kty), {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Good parameters: X448 bits (jwk, object(crv, d, x, kty), X448, false, [deriveKey, deriveBits, deriveKey, deriveBits])

View file

@ -1,269 +1,264 @@
Summary
Harness status: OK
Rerun
Found 258 tests
244 Pass
14 Fail
Details
Result Test Name MessagePass Bad usages: importKey(spki, {name: Ed25519}, true, [encrypt])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [encrypt])
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [verify, encrypt])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [verify, encrypt])
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [verify, verify, encrypt])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [verify, verify, encrypt])
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [decrypt])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [decrypt])
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [verify, decrypt])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [verify, decrypt])
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [verify, verify, decrypt])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [verify, verify, decrypt])
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [sign])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [sign])
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [verify, sign])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [verify, sign])
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [verify, verify, sign])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [verify, verify, sign])
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [wrapKey])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [wrapKey])
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [verify, wrapKey])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [verify, wrapKey])
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [verify, verify, wrapKey])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [verify, verify, wrapKey])
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [unwrapKey])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [unwrapKey])
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [verify, unwrapKey])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [verify, unwrapKey])
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [verify, verify, unwrapKey])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [verify, verify, unwrapKey])
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [deriveKey])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [deriveKey])
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [verify, deriveKey])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [verify, deriveKey])
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [verify, verify, deriveKey])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [verify, verify, deriveKey])
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [deriveBits])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [deriveBits])
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [verify, deriveBits])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [verify, deriveBits])
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [verify, verify, deriveBits])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [verify, verify, deriveBits])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, true, [encrypt])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, false, [encrypt])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, true, [sign, encrypt])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, false, [sign, encrypt])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, true, [sign, sign, encrypt])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, false, [sign, sign, encrypt])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, true, [decrypt])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, false, [decrypt])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, true, [sign, decrypt])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, false, [sign, decrypt])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, true, [sign, sign, decrypt])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, false, [sign, sign, decrypt])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, true, [verify])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, false, [verify])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, true, [sign, verify])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, false, [sign, verify])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, true, [sign, sign, verify])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, false, [sign, sign, verify])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, true, [wrapKey])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, false, [wrapKey])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, true, [sign, wrapKey])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, false, [sign, wrapKey])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, true, [sign, sign, wrapKey])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, false, [sign, sign, wrapKey])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, true, [unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, false, [unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, true, [sign, unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, false, [sign, unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, true, [sign, sign, unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, false, [sign, sign, unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, true, [deriveKey])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, false, [deriveKey])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, true, [sign, deriveKey])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, false, [sign, deriveKey])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, true, [sign, sign, deriveKey])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, false, [sign, sign, deriveKey])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, true, [deriveBits])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, false, [deriveBits])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, true, [sign, deriveBits])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, false, [sign, deriveBits])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, true, [sign, sign, deriveBits])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, false, [sign, sign, deriveBits])
Pass Bad usages: importKey(raw, {name: Ed25519}, true, [encrypt])
Pass Bad usages: importKey(raw, {name: Ed25519}, false, [encrypt])
Pass Bad usages: importKey(raw, {name: Ed25519}, true, [verify, encrypt])
Pass Bad usages: importKey(raw, {name: Ed25519}, false, [verify, encrypt])
Pass Bad usages: importKey(raw, {name: Ed25519}, true, [verify, verify, encrypt])
Pass Bad usages: importKey(raw, {name: Ed25519}, false, [verify, verify, encrypt])
Pass Bad usages: importKey(raw, {name: Ed25519}, true, [decrypt])
Pass Bad usages: importKey(raw, {name: Ed25519}, false, [decrypt])
Pass Bad usages: importKey(raw, {name: Ed25519}, true, [verify, decrypt])
Pass Bad usages: importKey(raw, {name: Ed25519}, false, [verify, decrypt])
Pass Bad usages: importKey(raw, {name: Ed25519}, true, [verify, verify, decrypt])
Pass Bad usages: importKey(raw, {name: Ed25519}, false, [verify, verify, decrypt])
Pass Bad usages: importKey(raw, {name: Ed25519}, true, [sign])
Pass Bad usages: importKey(raw, {name: Ed25519}, false, [sign])
Pass Bad usages: importKey(raw, {name: Ed25519}, true, [verify, sign])
Pass Bad usages: importKey(raw, {name: Ed25519}, false, [verify, sign])
Pass Bad usages: importKey(raw, {name: Ed25519}, true, [verify, verify, sign])
Pass Bad usages: importKey(raw, {name: Ed25519}, false, [verify, verify, sign])
Pass Bad usages: importKey(raw, {name: Ed25519}, true, [wrapKey])
Pass Bad usages: importKey(raw, {name: Ed25519}, false, [wrapKey])
Pass Bad usages: importKey(raw, {name: Ed25519}, true, [verify, wrapKey])
Pass Bad usages: importKey(raw, {name: Ed25519}, false, [verify, wrapKey])
Pass Bad usages: importKey(raw, {name: Ed25519}, true, [verify, verify, wrapKey])
Pass Bad usages: importKey(raw, {name: Ed25519}, false, [verify, verify, wrapKey])
Pass Bad usages: importKey(raw, {name: Ed25519}, true, [unwrapKey])
Pass Bad usages: importKey(raw, {name: Ed25519}, false, [unwrapKey])
Pass Bad usages: importKey(raw, {name: Ed25519}, true, [verify, unwrapKey])
Pass Bad usages: importKey(raw, {name: Ed25519}, false, [verify, unwrapKey])
Pass Bad usages: importKey(raw, {name: Ed25519}, true, [verify, verify, unwrapKey])
Pass Bad usages: importKey(raw, {name: Ed25519}, false, [verify, verify, unwrapKey])
Pass Bad usages: importKey(raw, {name: Ed25519}, true, [deriveKey])
Pass Bad usages: importKey(raw, {name: Ed25519}, false, [deriveKey])
Pass Bad usages: importKey(raw, {name: Ed25519}, true, [verify, deriveKey])
Pass Bad usages: importKey(raw, {name: Ed25519}, false, [verify, deriveKey])
Pass Bad usages: importKey(raw, {name: Ed25519}, true, [verify, verify, deriveKey])
Pass Bad usages: importKey(raw, {name: Ed25519}, false, [verify, verify, deriveKey])
Pass Bad usages: importKey(raw, {name: Ed25519}, true, [deriveBits])
Pass Bad usages: importKey(raw, {name: Ed25519}, false, [deriveBits])
Pass Bad usages: importKey(raw, {name: Ed25519}, true, [verify, deriveBits])
Pass Bad usages: importKey(raw, {name: Ed25519}, false, [verify, deriveBits])
Pass Bad usages: importKey(raw, {name: Ed25519}, true, [verify, verify, deriveBits])
Pass Bad usages: importKey(raw, {name: Ed25519}, false, [verify, verify, deriveBits])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, true, [encrypt])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, false, [encrypt])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, true, [sign, encrypt])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, false, [sign, encrypt])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, true, [sign, sign, encrypt])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, false, [sign, sign, encrypt])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, true, [decrypt])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, false, [decrypt])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, true, [sign, decrypt])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, false, [sign, decrypt])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, true, [sign, sign, decrypt])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, false, [sign, sign, decrypt])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, true, [verify])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, false, [verify])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, true, [sign, verify])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, false, [sign, verify])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, true, [sign, sign, verify])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, false, [sign, sign, verify])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, true, [wrapKey])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, false, [wrapKey])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, true, [sign, wrapKey])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, false, [sign, wrapKey])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, true, [sign, sign, wrapKey])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, false, [sign, sign, wrapKey])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, true, [unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, false, [unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, true, [sign, unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, false, [sign, unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, true, [sign, sign, unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, false, [sign, sign, unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, true, [deriveKey])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, false, [deriveKey])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, true, [sign, deriveKey])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, false, [sign, deriveKey])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, true, [sign, sign, deriveKey])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, false, [sign, sign, deriveKey])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, true, [deriveBits])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, false, [deriveBits])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, true, [sign, deriveBits])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, false, [sign, deriveBits])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, true, [sign, sign, deriveBits])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, false, [sign, sign, deriveBits])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, true, [encrypt])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, false, [encrypt])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, true, [verify, encrypt])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, false, [verify, encrypt])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, true, [verify, verify, encrypt])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, false, [verify, verify, encrypt])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, true, [decrypt])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, false, [decrypt])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, true, [verify, decrypt])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, false, [verify, decrypt])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, true, [verify, verify, decrypt])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, false, [verify, verify, decrypt])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, true, [sign])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, false, [sign])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, true, [verify, sign])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, false, [verify, sign])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, true, [verify, verify, sign])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, false, [verify, verify, sign])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, true, [wrapKey])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, false, [wrapKey])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, true, [verify, wrapKey])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, false, [verify, wrapKey])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, true, [verify, verify, wrapKey])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, false, [verify, verify, wrapKey])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, true, [unwrapKey])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, false, [unwrapKey])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, true, [verify, unwrapKey])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, false, [verify, unwrapKey])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, true, [verify, verify, unwrapKey])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, false, [verify, verify, unwrapKey])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, true, [deriveKey])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, false, [deriveKey])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, true, [verify, deriveKey])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, false, [verify, deriveKey])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, true, [verify, verify, deriveKey])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, false, [verify, verify, deriveKey])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, true, [deriveBits])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, false, [deriveBits])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, true, [verify, deriveBits])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, false, [verify, deriveBits])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, true, [verify, verify, deriveBits])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, false, [verify, verify, deriveBits])
Pass Empty usages: importKey(pkcs8, {name: Ed25519}, true, [])
Pass Empty usages: importKey(pkcs8, {name: Ed25519}, false, [])
Pass Empty usages: importKey(jwk(private), {name: Ed25519}, true, [])
Pass Empty usages: importKey(jwk(private), {name: Ed25519}, false, [])
Pass Bad key length: importKey(spki, {name: Ed25519}, true, [verify])
Pass Bad key length: importKey(spki, {name: Ed25519}, false, [verify])
Pass Bad key length: importKey(spki, {name: Ed25519}, true, [verify, verify])
Pass Bad key length: importKey(spki, {name: Ed25519}, false, [verify, verify])
Pass Bad key length: importKey(pkcs8, {name: Ed25519}, true, [sign])
Pass Bad key length: importKey(pkcs8, {name: Ed25519}, false, [sign])
Pass Bad key length: importKey(pkcs8, {name: Ed25519}, true, [sign, sign])
Pass Bad key length: importKey(pkcs8, {name: Ed25519}, false, [sign, sign])
Fail Bad key length: importKey(raw, {name: Ed25519}, true, [verify])
Fail Bad key length: importKey(raw, {name: Ed25519}, false, [verify])
Fail Bad key length: importKey(raw, {name: Ed25519}, true, [verify, verify])
Fail Bad key length: importKey(raw, {name: Ed25519}, false, [verify, verify])
Fail Bad key length: importKey(jwk(private), {name: Ed25519}, true, [sign])
Fail Bad key length: importKey(jwk(private), {name: Ed25519}, false, [sign])
Fail Bad key length: importKey(jwk(private), {name: Ed25519}, true, [sign, sign])
Fail Bad key length: importKey(jwk(private), {name: Ed25519}, false, [sign, sign])
Fail Bad key length: importKey(jwk (public) , {name: Ed25519}, true, [verify])
Fail Bad key length: importKey(jwk (public) , {name: Ed25519}, false, [verify])
Fail Bad key length: importKey(jwk (public) , {name: Ed25519}, true, [verify, verify])
Fail Bad key length: importKey(jwk (public) , {name: Ed25519}, false, [verify, verify])
Pass Missing JWK 'x' parameter: importKey(jwk(private), {name: Ed25519}, true, [sign])
Pass Missing JWK 'x' parameter: importKey(jwk(private), {name: Ed25519}, false, [sign])
Pass Missing JWK 'x' parameter: importKey(jwk(private), {name: Ed25519}, true, [sign, sign])
Pass Missing JWK 'x' parameter: importKey(jwk(private), {name: Ed25519}, false, [sign, sign])
Pass Missing JWK 'kty' parameter: importKey(jwk(private), {name: Ed25519}, true, [sign])
Pass Missing JWK 'kty' parameter: importKey(jwk(private), {name: Ed25519}, false, [sign])
Pass Missing JWK 'kty' parameter: importKey(jwk(private), {name: Ed25519}, true, [sign, sign])
Pass Missing JWK 'kty' parameter: importKey(jwk(private), {name: Ed25519}, false, [sign, sign])
Pass Missing JWK 'crv' parameter: importKey(jwk (public) , {name: Ed25519}, true, [verify])
Pass Missing JWK 'crv' parameter: importKey(jwk (public) , {name: Ed25519}, false, [verify])
Pass Missing JWK 'crv' parameter: importKey(jwk (public) , {name: Ed25519}, true, [verify, verify])
Pass Missing JWK 'crv' parameter: importKey(jwk (public) , {name: Ed25519}, false, [verify, verify])
Fail Invalid key pair: importKey(jwk(private), {name: Ed25519}, true, [sign])
Fail Invalid key pair: importKey(jwk(private), {name: Ed25519}, true, [sign, sign])
Pass Missing algorithm name: importKey(spki, {}, true, verify)
Pass Missing algorithm name: importKey(spki, {}, false, verify)
Pass Missing algorithm name: importKey(pkcs8, {}, true, sign)
Pass Missing algorithm name: importKey(pkcs8, {}, false, sign)
Pass Missing algorithm name: importKey(raw, {}, true, verify)
Pass Missing algorithm name: importKey(raw, {}, false, verify)
Pass Missing algorithm name: importKey(jwk(private), {}, true, sign)
Pass Missing algorithm name: importKey(jwk(private), {}, false, sign)
Pass Missing algorithm name: importKey(jwk (public) , {}, true, verify)
Pass Missing algorithm name: importKey(jwk (public) , {}, false, verify)
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [encrypt])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [encrypt])
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [verify, encrypt])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [verify, encrypt])
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [verify, verify, encrypt])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [verify, verify, encrypt])
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [decrypt])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [decrypt])
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [verify, decrypt])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [verify, decrypt])
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [verify, verify, decrypt])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [verify, verify, decrypt])
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [sign])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [sign])
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [verify, sign])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [verify, sign])
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [verify, verify, sign])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [verify, verify, sign])
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [wrapKey])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [wrapKey])
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [verify, wrapKey])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [verify, wrapKey])
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [verify, verify, wrapKey])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [verify, verify, wrapKey])
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [unwrapKey])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [unwrapKey])
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [verify, unwrapKey])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [verify, unwrapKey])
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [verify, verify, unwrapKey])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [verify, verify, unwrapKey])
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [deriveKey])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [deriveKey])
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [verify, deriveKey])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [verify, deriveKey])
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [verify, verify, deriveKey])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [verify, verify, deriveKey])
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [deriveBits])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [deriveBits])
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [verify, deriveBits])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [verify, deriveBits])
Pass Bad usages: importKey(spki, {name: Ed25519}, true, [verify, verify, deriveBits])
Pass Bad usages: importKey(spki, {name: Ed25519}, false, [verify, verify, deriveBits])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, true, [encrypt])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, false, [encrypt])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, true, [sign, encrypt])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, false, [sign, encrypt])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, true, [sign, sign, encrypt])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, false, [sign, sign, encrypt])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, true, [decrypt])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, false, [decrypt])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, true, [sign, decrypt])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, false, [sign, decrypt])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, true, [sign, sign, decrypt])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, false, [sign, sign, decrypt])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, true, [verify])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, false, [verify])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, true, [sign, verify])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, false, [sign, verify])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, true, [sign, sign, verify])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, false, [sign, sign, verify])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, true, [wrapKey])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, false, [wrapKey])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, true, [sign, wrapKey])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, false, [sign, wrapKey])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, true, [sign, sign, wrapKey])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, false, [sign, sign, wrapKey])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, true, [unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, false, [unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, true, [sign, unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, false, [sign, unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, true, [sign, sign, unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, false, [sign, sign, unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, true, [deriveKey])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, false, [deriveKey])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, true, [sign, deriveKey])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, false, [sign, deriveKey])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, true, [sign, sign, deriveKey])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, false, [sign, sign, deriveKey])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, true, [deriveBits])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, false, [deriveBits])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, true, [sign, deriveBits])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, false, [sign, deriveBits])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, true, [sign, sign, deriveBits])
Pass Bad usages: importKey(pkcs8, {name: Ed25519}, false, [sign, sign, deriveBits])
Pass Bad usages: importKey(raw, {name: Ed25519}, true, [encrypt])
Pass Bad usages: importKey(raw, {name: Ed25519}, false, [encrypt])
Pass Bad usages: importKey(raw, {name: Ed25519}, true, [verify, encrypt])
Pass Bad usages: importKey(raw, {name: Ed25519}, false, [verify, encrypt])
Pass Bad usages: importKey(raw, {name: Ed25519}, true, [verify, verify, encrypt])
Pass Bad usages: importKey(raw, {name: Ed25519}, false, [verify, verify, encrypt])
Pass Bad usages: importKey(raw, {name: Ed25519}, true, [decrypt])
Pass Bad usages: importKey(raw, {name: Ed25519}, false, [decrypt])
Pass Bad usages: importKey(raw, {name: Ed25519}, true, [verify, decrypt])
Pass Bad usages: importKey(raw, {name: Ed25519}, false, [verify, decrypt])
Pass Bad usages: importKey(raw, {name: Ed25519}, true, [verify, verify, decrypt])
Pass Bad usages: importKey(raw, {name: Ed25519}, false, [verify, verify, decrypt])
Pass Bad usages: importKey(raw, {name: Ed25519}, true, [sign])
Pass Bad usages: importKey(raw, {name: Ed25519}, false, [sign])
Pass Bad usages: importKey(raw, {name: Ed25519}, true, [verify, sign])
Pass Bad usages: importKey(raw, {name: Ed25519}, false, [verify, sign])
Pass Bad usages: importKey(raw, {name: Ed25519}, true, [verify, verify, sign])
Pass Bad usages: importKey(raw, {name: Ed25519}, false, [verify, verify, sign])
Pass Bad usages: importKey(raw, {name: Ed25519}, true, [wrapKey])
Pass Bad usages: importKey(raw, {name: Ed25519}, false, [wrapKey])
Pass Bad usages: importKey(raw, {name: Ed25519}, true, [verify, wrapKey])
Pass Bad usages: importKey(raw, {name: Ed25519}, false, [verify, wrapKey])
Pass Bad usages: importKey(raw, {name: Ed25519}, true, [verify, verify, wrapKey])
Pass Bad usages: importKey(raw, {name: Ed25519}, false, [verify, verify, wrapKey])
Pass Bad usages: importKey(raw, {name: Ed25519}, true, [unwrapKey])
Pass Bad usages: importKey(raw, {name: Ed25519}, false, [unwrapKey])
Pass Bad usages: importKey(raw, {name: Ed25519}, true, [verify, unwrapKey])
Pass Bad usages: importKey(raw, {name: Ed25519}, false, [verify, unwrapKey])
Pass Bad usages: importKey(raw, {name: Ed25519}, true, [verify, verify, unwrapKey])
Pass Bad usages: importKey(raw, {name: Ed25519}, false, [verify, verify, unwrapKey])
Pass Bad usages: importKey(raw, {name: Ed25519}, true, [deriveKey])
Pass Bad usages: importKey(raw, {name: Ed25519}, false, [deriveKey])
Pass Bad usages: importKey(raw, {name: Ed25519}, true, [verify, deriveKey])
Pass Bad usages: importKey(raw, {name: Ed25519}, false, [verify, deriveKey])
Pass Bad usages: importKey(raw, {name: Ed25519}, true, [verify, verify, deriveKey])
Pass Bad usages: importKey(raw, {name: Ed25519}, false, [verify, verify, deriveKey])
Pass Bad usages: importKey(raw, {name: Ed25519}, true, [deriveBits])
Pass Bad usages: importKey(raw, {name: Ed25519}, false, [deriveBits])
Pass Bad usages: importKey(raw, {name: Ed25519}, true, [verify, deriveBits])
Pass Bad usages: importKey(raw, {name: Ed25519}, false, [verify, deriveBits])
Pass Bad usages: importKey(raw, {name: Ed25519}, true, [verify, verify, deriveBits])
Pass Bad usages: importKey(raw, {name: Ed25519}, false, [verify, verify, deriveBits])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, true, [encrypt])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, false, [encrypt])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, true, [sign, encrypt])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, false, [sign, encrypt])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, true, [sign, sign, encrypt])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, false, [sign, sign, encrypt])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, true, [decrypt])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, false, [decrypt])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, true, [sign, decrypt])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, false, [sign, decrypt])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, true, [sign, sign, decrypt])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, false, [sign, sign, decrypt])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, true, [verify])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, false, [verify])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, true, [sign, verify])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, false, [sign, verify])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, true, [sign, sign, verify])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, false, [sign, sign, verify])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, true, [wrapKey])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, false, [wrapKey])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, true, [sign, wrapKey])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, false, [sign, wrapKey])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, true, [sign, sign, wrapKey])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, false, [sign, sign, wrapKey])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, true, [unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, false, [unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, true, [sign, unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, false, [sign, unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, true, [sign, sign, unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, false, [sign, sign, unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, true, [deriveKey])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, false, [deriveKey])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, true, [sign, deriveKey])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, false, [sign, deriveKey])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, true, [sign, sign, deriveKey])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, false, [sign, sign, deriveKey])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, true, [deriveBits])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, false, [deriveBits])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, true, [sign, deriveBits])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, false, [sign, deriveBits])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, true, [sign, sign, deriveBits])
Pass Bad usages: importKey(jwk(private), {name: Ed25519}, false, [sign, sign, deriveBits])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, true, [encrypt])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, false, [encrypt])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, true, [verify, encrypt])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, false, [verify, encrypt])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, true, [verify, verify, encrypt])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, false, [verify, verify, encrypt])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, true, [decrypt])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, false, [decrypt])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, true, [verify, decrypt])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, false, [verify, decrypt])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, true, [verify, verify, decrypt])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, false, [verify, verify, decrypt])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, true, [sign])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, false, [sign])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, true, [verify, sign])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, false, [verify, sign])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, true, [verify, verify, sign])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, false, [verify, verify, sign])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, true, [wrapKey])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, false, [wrapKey])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, true, [verify, wrapKey])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, false, [verify, wrapKey])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, true, [verify, verify, wrapKey])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, false, [verify, verify, wrapKey])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, true, [unwrapKey])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, false, [unwrapKey])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, true, [verify, unwrapKey])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, false, [verify, unwrapKey])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, true, [verify, verify, unwrapKey])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, false, [verify, verify, unwrapKey])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, true, [deriveKey])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, false, [deriveKey])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, true, [verify, deriveKey])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, false, [verify, deriveKey])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, true, [verify, verify, deriveKey])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, false, [verify, verify, deriveKey])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, true, [deriveBits])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, false, [deriveBits])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, true, [verify, deriveBits])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, false, [verify, deriveBits])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, true, [verify, verify, deriveBits])
Pass Bad usages: importKey(jwk (public) , {name: Ed25519}, false, [verify, verify, deriveBits])
Pass Empty usages: importKey(pkcs8, {name: Ed25519}, true, [])
Pass Empty usages: importKey(pkcs8, {name: Ed25519}, false, [])
Pass Empty usages: importKey(jwk(private), {name: Ed25519}, true, [])
Pass Empty usages: importKey(jwk(private), {name: Ed25519}, false, [])
Pass Bad key length: importKey(spki, {name: Ed25519}, true, [verify])
Pass Bad key length: importKey(spki, {name: Ed25519}, false, [verify])
Pass Bad key length: importKey(spki, {name: Ed25519}, true, [verify, verify])
Pass Bad key length: importKey(spki, {name: Ed25519}, false, [verify, verify])
Pass Bad key length: importKey(pkcs8, {name: Ed25519}, true, [sign])
Pass Bad key length: importKey(pkcs8, {name: Ed25519}, false, [sign])
Pass Bad key length: importKey(pkcs8, {name: Ed25519}, true, [sign, sign])
Pass Bad key length: importKey(pkcs8, {name: Ed25519}, false, [sign, sign])
Fail Bad key length: importKey(raw, {name: Ed25519}, true, [verify])
Fail Bad key length: importKey(raw, {name: Ed25519}, false, [verify])
Fail Bad key length: importKey(raw, {name: Ed25519}, true, [verify, verify])
Fail Bad key length: importKey(raw, {name: Ed25519}, false, [verify, verify])
Fail Bad key length: importKey(jwk(private), {name: Ed25519}, true, [sign])
Fail Bad key length: importKey(jwk(private), {name: Ed25519}, false, [sign])
Fail Bad key length: importKey(jwk(private), {name: Ed25519}, true, [sign, sign])
Fail Bad key length: importKey(jwk(private), {name: Ed25519}, false, [sign, sign])
Fail Bad key length: importKey(jwk (public) , {name: Ed25519}, true, [verify])
Fail Bad key length: importKey(jwk (public) , {name: Ed25519}, false, [verify])
Fail Bad key length: importKey(jwk (public) , {name: Ed25519}, true, [verify, verify])
Fail Bad key length: importKey(jwk (public) , {name: Ed25519}, false, [verify, verify])
Pass Missing JWK 'x' parameter: importKey(jwk(private), {name: Ed25519}, true, [sign])
Pass Missing JWK 'x' parameter: importKey(jwk(private), {name: Ed25519}, false, [sign])
Pass Missing JWK 'x' parameter: importKey(jwk(private), {name: Ed25519}, true, [sign, sign])
Pass Missing JWK 'x' parameter: importKey(jwk(private), {name: Ed25519}, false, [sign, sign])
Pass Missing JWK 'kty' parameter: importKey(jwk(private), {name: Ed25519}, true, [sign])
Pass Missing JWK 'kty' parameter: importKey(jwk(private), {name: Ed25519}, false, [sign])
Pass Missing JWK 'kty' parameter: importKey(jwk(private), {name: Ed25519}, true, [sign, sign])
Pass Missing JWK 'kty' parameter: importKey(jwk(private), {name: Ed25519}, false, [sign, sign])
Pass Missing JWK 'crv' parameter: importKey(jwk (public) , {name: Ed25519}, true, [verify])
Pass Missing JWK 'crv' parameter: importKey(jwk (public) , {name: Ed25519}, false, [verify])
Pass Missing JWK 'crv' parameter: importKey(jwk (public) , {name: Ed25519}, true, [verify, verify])
Pass Missing JWK 'crv' parameter: importKey(jwk (public) , {name: Ed25519}, false, [verify, verify])
Fail Invalid key pair: importKey(jwk(private), {name: Ed25519}, true, [sign])
Fail Invalid key pair: importKey(jwk(private), {name: Ed25519}, true, [sign, sign])
Pass Missing algorithm name: importKey(spki, {}, true, verify)
Pass Missing algorithm name: importKey(spki, {}, false, verify)
Pass Missing algorithm name: importKey(pkcs8, {}, true, sign)
Pass Missing algorithm name: importKey(pkcs8, {}, false, sign)
Pass Missing algorithm name: importKey(raw, {}, true, verify)
Pass Missing algorithm name: importKey(raw, {}, false, verify)
Pass Missing algorithm name: importKey(jwk(private), {}, true, sign)
Pass Missing algorithm name: importKey(jwk(private), {}, false, sign)
Pass Missing algorithm name: importKey(jwk (public) , {}, true, verify)
Pass Missing algorithm name: importKey(jwk (public) , {}, false, verify)

View file

@ -1,235 +1,230 @@
Summary
Harness status: OK
Rerun
Found 224 tests
208 Pass
16 Fail
Details
Result Test Name MessagePass Bad usages: importKey(spki, {name: X25519}, true, [encrypt])
Pass Bad usages: importKey(spki, {name: X25519}, false, [encrypt])
Pass Bad usages: importKey(spki, {name: X25519}, true, [decrypt])
Pass Bad usages: importKey(spki, {name: X25519}, false, [decrypt])
Pass Bad usages: importKey(spki, {name: X25519}, true, [sign])
Pass Bad usages: importKey(spki, {name: X25519}, false, [sign])
Pass Bad usages: importKey(spki, {name: X25519}, true, [verify])
Pass Bad usages: importKey(spki, {name: X25519}, false, [verify])
Pass Bad usages: importKey(spki, {name: X25519}, true, [wrapKey])
Pass Bad usages: importKey(spki, {name: X25519}, false, [wrapKey])
Pass Bad usages: importKey(spki, {name: X25519}, true, [unwrapKey])
Pass Bad usages: importKey(spki, {name: X25519}, false, [unwrapKey])
Pass Bad usages: importKey(spki, {name: X25519}, true, [deriveKey])
Pass Bad usages: importKey(spki, {name: X25519}, false, [deriveKey])
Pass Bad usages: importKey(spki, {name: X25519}, true, [deriveBits])
Pass Bad usages: importKey(spki, {name: X25519}, false, [deriveBits])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [encrypt])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [encrypt])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveKey, encrypt])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveKey, encrypt])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveBits, deriveKey, encrypt])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveBits, deriveKey, encrypt])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveBits, encrypt])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveBits, encrypt])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits, encrypt])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits, encrypt])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [decrypt])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [decrypt])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveKey, decrypt])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveKey, decrypt])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveBits, deriveKey, decrypt])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveBits, deriveKey, decrypt])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveBits, decrypt])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveBits, decrypt])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits, decrypt])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits, decrypt])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [sign])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [sign])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveKey, sign])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveKey, sign])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveBits, deriveKey, sign])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveBits, deriveKey, sign])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveBits, sign])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveBits, sign])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits, sign])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits, sign])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [verify])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [verify])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveKey, verify])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveKey, verify])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveBits, deriveKey, verify])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveBits, deriveKey, verify])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveBits, verify])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveBits, verify])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits, verify])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits, verify])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [wrapKey])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [wrapKey])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveKey, wrapKey])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveKey, wrapKey])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveBits, deriveKey, wrapKey])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveBits, deriveKey, wrapKey])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveBits, wrapKey])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveBits, wrapKey])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits, wrapKey])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits, wrapKey])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveKey, unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveKey, unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveBits, deriveKey, unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveBits, deriveKey, unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveBits, unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveBits, unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits, unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits, unwrapKey])
Pass Bad usages: importKey(raw, {name: X25519}, true, [encrypt])
Pass Bad usages: importKey(raw, {name: X25519}, false, [encrypt])
Pass Bad usages: importKey(raw, {name: X25519}, true, [decrypt])
Pass Bad usages: importKey(raw, {name: X25519}, false, [decrypt])
Pass Bad usages: importKey(raw, {name: X25519}, true, [sign])
Pass Bad usages: importKey(raw, {name: X25519}, false, [sign])
Pass Bad usages: importKey(raw, {name: X25519}, true, [verify])
Pass Bad usages: importKey(raw, {name: X25519}, false, [verify])
Pass Bad usages: importKey(raw, {name: X25519}, true, [wrapKey])
Pass Bad usages: importKey(raw, {name: X25519}, false, [wrapKey])
Pass Bad usages: importKey(raw, {name: X25519}, true, [unwrapKey])
Pass Bad usages: importKey(raw, {name: X25519}, false, [unwrapKey])
Pass Bad usages: importKey(raw, {name: X25519}, true, [deriveKey])
Pass Bad usages: importKey(raw, {name: X25519}, false, [deriveKey])
Pass Bad usages: importKey(raw, {name: X25519}, true, [deriveBits])
Pass Bad usages: importKey(raw, {name: X25519}, false, [deriveBits])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [encrypt])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [encrypt])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveKey, encrypt])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveKey, encrypt])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveBits, deriveKey, encrypt])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveBits, deriveKey, encrypt])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveBits, encrypt])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveBits, encrypt])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits, encrypt])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits, encrypt])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [decrypt])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [decrypt])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveKey, decrypt])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveKey, decrypt])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveBits, deriveKey, decrypt])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveBits, deriveKey, decrypt])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveBits, decrypt])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveBits, decrypt])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits, decrypt])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits, decrypt])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [sign])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [sign])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveKey, sign])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveKey, sign])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveBits, deriveKey, sign])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveBits, deriveKey, sign])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveBits, sign])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveBits, sign])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits, sign])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits, sign])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [verify])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [verify])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveKey, verify])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveKey, verify])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveBits, deriveKey, verify])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveBits, deriveKey, verify])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveBits, verify])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveBits, verify])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits, verify])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits, verify])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [wrapKey])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [wrapKey])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveKey, wrapKey])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveKey, wrapKey])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveBits, deriveKey, wrapKey])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveBits, deriveKey, wrapKey])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveBits, wrapKey])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveBits, wrapKey])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits, wrapKey])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits, wrapKey])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveKey, unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveKey, unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveBits, deriveKey, unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveBits, deriveKey, unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveBits, unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveBits, unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits, unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits, unwrapKey])
Pass Bad usages: importKey(jwk (public) , {name: X25519}, true, [encrypt])
Pass Bad usages: importKey(jwk (public) , {name: X25519}, false, [encrypt])
Pass Bad usages: importKey(jwk (public) , {name: X25519}, true, [decrypt])
Pass Bad usages: importKey(jwk (public) , {name: X25519}, false, [decrypt])
Pass Bad usages: importKey(jwk (public) , {name: X25519}, true, [sign])
Pass Bad usages: importKey(jwk (public) , {name: X25519}, false, [sign])
Pass Bad usages: importKey(jwk (public) , {name: X25519}, true, [verify])
Pass Bad usages: importKey(jwk (public) , {name: X25519}, false, [verify])
Pass Bad usages: importKey(jwk (public) , {name: X25519}, true, [wrapKey])
Pass Bad usages: importKey(jwk (public) , {name: X25519}, false, [wrapKey])
Pass Bad usages: importKey(jwk (public) , {name: X25519}, true, [unwrapKey])
Pass Bad usages: importKey(jwk (public) , {name: X25519}, false, [unwrapKey])
Pass Bad usages: importKey(jwk (public) , {name: X25519}, true, [deriveKey])
Pass Bad usages: importKey(jwk (public) , {name: X25519}, false, [deriveKey])
Pass Bad usages: importKey(jwk (public) , {name: X25519}, true, [deriveBits])
Pass Bad usages: importKey(jwk (public) , {name: X25519}, false, [deriveBits])
Pass Empty usages: importKey(pkcs8, {name: X25519}, true, [])
Pass Empty usages: importKey(pkcs8, {name: X25519}, false, [])
Pass Empty usages: importKey(jwk(private), {name: X25519}, true, [])
Pass Empty usages: importKey(jwk(private), {name: X25519}, false, [])
Pass Bad key length: importKey(spki, {name: X25519}, true, [])
Pass Bad key length: importKey(spki, {name: X25519}, false, [])
Pass Bad key length: importKey(pkcs8, {name: X25519}, true, [deriveKey])
Pass Bad key length: importKey(pkcs8, {name: X25519}, false, [deriveKey])
Pass Bad key length: importKey(pkcs8, {name: X25519}, true, [deriveBits, deriveKey])
Pass Bad key length: importKey(pkcs8, {name: X25519}, false, [deriveBits, deriveKey])
Pass Bad key length: importKey(pkcs8, {name: X25519}, true, [deriveBits])
Pass Bad key length: importKey(pkcs8, {name: X25519}, false, [deriveBits])
Pass Bad key length: importKey(pkcs8, {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Bad key length: importKey(pkcs8, {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Fail Bad key length: importKey(raw, {name: X25519}, true, [])
Fail Bad key length: importKey(raw, {name: X25519}, false, [])
Fail Bad key length: importKey(jwk (public) , {name: X25519}, true, [])
Fail Bad key length: importKey(jwk (public) , {name: X25519}, false, [])
Fail Bad key length: importKey(jwk(private), {name: X25519}, true, [deriveKey])
Fail Bad key length: importKey(jwk(private), {name: X25519}, false, [deriveKey])
Fail Bad key length: importKey(jwk(private), {name: X25519}, true, [deriveBits, deriveKey])
Fail Bad key length: importKey(jwk(private), {name: X25519}, false, [deriveBits, deriveKey])
Fail Bad key length: importKey(jwk(private), {name: X25519}, true, [deriveBits])
Fail Bad key length: importKey(jwk(private), {name: X25519}, false, [deriveBits])
Fail Bad key length: importKey(jwk(private), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Fail Bad key length: importKey(jwk(private), {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Missing JWK 'x' parameter: importKey(jwk(private), {name: X25519}, true, [deriveKey])
Pass Missing JWK 'x' parameter: importKey(jwk(private), {name: X25519}, false, [deriveKey])
Pass Missing JWK 'x' parameter: importKey(jwk(private), {name: X25519}, true, [deriveBits, deriveKey])
Pass Missing JWK 'x' parameter: importKey(jwk(private), {name: X25519}, false, [deriveBits, deriveKey])
Pass Missing JWK 'x' parameter: importKey(jwk(private), {name: X25519}, true, [deriveBits])
Pass Missing JWK 'x' parameter: importKey(jwk(private), {name: X25519}, false, [deriveBits])
Pass Missing JWK 'x' parameter: importKey(jwk(private), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Missing JWK 'x' parameter: importKey(jwk(private), {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Missing JWK 'kty' parameter: importKey(jwk(private), {name: X25519}, true, [deriveKey])
Pass Missing JWK 'kty' parameter: importKey(jwk(private), {name: X25519}, false, [deriveKey])
Pass Missing JWK 'kty' parameter: importKey(jwk(private), {name: X25519}, true, [deriveBits, deriveKey])
Pass Missing JWK 'kty' parameter: importKey(jwk(private), {name: X25519}, false, [deriveBits, deriveKey])
Pass Missing JWK 'kty' parameter: importKey(jwk(private), {name: X25519}, true, [deriveBits])
Pass Missing JWK 'kty' parameter: importKey(jwk(private), {name: X25519}, false, [deriveBits])
Pass Missing JWK 'kty' parameter: importKey(jwk(private), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Missing JWK 'kty' parameter: importKey(jwk(private), {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Missing JWK 'crv' parameter: importKey(jwk (public) , {name: X25519}, true, [])
Pass Missing JWK 'crv' parameter: importKey(jwk (public) , {name: X25519}, false, [])
Fail Invalid key pair: importKey(jwk(private), {name: X25519}, true, [deriveKey])
Fail Invalid key pair: importKey(jwk(private), {name: X25519}, true, [deriveBits, deriveKey])
Fail Invalid key pair: importKey(jwk(private), {name: X25519}, true, [deriveBits])
Fail Invalid key pair: importKey(jwk(private), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Missing algorithm name: importKey(pkcs8, {}, true, deriveKey)
Pass Missing algorithm name: importKey(pkcs8, {}, false, deriveKey)
Pass Missing algorithm name: importKey(pkcs8, {}, true, deriveBits)
Pass Missing algorithm name: importKey(pkcs8, {}, false, deriveBits)
Pass Missing algorithm name: importKey(jwk(private), {}, true, deriveKey)
Pass Missing algorithm name: importKey(jwk(private), {}, false, deriveKey)
Pass Missing algorithm name: importKey(jwk(private), {}, true, deriveBits)
Pass Missing algorithm name: importKey(jwk(private), {}, false, deriveBits)
Pass Bad usages: importKey(spki, {name: X25519}, true, [encrypt])
Pass Bad usages: importKey(spki, {name: X25519}, false, [encrypt])
Pass Bad usages: importKey(spki, {name: X25519}, true, [decrypt])
Pass Bad usages: importKey(spki, {name: X25519}, false, [decrypt])
Pass Bad usages: importKey(spki, {name: X25519}, true, [sign])
Pass Bad usages: importKey(spki, {name: X25519}, false, [sign])
Pass Bad usages: importKey(spki, {name: X25519}, true, [verify])
Pass Bad usages: importKey(spki, {name: X25519}, false, [verify])
Pass Bad usages: importKey(spki, {name: X25519}, true, [wrapKey])
Pass Bad usages: importKey(spki, {name: X25519}, false, [wrapKey])
Pass Bad usages: importKey(spki, {name: X25519}, true, [unwrapKey])
Pass Bad usages: importKey(spki, {name: X25519}, false, [unwrapKey])
Pass Bad usages: importKey(spki, {name: X25519}, true, [deriveKey])
Pass Bad usages: importKey(spki, {name: X25519}, false, [deriveKey])
Pass Bad usages: importKey(spki, {name: X25519}, true, [deriveBits])
Pass Bad usages: importKey(spki, {name: X25519}, false, [deriveBits])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [encrypt])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [encrypt])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveKey, encrypt])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveKey, encrypt])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveBits, deriveKey, encrypt])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveBits, deriveKey, encrypt])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveBits, encrypt])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveBits, encrypt])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits, encrypt])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits, encrypt])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [decrypt])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [decrypt])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveKey, decrypt])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveKey, decrypt])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveBits, deriveKey, decrypt])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveBits, deriveKey, decrypt])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveBits, decrypt])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveBits, decrypt])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits, decrypt])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits, decrypt])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [sign])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [sign])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveKey, sign])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveKey, sign])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveBits, deriveKey, sign])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveBits, deriveKey, sign])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveBits, sign])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveBits, sign])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits, sign])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits, sign])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [verify])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [verify])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveKey, verify])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveKey, verify])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveBits, deriveKey, verify])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveBits, deriveKey, verify])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveBits, verify])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveBits, verify])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits, verify])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits, verify])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [wrapKey])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [wrapKey])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveKey, wrapKey])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveKey, wrapKey])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveBits, deriveKey, wrapKey])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveBits, deriveKey, wrapKey])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveBits, wrapKey])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveBits, wrapKey])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits, wrapKey])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits, wrapKey])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveKey, unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveKey, unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveBits, deriveKey, unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveBits, deriveKey, unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveBits, unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveBits, unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits, unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits, unwrapKey])
Pass Bad usages: importKey(raw, {name: X25519}, true, [encrypt])
Pass Bad usages: importKey(raw, {name: X25519}, false, [encrypt])
Pass Bad usages: importKey(raw, {name: X25519}, true, [decrypt])
Pass Bad usages: importKey(raw, {name: X25519}, false, [decrypt])
Pass Bad usages: importKey(raw, {name: X25519}, true, [sign])
Pass Bad usages: importKey(raw, {name: X25519}, false, [sign])
Pass Bad usages: importKey(raw, {name: X25519}, true, [verify])
Pass Bad usages: importKey(raw, {name: X25519}, false, [verify])
Pass Bad usages: importKey(raw, {name: X25519}, true, [wrapKey])
Pass Bad usages: importKey(raw, {name: X25519}, false, [wrapKey])
Pass Bad usages: importKey(raw, {name: X25519}, true, [unwrapKey])
Pass Bad usages: importKey(raw, {name: X25519}, false, [unwrapKey])
Pass Bad usages: importKey(raw, {name: X25519}, true, [deriveKey])
Pass Bad usages: importKey(raw, {name: X25519}, false, [deriveKey])
Pass Bad usages: importKey(raw, {name: X25519}, true, [deriveBits])
Pass Bad usages: importKey(raw, {name: X25519}, false, [deriveBits])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [encrypt])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [encrypt])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveKey, encrypt])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveKey, encrypt])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveBits, deriveKey, encrypt])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveBits, deriveKey, encrypt])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveBits, encrypt])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveBits, encrypt])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits, encrypt])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits, encrypt])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [decrypt])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [decrypt])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveKey, decrypt])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveKey, decrypt])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveBits, deriveKey, decrypt])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveBits, deriveKey, decrypt])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveBits, decrypt])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveBits, decrypt])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits, decrypt])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits, decrypt])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [sign])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [sign])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveKey, sign])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveKey, sign])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveBits, deriveKey, sign])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveBits, deriveKey, sign])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveBits, sign])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveBits, sign])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits, sign])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits, sign])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [verify])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [verify])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveKey, verify])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveKey, verify])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveBits, deriveKey, verify])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveBits, deriveKey, verify])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveBits, verify])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveBits, verify])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits, verify])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits, verify])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [wrapKey])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [wrapKey])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveKey, wrapKey])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveKey, wrapKey])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveBits, deriveKey, wrapKey])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveBits, deriveKey, wrapKey])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveBits, wrapKey])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveBits, wrapKey])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits, wrapKey])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits, wrapKey])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveKey, unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveKey, unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveBits, deriveKey, unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveBits, deriveKey, unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveBits, unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveBits, unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits, unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits, unwrapKey])
Pass Bad usages: importKey(jwk (public) , {name: X25519}, true, [encrypt])
Pass Bad usages: importKey(jwk (public) , {name: X25519}, false, [encrypt])
Pass Bad usages: importKey(jwk (public) , {name: X25519}, true, [decrypt])
Pass Bad usages: importKey(jwk (public) , {name: X25519}, false, [decrypt])
Pass Bad usages: importKey(jwk (public) , {name: X25519}, true, [sign])
Pass Bad usages: importKey(jwk (public) , {name: X25519}, false, [sign])
Pass Bad usages: importKey(jwk (public) , {name: X25519}, true, [verify])
Pass Bad usages: importKey(jwk (public) , {name: X25519}, false, [verify])
Pass Bad usages: importKey(jwk (public) , {name: X25519}, true, [wrapKey])
Pass Bad usages: importKey(jwk (public) , {name: X25519}, false, [wrapKey])
Pass Bad usages: importKey(jwk (public) , {name: X25519}, true, [unwrapKey])
Pass Bad usages: importKey(jwk (public) , {name: X25519}, false, [unwrapKey])
Pass Bad usages: importKey(jwk (public) , {name: X25519}, true, [deriveKey])
Pass Bad usages: importKey(jwk (public) , {name: X25519}, false, [deriveKey])
Pass Bad usages: importKey(jwk (public) , {name: X25519}, true, [deriveBits])
Pass Bad usages: importKey(jwk (public) , {name: X25519}, false, [deriveBits])
Pass Empty usages: importKey(pkcs8, {name: X25519}, true, [])
Pass Empty usages: importKey(pkcs8, {name: X25519}, false, [])
Pass Empty usages: importKey(jwk(private), {name: X25519}, true, [])
Pass Empty usages: importKey(jwk(private), {name: X25519}, false, [])
Pass Bad key length: importKey(spki, {name: X25519}, true, [])
Pass Bad key length: importKey(spki, {name: X25519}, false, [])
Pass Bad key length: importKey(pkcs8, {name: X25519}, true, [deriveKey])
Pass Bad key length: importKey(pkcs8, {name: X25519}, false, [deriveKey])
Pass Bad key length: importKey(pkcs8, {name: X25519}, true, [deriveBits, deriveKey])
Pass Bad key length: importKey(pkcs8, {name: X25519}, false, [deriveBits, deriveKey])
Pass Bad key length: importKey(pkcs8, {name: X25519}, true, [deriveBits])
Pass Bad key length: importKey(pkcs8, {name: X25519}, false, [deriveBits])
Pass Bad key length: importKey(pkcs8, {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Bad key length: importKey(pkcs8, {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Fail Bad key length: importKey(raw, {name: X25519}, true, [])
Fail Bad key length: importKey(raw, {name: X25519}, false, [])
Fail Bad key length: importKey(jwk (public) , {name: X25519}, true, [])
Fail Bad key length: importKey(jwk (public) , {name: X25519}, false, [])
Fail Bad key length: importKey(jwk(private), {name: X25519}, true, [deriveKey])
Fail Bad key length: importKey(jwk(private), {name: X25519}, false, [deriveKey])
Fail Bad key length: importKey(jwk(private), {name: X25519}, true, [deriveBits, deriveKey])
Fail Bad key length: importKey(jwk(private), {name: X25519}, false, [deriveBits, deriveKey])
Fail Bad key length: importKey(jwk(private), {name: X25519}, true, [deriveBits])
Fail Bad key length: importKey(jwk(private), {name: X25519}, false, [deriveBits])
Fail Bad key length: importKey(jwk(private), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Fail Bad key length: importKey(jwk(private), {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Missing JWK 'x' parameter: importKey(jwk(private), {name: X25519}, true, [deriveKey])
Pass Missing JWK 'x' parameter: importKey(jwk(private), {name: X25519}, false, [deriveKey])
Pass Missing JWK 'x' parameter: importKey(jwk(private), {name: X25519}, true, [deriveBits, deriveKey])
Pass Missing JWK 'x' parameter: importKey(jwk(private), {name: X25519}, false, [deriveBits, deriveKey])
Pass Missing JWK 'x' parameter: importKey(jwk(private), {name: X25519}, true, [deriveBits])
Pass Missing JWK 'x' parameter: importKey(jwk(private), {name: X25519}, false, [deriveBits])
Pass Missing JWK 'x' parameter: importKey(jwk(private), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Missing JWK 'x' parameter: importKey(jwk(private), {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Missing JWK 'kty' parameter: importKey(jwk(private), {name: X25519}, true, [deriveKey])
Pass Missing JWK 'kty' parameter: importKey(jwk(private), {name: X25519}, false, [deriveKey])
Pass Missing JWK 'kty' parameter: importKey(jwk(private), {name: X25519}, true, [deriveBits, deriveKey])
Pass Missing JWK 'kty' parameter: importKey(jwk(private), {name: X25519}, false, [deriveBits, deriveKey])
Pass Missing JWK 'kty' parameter: importKey(jwk(private), {name: X25519}, true, [deriveBits])
Pass Missing JWK 'kty' parameter: importKey(jwk(private), {name: X25519}, false, [deriveBits])
Pass Missing JWK 'kty' parameter: importKey(jwk(private), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Missing JWK 'kty' parameter: importKey(jwk(private), {name: X25519}, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Missing JWK 'crv' parameter: importKey(jwk (public) , {name: X25519}, true, [])
Pass Missing JWK 'crv' parameter: importKey(jwk (public) , {name: X25519}, false, [])
Fail Invalid key pair: importKey(jwk(private), {name: X25519}, true, [deriveKey])
Fail Invalid key pair: importKey(jwk(private), {name: X25519}, true, [deriveBits, deriveKey])
Fail Invalid key pair: importKey(jwk(private), {name: X25519}, true, [deriveBits])
Fail Invalid key pair: importKey(jwk(private), {name: X25519}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Missing algorithm name: importKey(pkcs8, {}, true, deriveKey)
Pass Missing algorithm name: importKey(pkcs8, {}, false, deriveKey)
Pass Missing algorithm name: importKey(pkcs8, {}, true, deriveBits)
Pass Missing algorithm name: importKey(pkcs8, {}, false, deriveBits)
Pass Missing algorithm name: importKey(jwk(private), {}, true, deriveKey)
Pass Missing algorithm name: importKey(jwk(private), {}, false, deriveKey)
Pass Missing algorithm name: importKey(jwk(private), {}, true, deriveBits)
Pass Missing algorithm name: importKey(jwk(private), {}, false, deriveBits)

View file

@ -1,235 +1,230 @@
Summary
Harness status: OK
Rerun
Found 224 tests
208 Pass
16 Fail
Details
Result Test Name MessagePass Bad usages: importKey(spki, {name: X448}, true, [encrypt])
Pass Bad usages: importKey(spki, {name: X448}, false, [encrypt])
Pass Bad usages: importKey(spki, {name: X448}, true, [decrypt])
Pass Bad usages: importKey(spki, {name: X448}, false, [decrypt])
Pass Bad usages: importKey(spki, {name: X448}, true, [sign])
Pass Bad usages: importKey(spki, {name: X448}, false, [sign])
Pass Bad usages: importKey(spki, {name: X448}, true, [verify])
Pass Bad usages: importKey(spki, {name: X448}, false, [verify])
Pass Bad usages: importKey(spki, {name: X448}, true, [wrapKey])
Pass Bad usages: importKey(spki, {name: X448}, false, [wrapKey])
Pass Bad usages: importKey(spki, {name: X448}, true, [unwrapKey])
Pass Bad usages: importKey(spki, {name: X448}, false, [unwrapKey])
Pass Bad usages: importKey(spki, {name: X448}, true, [deriveKey])
Pass Bad usages: importKey(spki, {name: X448}, false, [deriveKey])
Pass Bad usages: importKey(spki, {name: X448}, true, [deriveBits])
Pass Bad usages: importKey(spki, {name: X448}, false, [deriveBits])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [encrypt])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [encrypt])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveKey, encrypt])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveKey, encrypt])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveBits, deriveKey, encrypt])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveBits, deriveKey, encrypt])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveBits, encrypt])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveBits, encrypt])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, encrypt])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits, encrypt])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [decrypt])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [decrypt])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveKey, decrypt])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveKey, decrypt])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveBits, deriveKey, decrypt])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveBits, deriveKey, decrypt])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveBits, decrypt])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveBits, decrypt])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, decrypt])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits, decrypt])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [sign])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [sign])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveKey, sign])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveKey, sign])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveBits, deriveKey, sign])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveBits, deriveKey, sign])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveBits, sign])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveBits, sign])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, sign])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits, sign])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [verify])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [verify])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveKey, verify])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveKey, verify])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveBits, deriveKey, verify])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveBits, deriveKey, verify])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveBits, verify])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveBits, verify])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, verify])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits, verify])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [wrapKey])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [wrapKey])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveKey, wrapKey])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveKey, wrapKey])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveBits, deriveKey, wrapKey])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveBits, deriveKey, wrapKey])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveBits, wrapKey])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveBits, wrapKey])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, wrapKey])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits, wrapKey])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveKey, unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveKey, unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveBits, deriveKey, unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveBits, deriveKey, unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveBits, unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveBits, unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits, unwrapKey])
Pass Bad usages: importKey(raw, {name: X448}, true, [encrypt])
Pass Bad usages: importKey(raw, {name: X448}, false, [encrypt])
Pass Bad usages: importKey(raw, {name: X448}, true, [decrypt])
Pass Bad usages: importKey(raw, {name: X448}, false, [decrypt])
Pass Bad usages: importKey(raw, {name: X448}, true, [sign])
Pass Bad usages: importKey(raw, {name: X448}, false, [sign])
Pass Bad usages: importKey(raw, {name: X448}, true, [verify])
Pass Bad usages: importKey(raw, {name: X448}, false, [verify])
Pass Bad usages: importKey(raw, {name: X448}, true, [wrapKey])
Pass Bad usages: importKey(raw, {name: X448}, false, [wrapKey])
Pass Bad usages: importKey(raw, {name: X448}, true, [unwrapKey])
Pass Bad usages: importKey(raw, {name: X448}, false, [unwrapKey])
Pass Bad usages: importKey(raw, {name: X448}, true, [deriveKey])
Pass Bad usages: importKey(raw, {name: X448}, false, [deriveKey])
Pass Bad usages: importKey(raw, {name: X448}, true, [deriveBits])
Pass Bad usages: importKey(raw, {name: X448}, false, [deriveBits])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [encrypt])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [encrypt])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveKey, encrypt])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveKey, encrypt])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveBits, deriveKey, encrypt])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveBits, deriveKey, encrypt])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveBits, encrypt])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveBits, encrypt])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, encrypt])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits, encrypt])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [decrypt])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [decrypt])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveKey, decrypt])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveKey, decrypt])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveBits, deriveKey, decrypt])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveBits, deriveKey, decrypt])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveBits, decrypt])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveBits, decrypt])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, decrypt])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits, decrypt])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [sign])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [sign])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveKey, sign])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveKey, sign])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveBits, deriveKey, sign])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveBits, deriveKey, sign])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveBits, sign])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveBits, sign])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, sign])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits, sign])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [verify])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [verify])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveKey, verify])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveKey, verify])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveBits, deriveKey, verify])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveBits, deriveKey, verify])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveBits, verify])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveBits, verify])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, verify])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits, verify])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [wrapKey])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [wrapKey])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveKey, wrapKey])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveKey, wrapKey])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveBits, deriveKey, wrapKey])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveBits, deriveKey, wrapKey])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveBits, wrapKey])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveBits, wrapKey])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, wrapKey])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits, wrapKey])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveKey, unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveKey, unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveBits, deriveKey, unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveBits, deriveKey, unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveBits, unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveBits, unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits, unwrapKey])
Pass Bad usages: importKey(jwk (public) , {name: X448}, true, [encrypt])
Pass Bad usages: importKey(jwk (public) , {name: X448}, false, [encrypt])
Pass Bad usages: importKey(jwk (public) , {name: X448}, true, [decrypt])
Pass Bad usages: importKey(jwk (public) , {name: X448}, false, [decrypt])
Pass Bad usages: importKey(jwk (public) , {name: X448}, true, [sign])
Pass Bad usages: importKey(jwk (public) , {name: X448}, false, [sign])
Pass Bad usages: importKey(jwk (public) , {name: X448}, true, [verify])
Pass Bad usages: importKey(jwk (public) , {name: X448}, false, [verify])
Pass Bad usages: importKey(jwk (public) , {name: X448}, true, [wrapKey])
Pass Bad usages: importKey(jwk (public) , {name: X448}, false, [wrapKey])
Pass Bad usages: importKey(jwk (public) , {name: X448}, true, [unwrapKey])
Pass Bad usages: importKey(jwk (public) , {name: X448}, false, [unwrapKey])
Pass Bad usages: importKey(jwk (public) , {name: X448}, true, [deriveKey])
Pass Bad usages: importKey(jwk (public) , {name: X448}, false, [deriveKey])
Pass Bad usages: importKey(jwk (public) , {name: X448}, true, [deriveBits])
Pass Bad usages: importKey(jwk (public) , {name: X448}, false, [deriveBits])
Pass Empty usages: importKey(pkcs8, {name: X448}, true, [])
Pass Empty usages: importKey(pkcs8, {name: X448}, false, [])
Pass Empty usages: importKey(jwk(private), {name: X448}, true, [])
Pass Empty usages: importKey(jwk(private), {name: X448}, false, [])
Pass Bad key length: importKey(spki, {name: X448}, true, [])
Pass Bad key length: importKey(spki, {name: X448}, false, [])
Pass Bad key length: importKey(pkcs8, {name: X448}, true, [deriveKey])
Pass Bad key length: importKey(pkcs8, {name: X448}, false, [deriveKey])
Pass Bad key length: importKey(pkcs8, {name: X448}, true, [deriveBits, deriveKey])
Pass Bad key length: importKey(pkcs8, {name: X448}, false, [deriveBits, deriveKey])
Pass Bad key length: importKey(pkcs8, {name: X448}, true, [deriveBits])
Pass Bad key length: importKey(pkcs8, {name: X448}, false, [deriveBits])
Pass Bad key length: importKey(pkcs8, {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Bad key length: importKey(pkcs8, {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Fail Bad key length: importKey(raw, {name: X448}, true, [])
Fail Bad key length: importKey(raw, {name: X448}, false, [])
Fail Bad key length: importKey(jwk(private), {name: X448}, true, [deriveKey])
Fail Bad key length: importKey(jwk(private), {name: X448}, false, [deriveKey])
Fail Bad key length: importKey(jwk(private), {name: X448}, true, [deriveBits, deriveKey])
Fail Bad key length: importKey(jwk(private), {name: X448}, false, [deriveBits, deriveKey])
Fail Bad key length: importKey(jwk(private), {name: X448}, true, [deriveBits])
Fail Bad key length: importKey(jwk(private), {name: X448}, false, [deriveBits])
Fail Bad key length: importKey(jwk(private), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Fail Bad key length: importKey(jwk(private), {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Fail Bad key length: importKey(jwk (public) , {name: X448}, true, [])
Fail Bad key length: importKey(jwk (public) , {name: X448}, false, [])
Pass Missing JWK 'x' parameter: importKey(jwk(private), {name: X448}, true, [deriveKey])
Pass Missing JWK 'x' parameter: importKey(jwk(private), {name: X448}, false, [deriveKey])
Pass Missing JWK 'x' parameter: importKey(jwk(private), {name: X448}, true, [deriveBits, deriveKey])
Pass Missing JWK 'x' parameter: importKey(jwk(private), {name: X448}, false, [deriveBits, deriveKey])
Pass Missing JWK 'x' parameter: importKey(jwk(private), {name: X448}, true, [deriveBits])
Pass Missing JWK 'x' parameter: importKey(jwk(private), {name: X448}, false, [deriveBits])
Pass Missing JWK 'x' parameter: importKey(jwk(private), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Missing JWK 'x' parameter: importKey(jwk(private), {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Missing JWK 'kty' parameter: importKey(jwk(private), {name: X448}, true, [deriveKey])
Pass Missing JWK 'kty' parameter: importKey(jwk(private), {name: X448}, false, [deriveKey])
Pass Missing JWK 'kty' parameter: importKey(jwk(private), {name: X448}, true, [deriveBits, deriveKey])
Pass Missing JWK 'kty' parameter: importKey(jwk(private), {name: X448}, false, [deriveBits, deriveKey])
Pass Missing JWK 'kty' parameter: importKey(jwk(private), {name: X448}, true, [deriveBits])
Pass Missing JWK 'kty' parameter: importKey(jwk(private), {name: X448}, false, [deriveBits])
Pass Missing JWK 'kty' parameter: importKey(jwk(private), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Missing JWK 'kty' parameter: importKey(jwk(private), {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Missing JWK 'crv' parameter: importKey(jwk (public) , {name: X448}, true, [])
Pass Missing JWK 'crv' parameter: importKey(jwk (public) , {name: X448}, false, [])
Fail Invalid key pair: importKey(jwk(private), {name: X448}, true, [deriveKey])
Fail Invalid key pair: importKey(jwk(private), {name: X448}, true, [deriveBits, deriveKey])
Fail Invalid key pair: importKey(jwk(private), {name: X448}, true, [deriveBits])
Fail Invalid key pair: importKey(jwk(private), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Missing algorithm name: importKey(pkcs8, {}, true, deriveKey)
Pass Missing algorithm name: importKey(pkcs8, {}, false, deriveKey)
Pass Missing algorithm name: importKey(pkcs8, {}, true, deriveBits)
Pass Missing algorithm name: importKey(pkcs8, {}, false, deriveBits)
Pass Missing algorithm name: importKey(jwk(private), {}, true, deriveKey)
Pass Missing algorithm name: importKey(jwk(private), {}, false, deriveKey)
Pass Missing algorithm name: importKey(jwk(private), {}, true, deriveBits)
Pass Missing algorithm name: importKey(jwk(private), {}, false, deriveBits)
Pass Bad usages: importKey(spki, {name: X448}, true, [encrypt])
Pass Bad usages: importKey(spki, {name: X448}, false, [encrypt])
Pass Bad usages: importKey(spki, {name: X448}, true, [decrypt])
Pass Bad usages: importKey(spki, {name: X448}, false, [decrypt])
Pass Bad usages: importKey(spki, {name: X448}, true, [sign])
Pass Bad usages: importKey(spki, {name: X448}, false, [sign])
Pass Bad usages: importKey(spki, {name: X448}, true, [verify])
Pass Bad usages: importKey(spki, {name: X448}, false, [verify])
Pass Bad usages: importKey(spki, {name: X448}, true, [wrapKey])
Pass Bad usages: importKey(spki, {name: X448}, false, [wrapKey])
Pass Bad usages: importKey(spki, {name: X448}, true, [unwrapKey])
Pass Bad usages: importKey(spki, {name: X448}, false, [unwrapKey])
Pass Bad usages: importKey(spki, {name: X448}, true, [deriveKey])
Pass Bad usages: importKey(spki, {name: X448}, false, [deriveKey])
Pass Bad usages: importKey(spki, {name: X448}, true, [deriveBits])
Pass Bad usages: importKey(spki, {name: X448}, false, [deriveBits])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [encrypt])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [encrypt])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveKey, encrypt])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveKey, encrypt])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveBits, deriveKey, encrypt])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveBits, deriveKey, encrypt])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveBits, encrypt])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveBits, encrypt])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, encrypt])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits, encrypt])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [decrypt])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [decrypt])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveKey, decrypt])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveKey, decrypt])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveBits, deriveKey, decrypt])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveBits, deriveKey, decrypt])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveBits, decrypt])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveBits, decrypt])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, decrypt])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits, decrypt])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [sign])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [sign])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveKey, sign])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveKey, sign])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveBits, deriveKey, sign])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveBits, deriveKey, sign])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveBits, sign])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveBits, sign])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, sign])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits, sign])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [verify])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [verify])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveKey, verify])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveKey, verify])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveBits, deriveKey, verify])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveBits, deriveKey, verify])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveBits, verify])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveBits, verify])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, verify])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits, verify])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [wrapKey])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [wrapKey])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveKey, wrapKey])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveKey, wrapKey])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveBits, deriveKey, wrapKey])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveBits, deriveKey, wrapKey])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveBits, wrapKey])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveBits, wrapKey])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, wrapKey])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits, wrapKey])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveKey, unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveKey, unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveBits, deriveKey, unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveBits, deriveKey, unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveBits, unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveBits, unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, unwrapKey])
Pass Bad usages: importKey(pkcs8, {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits, unwrapKey])
Pass Bad usages: importKey(raw, {name: X448}, true, [encrypt])
Pass Bad usages: importKey(raw, {name: X448}, false, [encrypt])
Pass Bad usages: importKey(raw, {name: X448}, true, [decrypt])
Pass Bad usages: importKey(raw, {name: X448}, false, [decrypt])
Pass Bad usages: importKey(raw, {name: X448}, true, [sign])
Pass Bad usages: importKey(raw, {name: X448}, false, [sign])
Pass Bad usages: importKey(raw, {name: X448}, true, [verify])
Pass Bad usages: importKey(raw, {name: X448}, false, [verify])
Pass Bad usages: importKey(raw, {name: X448}, true, [wrapKey])
Pass Bad usages: importKey(raw, {name: X448}, false, [wrapKey])
Pass Bad usages: importKey(raw, {name: X448}, true, [unwrapKey])
Pass Bad usages: importKey(raw, {name: X448}, false, [unwrapKey])
Pass Bad usages: importKey(raw, {name: X448}, true, [deriveKey])
Pass Bad usages: importKey(raw, {name: X448}, false, [deriveKey])
Pass Bad usages: importKey(raw, {name: X448}, true, [deriveBits])
Pass Bad usages: importKey(raw, {name: X448}, false, [deriveBits])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [encrypt])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [encrypt])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveKey, encrypt])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveKey, encrypt])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveBits, deriveKey, encrypt])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveBits, deriveKey, encrypt])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveBits, encrypt])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveBits, encrypt])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, encrypt])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits, encrypt])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [decrypt])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [decrypt])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveKey, decrypt])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveKey, decrypt])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveBits, deriveKey, decrypt])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveBits, deriveKey, decrypt])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveBits, decrypt])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveBits, decrypt])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, decrypt])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits, decrypt])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [sign])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [sign])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveKey, sign])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveKey, sign])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveBits, deriveKey, sign])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveBits, deriveKey, sign])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveBits, sign])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveBits, sign])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, sign])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits, sign])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [verify])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [verify])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveKey, verify])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveKey, verify])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveBits, deriveKey, verify])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveBits, deriveKey, verify])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveBits, verify])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveBits, verify])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, verify])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits, verify])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [wrapKey])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [wrapKey])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveKey, wrapKey])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveKey, wrapKey])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveBits, deriveKey, wrapKey])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveBits, deriveKey, wrapKey])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveBits, wrapKey])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveBits, wrapKey])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, wrapKey])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits, wrapKey])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveKey, unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveKey, unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveBits, deriveKey, unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveBits, deriveKey, unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveBits, unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveBits, unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits, unwrapKey])
Pass Bad usages: importKey(jwk(private), {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits, unwrapKey])
Pass Bad usages: importKey(jwk (public) , {name: X448}, true, [encrypt])
Pass Bad usages: importKey(jwk (public) , {name: X448}, false, [encrypt])
Pass Bad usages: importKey(jwk (public) , {name: X448}, true, [decrypt])
Pass Bad usages: importKey(jwk (public) , {name: X448}, false, [decrypt])
Pass Bad usages: importKey(jwk (public) , {name: X448}, true, [sign])
Pass Bad usages: importKey(jwk (public) , {name: X448}, false, [sign])
Pass Bad usages: importKey(jwk (public) , {name: X448}, true, [verify])
Pass Bad usages: importKey(jwk (public) , {name: X448}, false, [verify])
Pass Bad usages: importKey(jwk (public) , {name: X448}, true, [wrapKey])
Pass Bad usages: importKey(jwk (public) , {name: X448}, false, [wrapKey])
Pass Bad usages: importKey(jwk (public) , {name: X448}, true, [unwrapKey])
Pass Bad usages: importKey(jwk (public) , {name: X448}, false, [unwrapKey])
Pass Bad usages: importKey(jwk (public) , {name: X448}, true, [deriveKey])
Pass Bad usages: importKey(jwk (public) , {name: X448}, false, [deriveKey])
Pass Bad usages: importKey(jwk (public) , {name: X448}, true, [deriveBits])
Pass Bad usages: importKey(jwk (public) , {name: X448}, false, [deriveBits])
Pass Empty usages: importKey(pkcs8, {name: X448}, true, [])
Pass Empty usages: importKey(pkcs8, {name: X448}, false, [])
Pass Empty usages: importKey(jwk(private), {name: X448}, true, [])
Pass Empty usages: importKey(jwk(private), {name: X448}, false, [])
Pass Bad key length: importKey(spki, {name: X448}, true, [])
Pass Bad key length: importKey(spki, {name: X448}, false, [])
Pass Bad key length: importKey(pkcs8, {name: X448}, true, [deriveKey])
Pass Bad key length: importKey(pkcs8, {name: X448}, false, [deriveKey])
Pass Bad key length: importKey(pkcs8, {name: X448}, true, [deriveBits, deriveKey])
Pass Bad key length: importKey(pkcs8, {name: X448}, false, [deriveBits, deriveKey])
Pass Bad key length: importKey(pkcs8, {name: X448}, true, [deriveBits])
Pass Bad key length: importKey(pkcs8, {name: X448}, false, [deriveBits])
Pass Bad key length: importKey(pkcs8, {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Bad key length: importKey(pkcs8, {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Fail Bad key length: importKey(raw, {name: X448}, true, [])
Fail Bad key length: importKey(raw, {name: X448}, false, [])
Fail Bad key length: importKey(jwk(private), {name: X448}, true, [deriveKey])
Fail Bad key length: importKey(jwk(private), {name: X448}, false, [deriveKey])
Fail Bad key length: importKey(jwk(private), {name: X448}, true, [deriveBits, deriveKey])
Fail Bad key length: importKey(jwk(private), {name: X448}, false, [deriveBits, deriveKey])
Fail Bad key length: importKey(jwk(private), {name: X448}, true, [deriveBits])
Fail Bad key length: importKey(jwk(private), {name: X448}, false, [deriveBits])
Fail Bad key length: importKey(jwk(private), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Fail Bad key length: importKey(jwk(private), {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Fail Bad key length: importKey(jwk (public) , {name: X448}, true, [])
Fail Bad key length: importKey(jwk (public) , {name: X448}, false, [])
Pass Missing JWK 'x' parameter: importKey(jwk(private), {name: X448}, true, [deriveKey])
Pass Missing JWK 'x' parameter: importKey(jwk(private), {name: X448}, false, [deriveKey])
Pass Missing JWK 'x' parameter: importKey(jwk(private), {name: X448}, true, [deriveBits, deriveKey])
Pass Missing JWK 'x' parameter: importKey(jwk(private), {name: X448}, false, [deriveBits, deriveKey])
Pass Missing JWK 'x' parameter: importKey(jwk(private), {name: X448}, true, [deriveBits])
Pass Missing JWK 'x' parameter: importKey(jwk(private), {name: X448}, false, [deriveBits])
Pass Missing JWK 'x' parameter: importKey(jwk(private), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Missing JWK 'x' parameter: importKey(jwk(private), {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Missing JWK 'kty' parameter: importKey(jwk(private), {name: X448}, true, [deriveKey])
Pass Missing JWK 'kty' parameter: importKey(jwk(private), {name: X448}, false, [deriveKey])
Pass Missing JWK 'kty' parameter: importKey(jwk(private), {name: X448}, true, [deriveBits, deriveKey])
Pass Missing JWK 'kty' parameter: importKey(jwk(private), {name: X448}, false, [deriveBits, deriveKey])
Pass Missing JWK 'kty' parameter: importKey(jwk(private), {name: X448}, true, [deriveBits])
Pass Missing JWK 'kty' parameter: importKey(jwk(private), {name: X448}, false, [deriveBits])
Pass Missing JWK 'kty' parameter: importKey(jwk(private), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Missing JWK 'kty' parameter: importKey(jwk(private), {name: X448}, false, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Missing JWK 'crv' parameter: importKey(jwk (public) , {name: X448}, true, [])
Pass Missing JWK 'crv' parameter: importKey(jwk (public) , {name: X448}, false, [])
Fail Invalid key pair: importKey(jwk(private), {name: X448}, true, [deriveKey])
Fail Invalid key pair: importKey(jwk(private), {name: X448}, true, [deriveBits, deriveKey])
Fail Invalid key pair: importKey(jwk(private), {name: X448}, true, [deriveBits])
Fail Invalid key pair: importKey(jwk(private), {name: X448}, true, [deriveKey, deriveBits, deriveKey, deriveBits])
Pass Missing algorithm name: importKey(pkcs8, {}, true, deriveKey)
Pass Missing algorithm name: importKey(pkcs8, {}, false, deriveKey)
Pass Missing algorithm name: importKey(pkcs8, {}, true, deriveBits)
Pass Missing algorithm name: importKey(pkcs8, {}, false, deriveBits)
Pass Missing algorithm name: importKey(jwk(private), {}, true, deriveKey)
Pass Missing algorithm name: importKey(jwk(private), {}, false, deriveKey)
Pass Missing algorithm name: importKey(jwk(private), {}, true, deriveBits)
Pass Missing algorithm name: importKey(jwk(private), {}, false, deriveBits)

View file

@ -1,51 +1,46 @@
Summary
Harness status: OK
Rerun
Found 41 tests
41 Pass
Details
Result Test Name MessagePass setup
Pass HMAC with SHA-1 verification
Pass HMAC with SHA-256 verification
Pass HMAC with SHA-384 verification
Pass HMAC with SHA-512 verification
Pass HMAC with SHA-1 verification with altered signature after call
Pass HMAC with SHA-256 verification with altered signature after call
Pass HMAC with SHA-384 verification with altered signature after call
Pass HMAC with SHA-512 verification with altered signature after call
Pass HMAC with SHA-1 with altered plaintext after call
Pass HMAC with SHA-256 with altered plaintext after call
Pass HMAC with SHA-384 with altered plaintext after call
Pass HMAC with SHA-512 with altered plaintext after call
Pass HMAC with SHA-1 no verify usage
Pass HMAC with SHA-256 no verify usage
Pass HMAC with SHA-384 no verify usage
Pass HMAC with SHA-512 no verify usage
Pass HMAC with SHA-1 round trip
Pass HMAC with SHA-256 round trip
Pass HMAC with SHA-384 round trip
Pass HMAC with SHA-512 round trip
Pass HMAC with SHA-1 signing with wrong algorithm name
Pass HMAC with SHA-256 signing with wrong algorithm name
Pass HMAC with SHA-384 signing with wrong algorithm name
Pass HMAC with SHA-512 signing with wrong algorithm name
Pass HMAC with SHA-1 verifying with wrong algorithm name
Pass HMAC with SHA-256 verifying with wrong algorithm name
Pass HMAC with SHA-384 verifying with wrong algorithm name
Pass HMAC with SHA-512 verifying with wrong algorithm name
Pass HMAC with SHA-1 verification failure due to wrong plaintext
Pass HMAC with SHA-256 verification failure due to wrong plaintext
Pass HMAC with SHA-384 verification failure due to wrong plaintext
Pass HMAC with SHA-512 verification failure due to wrong plaintext
Pass HMAC with SHA-1 verification failure due to wrong signature
Pass HMAC with SHA-256 verification failure due to wrong signature
Pass HMAC with SHA-384 verification failure due to wrong signature
Pass HMAC with SHA-512 verification failure due to wrong signature
Pass HMAC with SHA-1 verification failure due to short signature
Pass HMAC with SHA-256 verification failure due to short signature
Pass HMAC with SHA-384 verification failure due to short signature
Pass HMAC with SHA-512 verification failure due to short signature
Pass setup
Pass HMAC with SHA-1 verification
Pass HMAC with SHA-256 verification
Pass HMAC with SHA-384 verification
Pass HMAC with SHA-512 verification
Pass HMAC with SHA-1 verification with altered signature after call
Pass HMAC with SHA-256 verification with altered signature after call
Pass HMAC with SHA-384 verification with altered signature after call
Pass HMAC with SHA-512 verification with altered signature after call
Pass HMAC with SHA-1 with altered plaintext after call
Pass HMAC with SHA-256 with altered plaintext after call
Pass HMAC with SHA-384 with altered plaintext after call
Pass HMAC with SHA-512 with altered plaintext after call
Pass HMAC with SHA-1 no verify usage
Pass HMAC with SHA-256 no verify usage
Pass HMAC with SHA-384 no verify usage
Pass HMAC with SHA-512 no verify usage
Pass HMAC with SHA-1 round trip
Pass HMAC with SHA-256 round trip
Pass HMAC with SHA-384 round trip
Pass HMAC with SHA-512 round trip
Pass HMAC with SHA-1 signing with wrong algorithm name
Pass HMAC with SHA-256 signing with wrong algorithm name
Pass HMAC with SHA-384 signing with wrong algorithm name
Pass HMAC with SHA-512 signing with wrong algorithm name
Pass HMAC with SHA-1 verifying with wrong algorithm name
Pass HMAC with SHA-256 verifying with wrong algorithm name
Pass HMAC with SHA-384 verifying with wrong algorithm name
Pass HMAC with SHA-512 verifying with wrong algorithm name
Pass HMAC with SHA-1 verification failure due to wrong plaintext
Pass HMAC with SHA-256 verification failure due to wrong plaintext
Pass HMAC with SHA-384 verification failure due to wrong plaintext
Pass HMAC with SHA-512 verification failure due to wrong plaintext
Pass HMAC with SHA-1 verification failure due to wrong signature
Pass HMAC with SHA-256 verification failure due to wrong signature
Pass HMAC with SHA-384 verification failure due to wrong signature
Pass HMAC with SHA-512 verification failure due to wrong signature
Pass HMAC with SHA-1 verification failure due to short signature
Pass HMAC with SHA-256 verification failure due to short signature
Pass HMAC with SHA-384 verification failure due to short signature
Pass HMAC with SHA-512 verification failure due to short signature