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,11 +1,6 @@
Summary
Harness status: OK
Rerun
Found 1 tests
1 Pass
Details
Result Test Name MessagePass IDBFactory.cmp()
Pass IDBFactory.cmp()

View file

@ -1,13 +1,8 @@
Summary
Harness status: OK
Rerun
Found 3 tests
3 Pass
Details
Result Test Name MessagePass IDBFactory.cmp() - no argument
Pass IDBFactory.cmp() - null
Pass IDBFactory.cmp() - NaN
Pass IDBFactory.cmp() - no argument
Pass IDBFactory.cmp() - null
Pass IDBFactory.cmp() - NaN

View file

@ -1,14 +1,9 @@
Summary
Harness status: OK
Rerun
Found 4 tests
4 Pass
Details
Result Test Name MessagePass Array v.s. Binary
Pass Binary v.s. String
Pass String v.s. Date
Pass Date v.s. Number
Pass Array v.s. Binary
Pass Binary v.s. String
Pass String v.s. Date
Pass Date v.s. Number

View file

@ -1,14 +1,9 @@
Summary
Harness status: OK
Rerun
Found 4 tests
4 Pass
Details
Result Test Name MessagePass Compare in unsigned octet values (in the range [0, 255])
Pass Compare values in then same length
Pass Compare values in different lengths
Pass Compare when the values in the range of their minimal length are the same
Pass Compare in unsigned octet values (in the range [0, 255])
Pass Compare values in then same length
Pass Compare values in different lengths
Pass Compare when the values in the range of their minimal length are the same

View file

@ -1,40 +1,35 @@
Summary
Harness status: OK
Rerun
Found 29 tests
23 Pass
6 Fail
Details
Result Test Name MessagePass IDBFactory.open() - request has no source
Pass IDBFactory.open() - database 'name' and 'version' are correctly set
Pass IDBFactory.open() - no version opens current database
Pass IDBFactory.open() - new database has default version
Pass IDBFactory.open() - new database is empty
Pass IDBFactory.open() - open database with a lower version than current
Pass IDBFactory.open() - open database with a higher version than current
Fail IDBFactory.open() - error in version change transaction aborts open undefined is not a function (evaluated from '<object>.abort')
Pass Calling open() with version argument -1 should throw TypeError.
Pass Calling open() with version argument -0.5 should throw TypeError.
Pass Calling open() with version argument 0 should throw TypeError.
Pass Calling open() with version argument 0.5 should throw TypeError.
Pass Calling open() with version argument 0.8 should throw TypeError.
Pass Calling open() with version argument 9007199254740992 should throw TypeError.
Pass Calling open() with version argument NaN should throw TypeError.
Pass Calling open() with version argument Infinity should throw TypeError.
Pass Calling open() with version argument -Infinity should throw TypeError.
Pass Calling open() with version argument "foo" should throw TypeError.
Pass Calling open() with version argument null should throw TypeError.
Pass Calling open() with version argument false should throw TypeError.
Pass Calling open() with version argument object should throw TypeError.
Pass Calling open() with version argument object (second) should throw TypeError.
Pass Calling open() with version argument object (third) should throw TypeError.
Fail Calling open() with version argument 1.5 should not throw. undefined is not a function (evaluated from 'indexedDB.deleteDatabase')
Fail Calling open() with version argument 9007199254740991 should not throw. undefined is not a function (evaluated from 'indexedDB.deleteDatabase')
Fail Calling open() with version argument undefined should not throw. undefined is not a function (evaluated from 'indexedDB.deleteDatabase')
Fail IDBFactory.open() - error in upgradeneeded resets db undefined is not a function (evaluated from 'db.createObjectStore')
Fail IDBFactory.open() - second open's transaction is available to get objectStores undefined is not a function (evaluated from 'db.createObjectStore')
Pass IDBFactory.open() - upgradeneeded gets VersionChangeEvent
Pass IDBFactory.open() - request has no source
Pass IDBFactory.open() - database 'name' and 'version' are correctly set
Pass IDBFactory.open() - no version opens current database
Pass IDBFactory.open() - new database has default version
Pass IDBFactory.open() - new database is empty
Pass IDBFactory.open() - open database with a lower version than current
Pass IDBFactory.open() - open database with a higher version than current
Fail IDBFactory.open() - error in version change transaction aborts open
Pass Calling open() with version argument -1 should throw TypeError.
Pass Calling open() with version argument -0.5 should throw TypeError.
Pass Calling open() with version argument 0 should throw TypeError.
Pass Calling open() with version argument 0.5 should throw TypeError.
Pass Calling open() with version argument 0.8 should throw TypeError.
Pass Calling open() with version argument 9007199254740992 should throw TypeError.
Pass Calling open() with version argument NaN should throw TypeError.
Pass Calling open() with version argument Infinity should throw TypeError.
Pass Calling open() with version argument -Infinity should throw TypeError.
Pass Calling open() with version argument "foo" should throw TypeError.
Pass Calling open() with version argument null should throw TypeError.
Pass Calling open() with version argument false should throw TypeError.
Pass Calling open() with version argument object should throw TypeError.
Pass Calling open() with version argument object (second) should throw TypeError.
Pass Calling open() with version argument object (third) should throw TypeError.
Fail Calling open() with version argument 1.5 should not throw.
Fail Calling open() with version argument 9007199254740991 should not throw.
Fail Calling open() with version argument undefined should not throw.
Fail IDBFactory.open() - error in upgradeneeded resets db
Fail IDBFactory.open() - second open's transaction is available to get objectStores
Pass IDBFactory.open() - upgradeneeded gets VersionChangeEvent

View file

@ -1,35 +1,30 @@
Summary
Harness status: OK
Rerun
Found 24 tests
12 Pass
12 Fail
Details
Result Test Name MessageFail Database readback sort - String < Array undefined is not a function (evaluated from 'db.createObjectStore')
Pass IDBKey.cmp sorted - String < Array
Fail Database readback sort - float < String undefined is not a function (evaluated from 'db.createObjectStore')
Pass IDBKey.cmp sorted - float < String
Fail Database readback sort - float < Date undefined is not a function (evaluated from 'db.createObjectStore')
Pass IDBKey.cmp sorted - float < Date
Fail Database readback sort - float < Date < String < Array undefined is not a function (evaluated from 'db.createObjectStore')
Pass IDBKey.cmp sorted - float < Date < String < Array
Fail Database readback sort - Date(1 sec ago) < Date(now) < Date(1 minute in future) undefined is not a function (evaluated from 'db.createObjectStore')
Pass IDBKey.cmp sorted - Date(1 sec ago) < Date(now) < Date(1 minute in future)
Fail Database readback sort - -1.1 < 1 < 1.01337 < 1.013373 < 2 undefined is not a function (evaluated from 'db.createObjectStore')
Pass IDBKey.cmp sorted - -1.1 < 1 < 1.01337 < 1.013373 < 2
Fail Database readback sort - -Infinity < -0.01 < 0 < Infinity undefined is not a function (evaluated from 'db.createObjectStore')
Pass IDBKey.cmp sorted - -Infinity < -0.01 < 0 < Infinity
Fail Database readback sort - "" < "a" < "ab" < "b" < "ba" undefined is not a function (evaluated from 'db.createObjectStore')
Pass IDBKey.cmp sorted - "" < "a" < "ab" < "b" < "ba"
Fail Database readback sort - Arrays undefined is not a function (evaluated from 'db.createObjectStore')
Pass IDBKey.cmp sorted - Arrays
Fail Database readback sort - Array.length: 10,000 < Array.length: 10,001 undefined is not a function (evaluated from 'db.createObjectStore')
Pass IDBKey.cmp sorted - Array.length: 10,000 < Array.length: 10,001
Fail Database readback sort - Infinity inside arrays undefined is not a function (evaluated from 'db.createObjectStore')
Pass IDBKey.cmp sorted - Infinity inside arrays
Fail Database readback sort - Test different stuff at once undefined is not a function (evaluated from 'db.createObjectStore')
Pass IDBKey.cmp sorted - Test different stuff at once
Fail Database readback sort - String < Array
Pass IDBKey.cmp sorted - String < Array
Fail Database readback sort - float < String
Pass IDBKey.cmp sorted - float < String
Fail Database readback sort - float < Date
Pass IDBKey.cmp sorted - float < Date
Fail Database readback sort - float < Date < String < Array
Pass IDBKey.cmp sorted - float < Date < String < Array
Fail Database readback sort - Date(1 sec ago) < Date(now) < Date(1 minute in future)
Pass IDBKey.cmp sorted - Date(1 sec ago) < Date(now) < Date(1 minute in future)
Fail Database readback sort - -1.1 < 1 < 1.01337 < 1.013373 < 2
Pass IDBKey.cmp sorted - -1.1 < 1 < 1.01337 < 1.013373 < 2
Fail Database readback sort - -Infinity < -0.01 < 0 < Infinity
Pass IDBKey.cmp sorted - -Infinity < -0.01 < 0 < Infinity
Fail Database readback sort - "" < "a" < "ab" < "b" < "ba"
Pass IDBKey.cmp sorted - "" < "a" < "ab" < "b" < "ba"
Fail Database readback sort - Arrays
Pass IDBKey.cmp sorted - Arrays
Fail Database readback sort - Array.length: 10,000 < Array.length: 10,001
Pass IDBKey.cmp sorted - Array.length: 10,000 < Array.length: 10,001
Fail Database readback sort - Infinity inside arrays
Pass IDBKey.cmp sorted - Infinity inside arrays
Fail Database readback sort - Test different stuff at once
Pass IDBKey.cmp sorted - Test different stuff at once

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

View file

@ -1,36 +1,31 @@
Summary
Harness status: OK
Rerun
Found 26 tests
26 Pass
Details
Result Test Name MessagePass checkbox label with embedded textfield
Pass label of embedded textfield inside checkbox label
Pass checkbox label with embedded select:not([size])
Pass label of embedded select:not([size]) inside checkbox label
Pass checkbox label with embedded select[size]
Pass label of embedded select[size] inside checkbox label
Pass checkbox label with embedded combobox (input[type=text])
Pass label of embedded combobox (input[type=text]) inside checkbox label
Pass checkbox label with embedded combobox (span)
Pass label of embedded combobox (span) inside checkbox label
Pass checkbox label with embedded combobox (div)
Pass label of embedded combobox (div) inside checkbox label
Pass checkbox label with embedded listbox>option[aria-selected=true]
Pass label of embedded listbox>option[aria-selected=true] inside checkbox label
Pass checkbox label with embedded input[type=range]
Pass label of embedded input[type=range] inside checkbox label
Pass checkbox label with embedded input[type=number]
Pass label of embedded input[type=number] inside checkbox label
Pass checkbox label with embedded ARIA slider (aria-valuenow)
Pass label of embedded ARIA slider (aria-valuenow) inside checkbox label
Pass checkbox label with embedded ARIA slider (aria-valuetext)
Pass label of embedded ARIA slider (aria-valuetext) inside checkbox label
Pass checkbox label with embedded ARIA spinbutton (aria-valuenow)
Pass label of embedded ARIA spinbutton (aria-valuenow) inside checkbox label
Pass checkbox label with embedded ARIA spinbutton (aria-valuetext)
Pass label of embedded ARIA spinbutton (aria-valuetext) inside checkbox label
Pass checkbox label with embedded textfield
Pass label of embedded textfield inside checkbox label
Pass checkbox label with embedded select:not([size])
Pass label of embedded select:not([size]) inside checkbox label
Pass checkbox label with embedded select[size]
Pass label of embedded select[size] inside checkbox label
Pass checkbox label with embedded combobox (input[type=text])
Pass label of embedded combobox (input[type=text]) inside checkbox label
Pass checkbox label with embedded combobox (span)
Pass label of embedded combobox (span) inside checkbox label
Pass checkbox label with embedded combobox (div)
Pass label of embedded combobox (div) inside checkbox label
Pass checkbox label with embedded listbox>option[aria-selected=true]
Pass label of embedded listbox>option[aria-selected=true] inside checkbox label
Pass checkbox label with embedded input[type=range]
Pass label of embedded input[type=range] inside checkbox label
Pass checkbox label with embedded input[type=number]
Pass label of embedded input[type=number] inside checkbox label
Pass checkbox label with embedded ARIA slider (aria-valuenow)
Pass label of embedded ARIA slider (aria-valuenow) inside checkbox label
Pass checkbox label with embedded ARIA slider (aria-valuetext)
Pass label of embedded ARIA slider (aria-valuetext) inside checkbox label
Pass checkbox label with embedded ARIA spinbutton (aria-valuenow)
Pass label of embedded ARIA spinbutton (aria-valuenow) inside checkbox label
Pass checkbox label with embedded ARIA spinbutton (aria-valuetext)
Pass label of embedded ARIA spinbutton (aria-valuetext) inside checkbox label

View file

@ -1,15 +1,10 @@
Summary
Harness status: OK
Rerun
Found 5 tests
5 Pass
Details
Result Test Name MessagePass button containing a rendered, unreferenced element that is aria-hidden=true, an unreferenced element with the hidden host language attribute, and an unreferenced element that is unconditionally rendered
Pass button labelled by element that is aria-hidden=true
Pass button labelled by element with the hidden host language attribute
Pass link labelled by elements with assorted visibility and a11y tree exposure
Pass heading with name from content, containing element that is visibility:hidden with nested content that is visibility:visible
Pass button containing a rendered, unreferenced element that is aria-hidden=true, an unreferenced element with the hidden host language attribute, and an unreferenced element that is unconditionally rendered
Pass button labelled by element that is aria-hidden=true
Pass button labelled by element with the hidden host language attribute
Pass link labelled by elements with assorted visibility and a11y tree exposure
Pass heading with name from content, containing element that is visibility:hidden with nested content that is visibility:visible

View file

@ -1,88 +1,83 @@
Summary
Harness status: OK
Rerun
Found 78 tests
78 Pass
Details
Result Test Name MessagePass html: input[type=button]
Pass html: input[type=image]
Pass html: input[type=reset]
Pass html: input[type=submit]
Pass html: label[for] input[type=checkbox]
Pass html: label[for] input[type=checkbox][value='test']
Pass html: label[for] input[type=checkbox][checked]
Pass html: label[for] input[type=checkbox][checked][value='test']
Pass html: label[for] input[type=color]
Pass html: label[for] input[type=color][value='#999999']
Pass html: label[for] input[type=date]
Pass html: label[for] input[type=date][value='2025-01-01']
Pass html: label[for] input[type=datetime-local]
Pass html: label[for] input[type=datetime-local][value='2025-01-01T00:01']
Pass html: label[for] input[type=email]
Pass html: label[for] input[type=email][value='test@test.com']
Pass html: label[for] input[type=month]
Pass html: label[for] input[type=month][value='2025-01']
Pass html: label[for] input[type=number]
Pass html: label[for] input[type=number][value=2025]
Pass html: label[for] input[type=password]
Pass html: label[for] input[type=password][value='test']
Pass html: label[for] input[type=radio]
Pass html: label[for] input[type=radio][value='test']
Pass html: label[for] input[type=range]
Pass html: label[for] input[type=range][min=0][max=10][value=5]
Pass html: label[for] input[type=search]
Pass html: label[for] input[type=search][value='test']
Pass html: label[for] input[type=tel]
Pass html: label[for] input[type=tel][value='123-45-678']
Pass html: label[for] input[type=text]
Pass html: label[for] input[type=text][value='test']
Pass html: label[for] input[type=time]
Pass html: label[for] input[type=time][value='00:01']
Pass html: label[for] input[type=url]
Pass html: label[for] input[type=url][value='https://www.w3.org']
Pass html: label[for] input[type=week]
Pass html: label[for] input[type=week][value='2025-W01']
Pass html: label input[type=checkbox] encapsulation
Pass html: label input[type=checkbox][value='test'] encapsulation
Pass html: label input[type=checkbox][checked] encapsulation
Pass html: label input[type=checkbox][value='test'][checked] encapsulation
Pass html: label input[type=color] encapsulation
Pass html: label input[type=color][value='#999999'] encapsulation
Pass html: label input[type=date] encapsulation
Pass html: label input[type=date][value='2025-01-01'] encapsulation
Pass html: label input[type=datetime-local] encapsulation
Pass html: label input[type=datetime-local][value='2025-01-01T00:01'] encapsulation
Pass html: label input[type=email] encapsulation
Pass html: label input[type=email][value='test@test.com'] encapsulation
Pass html: label input[type=month] encapsulation
Pass html: label input[type=month][value='2025-01'] encapsulation
Pass html: label input[type=number] encapsulation
Pass html: label input[type=number][value=1] encapsulation
Pass html: label input[type=password] encapsulation
Pass html: label input[type=password][value='test'] encapsulation
Pass html: label input[type=radio] encapsulation
Pass html: label input[type=radio][value='test'] encapsulation
Pass html: label input[type=range] encapsulation
Pass html: label input[type=range][value='5'][min='0'][max='10'] encapsulation
Pass html: label input[type=search] encapsulation
Pass html: label input[type=search][value='test'] encapsulation
Pass html: label input[type=tel] encapsulation
Pass html: label input[type=tel][value='123-45-678'] encapsulation
Pass html: label[for] input[type=text] encapsulation
Pass html: label[for] input[type=text][value='test'] encapsulation
Pass html: label input[type=time] encapsulation
Pass html: label input[type=time][value='00:01'] encapsulation
Pass html: label input[type=url] encapsulation
Pass html: label input[type=url][value='https://www.w3.org'] encapsulation
Pass html: label input[type=week] encapsulation
Pass html: label input[type=week][value='2025-W01'] encapsulation
Pass html: select for/id
Pass html: select encapsulation
Pass html: img[alt] (non-empty)
Pass html: picture > img[alt] (non-empty)
Pass html: fieldset > legend
Pass html: table > caption
Pass html: input[type=button]
Pass html: input[type=image]
Pass html: input[type=reset]
Pass html: input[type=submit]
Pass html: label[for] input[type=checkbox]
Pass html: label[for] input[type=checkbox][value='test']
Pass html: label[for] input[type=checkbox][checked]
Pass html: label[for] input[type=checkbox][checked][value='test']
Pass html: label[for] input[type=color]
Pass html: label[for] input[type=color][value='#999999']
Pass html: label[for] input[type=date]
Pass html: label[for] input[type=date][value='2025-01-01']
Pass html: label[for] input[type=datetime-local]
Pass html: label[for] input[type=datetime-local][value='2025-01-01T00:01']
Pass html: label[for] input[type=email]
Pass html: label[for] input[type=email][value='test@test.com']
Pass html: label[for] input[type=month]
Pass html: label[for] input[type=month][value='2025-01']
Pass html: label[for] input[type=number]
Pass html: label[for] input[type=number][value=2025]
Pass html: label[for] input[type=password]
Pass html: label[for] input[type=password][value='test']
Pass html: label[for] input[type=radio]
Pass html: label[for] input[type=radio][value='test']
Pass html: label[for] input[type=range]
Pass html: label[for] input[type=range][min=0][max=10][value=5]
Pass html: label[for] input[type=search]
Pass html: label[for] input[type=search][value='test']
Pass html: label[for] input[type=tel]
Pass html: label[for] input[type=tel][value='123-45-678']
Pass html: label[for] input[type=text]
Pass html: label[for] input[type=text][value='test']
Pass html: label[for] input[type=time]
Pass html: label[for] input[type=time][value='00:01']
Pass html: label[for] input[type=url]
Pass html: label[for] input[type=url][value='https://www.w3.org']
Pass html: label[for] input[type=week]
Pass html: label[for] input[type=week][value='2025-W01']
Pass html: label input[type=checkbox] encapsulation
Pass html: label input[type=checkbox][value='test'] encapsulation
Pass html: label input[type=checkbox][checked] encapsulation
Pass html: label input[type=checkbox][value='test'][checked] encapsulation
Pass html: label input[type=color] encapsulation
Pass html: label input[type=color][value='#999999'] encapsulation
Pass html: label input[type=date] encapsulation
Pass html: label input[type=date][value='2025-01-01'] encapsulation
Pass html: label input[type=datetime-local] encapsulation
Pass html: label input[type=datetime-local][value='2025-01-01T00:01'] encapsulation
Pass html: label input[type=email] encapsulation
Pass html: label input[type=email][value='test@test.com'] encapsulation
Pass html: label input[type=month] encapsulation
Pass html: label input[type=month][value='2025-01'] encapsulation
Pass html: label input[type=number] encapsulation
Pass html: label input[type=number][value=1] encapsulation
Pass html: label input[type=password] encapsulation
Pass html: label input[type=password][value='test'] encapsulation
Pass html: label input[type=radio] encapsulation
Pass html: label input[type=radio][value='test'] encapsulation
Pass html: label input[type=range] encapsulation
Pass html: label input[type=range][value='5'][min='0'][max='10'] encapsulation
Pass html: label input[type=search] encapsulation
Pass html: label input[type=search][value='test'] encapsulation
Pass html: label input[type=tel] encapsulation
Pass html: label input[type=tel][value='123-45-678'] encapsulation
Pass html: label[for] input[type=text] encapsulation
Pass html: label[for] input[type=text][value='test'] encapsulation
Pass html: label input[type=time] encapsulation
Pass html: label input[type=time][value='00:01'] encapsulation
Pass html: label input[type=url] encapsulation
Pass html: label input[type=url][value='https://www.w3.org'] encapsulation
Pass html: label input[type=week] encapsulation
Pass html: label input[type=week][value='2025-W01'] encapsulation
Pass html: select for/id
Pass html: select encapsulation
Pass html: img[alt] (non-empty)
Pass html: picture > img[alt] (non-empty)
Pass html: fieldset > legend
Pass html: table > caption

View file

@ -1,141 +1,136 @@
Summary
Harness status: OK
Rerun
Found 131 tests
131 Pass
Details
Result Test Name MessagePass label valid on div with alert role
Pass label valid on div with alertdialog role
Pass label valid on div with application role
Pass label valid on div with article role
Pass label valid on div with banner role
Pass label valid on div with blockquote role
Pass label valid on div with button role
Pass label valid on div with cell role
Pass label valid on div with checkbox role
Pass label valid on div with columnheader role
Pass label valid on div with combobox role
Pass label valid on div with complementary role
Pass label valid on div with contentinfo role
Pass label valid on div with dialog role
Pass label valid on div with directory role
Pass label valid on div with document role
Pass label valid on div with feed role
Pass label valid on div with figure role
Pass label valid on div with form role
Pass label valid on div with grid role
Pass label valid on div with gridcell role
Pass label valid on div with group role
Pass label valid on div with heading role
Pass label valid on div with img role
Pass label valid on div with link role
Pass label valid on div with list role
Pass label valid on div with listbox role
Pass label valid on div with listitem role
Pass label valid on div with log role
Pass label valid on div with main role
Pass label valid on div with marquee role
Pass label valid on div with math role
Pass label valid on div with menu role
Pass label valid on div with menubar role
Pass label valid on div with menuitem role
Pass label valid on div with menuitemcheckbox role
Pass label valid on div with menuitemradio role
Pass label valid on div with meter role
Pass label valid on div with navigation role
Pass label valid on div with note role
Pass label valid on div with option role
Pass label valid on div with progressbar role
Pass label valid on div with radio role
Pass label valid on div with radiogroup role
Pass label valid on div with region role
Pass label valid on div with row role
Pass label valid on div with rowgroup role
Pass label valid on div with rowheader role
Pass label valid on div with scrollbar role
Pass label valid on div with search role
Pass label valid on div with searchbox role
Pass label valid on div with separator role
Pass label valid on div with slider role
Pass label valid on div with spinbutton role
Pass label valid on div with status role
Pass label valid on div with switch role
Pass label valid on div with tab role
Pass label valid on div with table role
Pass label valid on div with tablist role
Pass label valid on div with tabpanel role
Pass label valid on div with textbox role
Pass label valid on div with timer role
Pass label valid on div with toolbar role
Pass label valid on div with tooltip role
Pass label valid on div with tree role
Pass label valid on div with treegrid role
Pass label valid on div with treeitem role
Pass label valid on link element
Pass label valid on article element
Pass label valid on aside element
Pass label valid on blockquote element
Pass label valid on button element
Pass label valid on dl element
Pass label valid on footer element
Pass label valid on fieldset element
Pass label valid on figure element
Pass label valid on form element
Pass label valid on header element
Pass label valid on h1 element
Pass label valid on h2 element
Pass label valid on h3 element
Pass label valid on h4 element
Pass label valid on h5 element
Pass label valid on h6 element
Pass label valid on hr element
Pass label valid on img element
Pass label valid on input type checkbox element
Pass label valid on input type radio element
Pass label valid on input type search element
Pass label valid on input type text element
Pass label valid on listitem element
Pass label valid on main element
Pass label valid on math element
Pass label valid on meter element
Pass label valid on nav element
Pass label valid on list (ordered) element
Pass label valid on section element
Pass label valid on select element
Pass label valid on option element
Pass label valid on table element
Pass label valid on thead element
Pass label valid on th element with the scope of col
Pass label valid on th (scope row) element
Pass label valid on tbody element
Pass label valid on tr element
Pass label valid on td element
Pass label valid on tfoot element
Pass label valid on textarea element
Pass label valid on list (unordered) element
Pass button's hidden referenced name (display:none) supercedes aria-label
Pass button's hidden referenced name (visibility:hidden) supercedes aria-label
Pass button's hidden referenced name (visibility:hidden) with hidden aria-labelledby traversal falls back to aria-label
Pass link's aria-labelledby name supercedes aria-label
Pass img's aria-label supercedes alt attribute
Pass svg's aria-label supercedes title tag
Pass input with label for association is superceded by aria-label
Pass button name from contents is superceded by aria-label
Pass h1 text is superceded by aria-label
Pass button with title is superceded by aria-label
Pass textarea's name with trailing whitespace in aria-label is valid
Pass link's name with leading whitespace in aria-label is valid
Pass button with blank braille pattern has name as such (not treated as whitespace per Unicode standard)
Pass div with role alert and carriage return in aria-label is valid
Pass link's name with tab in aria-label is valid
Pass button with leading form feed control character in aria-label is valid
Pass nav with trailing nbsp char aria-label is valid (nbsp is preserved in name)
Pass button with leading nbsp char in aria-label is valid (and uses aria-label)
Pass button with empty aria-label does not use aria-label as name
Pass textarea with tab character as aria-label does not use aria-label as name
Pass button with carriage return as aria-label does not use aria-label as name
Pass button with space characters as aria-label does not use aria-label as name
Pass label valid on div with alert role
Pass label valid on div with alertdialog role
Pass label valid on div with application role
Pass label valid on div with article role
Pass label valid on div with banner role
Pass label valid on div with blockquote role
Pass label valid on div with button role
Pass label valid on div with cell role
Pass label valid on div with checkbox role
Pass label valid on div with columnheader role
Pass label valid on div with combobox role
Pass label valid on div with complementary role
Pass label valid on div with contentinfo role
Pass label valid on div with dialog role
Pass label valid on div with directory role
Pass label valid on div with document role
Pass label valid on div with feed role
Pass label valid on div with figure role
Pass label valid on div with form role
Pass label valid on div with grid role
Pass label valid on div with gridcell role
Pass label valid on div with group role
Pass label valid on div with heading role
Pass label valid on div with img role
Pass label valid on div with link role
Pass label valid on div with list role
Pass label valid on div with listbox role
Pass label valid on div with listitem role
Pass label valid on div with log role
Pass label valid on div with main role
Pass label valid on div with marquee role
Pass label valid on div with math role
Pass label valid on div with menu role
Pass label valid on div with menubar role
Pass label valid on div with menuitem role
Pass label valid on div with menuitemcheckbox role
Pass label valid on div with menuitemradio role
Pass label valid on div with meter role
Pass label valid on div with navigation role
Pass label valid on div with note role
Pass label valid on div with option role
Pass label valid on div with progressbar role
Pass label valid on div with radio role
Pass label valid on div with radiogroup role
Pass label valid on div with region role
Pass label valid on div with row role
Pass label valid on div with rowgroup role
Pass label valid on div with rowheader role
Pass label valid on div with scrollbar role
Pass label valid on div with search role
Pass label valid on div with searchbox role
Pass label valid on div with separator role
Pass label valid on div with slider role
Pass label valid on div with spinbutton role
Pass label valid on div with status role
Pass label valid on div with switch role
Pass label valid on div with tab role
Pass label valid on div with table role
Pass label valid on div with tablist role
Pass label valid on div with tabpanel role
Pass label valid on div with textbox role
Pass label valid on div with timer role
Pass label valid on div with toolbar role
Pass label valid on div with tooltip role
Pass label valid on div with tree role
Pass label valid on div with treegrid role
Pass label valid on div with treeitem role
Pass label valid on link element
Pass label valid on article element
Pass label valid on aside element
Pass label valid on blockquote element
Pass label valid on button element
Pass label valid on dl element
Pass label valid on footer element
Pass label valid on fieldset element
Pass label valid on figure element
Pass label valid on form element
Pass label valid on header element
Pass label valid on h1 element
Pass label valid on h2 element
Pass label valid on h3 element
Pass label valid on h4 element
Pass label valid on h5 element
Pass label valid on h6 element
Pass label valid on hr element
Pass label valid on img element
Pass label valid on input type checkbox element
Pass label valid on input type radio element
Pass label valid on input type search element
Pass label valid on input type text element
Pass label valid on listitem element
Pass label valid on main element
Pass label valid on math element
Pass label valid on meter element
Pass label valid on nav element
Pass label valid on list (ordered) element
Pass label valid on section element
Pass label valid on select element
Pass label valid on option element
Pass label valid on table element
Pass label valid on thead element
Pass label valid on th element with the scope of col
Pass label valid on th (scope row) element
Pass label valid on tbody element
Pass label valid on tr element
Pass label valid on td element
Pass label valid on tfoot element
Pass label valid on textarea element
Pass label valid on list (unordered) element
Pass button's hidden referenced name (display:none) supercedes aria-label
Pass button's hidden referenced name (visibility:hidden) supercedes aria-label
Pass button's hidden referenced name (visibility:hidden) with hidden aria-labelledby traversal falls back to aria-label
Pass link's aria-labelledby name supercedes aria-label
Pass img's aria-label supercedes alt attribute
Pass svg's aria-label supercedes title tag
Pass input with label for association is superceded by aria-label
Pass button name from contents is superceded by aria-label
Pass h1 text is superceded by aria-label
Pass button with title is superceded by aria-label
Pass textarea's name with trailing whitespace in aria-label is valid
Pass link's name with leading whitespace in aria-label is valid
Pass button with blank braille pattern has name as such (not treated as whitespace per Unicode standard)
Pass div with role alert and carriage return in aria-label is valid
Pass link's name with tab in aria-label is valid
Pass button with leading form feed control character in aria-label is valid
Pass nav with trailing nbsp char aria-label is valid (nbsp is preserved in name)
Pass button with leading nbsp char in aria-label is valid (and uses aria-label)
Pass button with empty aria-label does not use aria-label as name
Pass textarea with tab character as aria-label does not use aria-label as name
Pass button with carriage return as aria-label does not use aria-label as name
Pass button with space characters as aria-label does not use aria-label as name

View file

@ -1,13 +1,8 @@
Summary
Harness status: OK
Rerun
Found 3 tests
3 Pass
Details
Result Test Name MessagePass div group explicitly labelledby heading
Pass div group explicitly labelledby self and heading
Pass nav with verified spaces appended between each of IDREFS
Pass div group explicitly labelledby heading
Pass div group explicitly labelledby self and heading
Pass nav with verified spaces appended between each of IDREFS

View file

@ -1,37 +1,32 @@
Summary
Harness status: OK
Rerun
Found 27 tests
27 Pass
Details
Result Test Name MessagePass button with aria-labelledby using display:none hidden span (with nested span)
Pass button with aria-labelledby using display:none hidden span (with nested spans, depth 2)
Pass button with aria-labelledby using span without display:none (with nested display:none spans, depth 2)
Pass button with aria-labelledby using display:none hidden span (with nested sibling spans)
Pass button with aria-labelledby using span without display:none (with nested display:none sibling spans)
Pass button with aria-labelledby using span with display:none (with nested display:inline sibling spans)
Pass button with aria-labelledby using visibility:hidden span (with nested span)
Pass button with aria-labelledby using visibility:hidden span (with nested spans, depth 2)
Pass button with aria-labelledby using span without visibility:hidden (with nested visibility:hidden spans, depth 2)
Pass button with aria-labelledby using visibility:hidden hidden span (with nested sibling spans)
Pass button with aria-labelledby using span without visibility:hidden (with nested visibility:hidden sibling spans)
Pass button with aria-labelledby using span with visibility:hidden (with nested visibility:visible sibling spans)
Pass button with aria-labelledby using visibility:collapse span (with nested span)
Pass button with aria-labelledby using visibility:collapse span (with nested spans, depth 2)
Pass button with aria-labelledby using span without visibility:collapse (with nested visibility:visible spans, depth 2)
Pass button with aria-labelledby using visibility:collapse span (with nested sibling spans)
Pass button with aria-labelledby using span without visibility:collapse (with nested visibility:collapse sibling spans)
Pass button with aria-labelledby using span with visibility:collapse (with nested visible sibling spans)
Pass button with aria-labelledby using aria-hidden span (with nested span)
Pass button with aria-labelledby using aria-hidden span (with nested spans, depth 2)
Pass button with aria-labelledby using span without aria-hidden (with nested aria-hidden spans, depth 2)
Pass button with aria-labelledby using aria-hidden hidden span (with nested sibling spans)
Pass button with aria-labelledby using HTML5 hidden span (with nested span)
Pass button with aria-labelledby using HTML5 hidden span (with nested spans, depth 2)
Pass button with aria-labelledby using span without HTML5 hidden (with nested HTML5 hidden spans, depth 2)
Pass button with aria-labelledby using HTML5 hidden span (with nested hidden sibling spans)
Pass button with aria-labelledby using span without HTML5 hidden (with nested hidden sibling spans)
Pass button with aria-labelledby using display:none hidden span (with nested span)
Pass button with aria-labelledby using display:none hidden span (with nested spans, depth 2)
Pass button with aria-labelledby using span without display:none (with nested display:none spans, depth 2)
Pass button with aria-labelledby using display:none hidden span (with nested sibling spans)
Pass button with aria-labelledby using span without display:none (with nested display:none sibling spans)
Pass button with aria-labelledby using span with display:none (with nested display:inline sibling spans)
Pass button with aria-labelledby using visibility:hidden span (with nested span)
Pass button with aria-labelledby using visibility:hidden span (with nested spans, depth 2)
Pass button with aria-labelledby using span without visibility:hidden (with nested visibility:hidden spans, depth 2)
Pass button with aria-labelledby using visibility:hidden hidden span (with nested sibling spans)
Pass button with aria-labelledby using span without visibility:hidden (with nested visibility:hidden sibling spans)
Pass button with aria-labelledby using span with visibility:hidden (with nested visibility:visible sibling spans)
Pass button with aria-labelledby using visibility:collapse span (with nested span)
Pass button with aria-labelledby using visibility:collapse span (with nested spans, depth 2)
Pass button with aria-labelledby using span without visibility:collapse (with nested visibility:visible spans, depth 2)
Pass button with aria-labelledby using visibility:collapse span (with nested sibling spans)
Pass button with aria-labelledby using span without visibility:collapse (with nested visibility:collapse sibling spans)
Pass button with aria-labelledby using span with visibility:collapse (with nested visible sibling spans)
Pass button with aria-labelledby using aria-hidden span (with nested span)
Pass button with aria-labelledby using aria-hidden span (with nested spans, depth 2)
Pass button with aria-labelledby using span without aria-hidden (with nested aria-hidden spans, depth 2)
Pass button with aria-labelledby using aria-hidden hidden span (with nested sibling spans)
Pass button with aria-labelledby using HTML5 hidden span (with nested span)
Pass button with aria-labelledby using HTML5 hidden span (with nested spans, depth 2)
Pass button with aria-labelledby using span without HTML5 hidden (with nested HTML5 hidden spans, depth 2)
Pass button with aria-labelledby using HTML5 hidden span (with nested hidden sibling spans)
Pass button with aria-labelledby using span without HTML5 hidden (with nested hidden sibling spans)

View file

@ -1,70 +1,65 @@
Summary
Harness status: OK
Rerun
Found 60 tests
60 Pass
Details
Result Test Name MessagePass aria button name from content, inline
Pass aria heading name from content, inline
Pass aria link name from content, inline
Pass aria button name from content, block
Pass aria heading name from content, block
Pass aria link name from content, block
Pass button name from content
Pass heading name from content
Pass link name from content
Pass button name from content with ::before
Pass heading name from content with ::before
Pass link name from content with ::before
Pass button name from content with ::after
Pass heading name from content with ::after
Pass link name from content with ::after
Pass button name from content with ::before and ::after
Pass heading name from content with ::before and ::after
Pass link name from content with ::before and ::after
Pass button name from content no space joiners ::before and ::after
Pass heading name from content no space joiners ::before and ::after
Pass link name from content no space joiners ::before and ::after
Pass button name from content with ::before and ::after in rtl
Pass heading name from content with ::before and ::after in rtl
Pass link name from content with ::before and ::after in rtl
Pass button name from fallback content with ::before and ::after
Pass heading name from fallback content with ::before and ::after
Pass link name from fallback content with ::before and ::after
Pass button name from fallback content mixing attr() and strings with ::before and ::after
Pass heading name from fallback content mixing attr() and strings with ::before and ::after
Pass link name from fallback content mixing attr() and strings with ::before and ::after
Pass primitive radio input with ::before containing empty alternative text
Pass primitive radio input with ::before containing empty alternative text for an image
Pass button name from content for each child
Pass heading name from content for each child
Pass link name from content for each child
Pass button name from content for each child including image
Pass heading name from content for each child including image
Pass link name from content for each child including image
Pass button name from content for each child including nested image
Pass heading name from content for each child including nested image
Pass link name from content for each child including nested image
Pass heading name from content for each child including nested button with nested image
Pass heading name from content for each child including nested link with nested image
Pass heading name from content for each child including nested link using aria-label with nested image
Pass heading name from content for each child including nested link using aria-labelledby with nested image
Pass heading name from content for each child including two nested links using aria-labelledby with nested image
Pass link name from content for each child including nested image (referenced elsewhere via labelledby)
Pass button name from content for each child (no space, inline)
Pass heading name from content for each child (no space, inline)
Pass link name from content for each child (no space, inline)
Pass button name from content for each child (no space, display:block)
Pass heading name from content for each child (no space, display:block)
Pass link name from content for each child (no space, display:block)
Pass button name from content for each child (no space, display:inline-block)
Pass heading name from content for each child (no space, display:inline-block)
Pass link name from content for each child (no space, display:inline-block)
Pass heading name from content with text-transform:none
Pass heading name from content with text-transform:uppercase
Pass heading name from content with text-transform:capitalize
Pass heading name from content with text-transform:lowercase
Pass aria button name from content, inline
Pass aria heading name from content, inline
Pass aria link name from content, inline
Pass aria button name from content, block
Pass aria heading name from content, block
Pass aria link name from content, block
Pass button name from content
Pass heading name from content
Pass link name from content
Pass button name from content with ::before
Pass heading name from content with ::before
Pass link name from content with ::before
Pass button name from content with ::after
Pass heading name from content with ::after
Pass link name from content with ::after
Pass button name from content with ::before and ::after
Pass heading name from content with ::before and ::after
Pass link name from content with ::before and ::after
Pass button name from content no space joiners ::before and ::after
Pass heading name from content no space joiners ::before and ::after
Pass link name from content no space joiners ::before and ::after
Pass button name from content with ::before and ::after in rtl
Pass heading name from content with ::before and ::after in rtl
Pass link name from content with ::before and ::after in rtl
Pass button name from fallback content with ::before and ::after
Pass heading name from fallback content with ::before and ::after
Pass link name from fallback content with ::before and ::after
Pass button name from fallback content mixing attr() and strings with ::before and ::after
Pass heading name from fallback content mixing attr() and strings with ::before and ::after
Pass link name from fallback content mixing attr() and strings with ::before and ::after
Pass primitive radio input with ::before containing empty alternative text
Pass primitive radio input with ::before containing empty alternative text for an image
Pass button name from content for each child
Pass heading name from content for each child
Pass link name from content for each child
Pass button name from content for each child including image
Pass heading name from content for each child including image
Pass link name from content for each child including image
Pass button name from content for each child including nested image
Pass heading name from content for each child including nested image
Pass link name from content for each child including nested image
Pass heading name from content for each child including nested button with nested image
Pass heading name from content for each child including nested link with nested image
Pass heading name from content for each child including nested link using aria-label with nested image
Pass heading name from content for each child including nested link using aria-labelledby with nested image
Pass heading name from content for each child including two nested links using aria-labelledby with nested image
Pass link name from content for each child including nested image (referenced elsewhere via labelledby)
Pass button name from content for each child (no space, inline)
Pass heading name from content for each child (no space, inline)
Pass link name from content for each child (no space, inline)
Pass button name from content for each child (no space, display:block)
Pass heading name from content for each child (no space, display:block)
Pass link name from content for each child (no space, display:block)
Pass button name from content for each child (no space, display:inline-block)
Pass heading name from content for each child (no space, display:inline-block)
Pass link name from content for each child (no space, display:inline-block)
Pass heading name from content with text-transform:none
Pass heading name from content with text-transform:uppercase
Pass heading name from content with text-transform:capitalize
Pass heading name from content with text-transform:lowercase

View file

@ -1,60 +1,55 @@
Summary
Harness status: OK
Rerun
Found 50 tests
50 Pass
Details
Result Test Name MessagePass span[role=button] with text/element/text nodes, no space
Pass div[role=heading] with text/element/text nodes, no space
Pass button with text/element/text nodes, no space
Pass heading with text/element/text nodes, no space
Pass link with text/element/text nodes, no space
Pass span[role=button] with text/comment/text nodes, no space
Pass div[role=heading] with text/comment/text nodes, no space
Pass button with text/comment/text nodes, no space
Pass heading with text/comment/text nodes, no space
Pass link with text/comment/text nodes, no space
Pass span[role=button] with text/comment/text nodes, with space
Pass div[role=heading] with text/comment/text nodes, with space
Pass button with text/comment/text nodes, with space
Pass heading with text/comment/text nodes, with space
Pass link with text/comment/text nodes, with space
Pass span[role=button] with text node, with tab char
Pass div[role=heading] with text node, with tab char
Pass button with text node, with tab char
Pass heading with text node, with tab char
Pass link with text node, with tab char
Pass span[role=button] with text node, with non-breaking space
Pass div[role=heading] with text node, with non-breaking space
Pass button with text node, with non-breaking space
Pass heading with text node, with non-breaking space
Pass link with text node, with non-breaking space
Pass span[role=button] with text node, with extra non-breaking space
Pass div[role=heading] with text node, with extra non-breaking space
Pass button with text node, with extra non-breaking space
Pass heading with text node, with extra non-breaking space
Pass link with text node, with extra non-breaking space
Pass span[role=button] with text node, with leading/trailing non-breaking space
Pass div[role=heading] with text node, with leading/trailing non-breaking space
Pass button with text node, with leading/trailing non-breaking space
Pass heading with text node, with leading/trailing non-breaking space
Pass link with text node, with leading/trailing non-breaking space
Pass span[role=button] with text node, with mixed space and non-breaking space
Pass div[role=heading] with text node, with mixed space and non-breaking space
Pass button with text node, with mixed space and non-breaking space
Pass heading with text node, with mixed space and non-breaking space
Pass link with text node, with mixed space and non-breaking space
Pass span[role=button] with text node, with deeply nested space
Pass div[role=heading] with text node, with deeply nested space
Pass button with text node, with deeply nested space
Pass heading with text node, with deeply nested space
Pass link with text node, with deeply nested space
Pass span[role=button] with text node, with single line break
Pass div[role=heading] with text node, with single line break
Pass button with text node, with single line break
Pass heading with text node, with single line break
Pass link with text node, with single line break
Pass span[role=button] with text/element/text nodes, no space
Pass div[role=heading] with text/element/text nodes, no space
Pass button with text/element/text nodes, no space
Pass heading with text/element/text nodes, no space
Pass link with text/element/text nodes, no space
Pass span[role=button] with text/comment/text nodes, no space
Pass div[role=heading] with text/comment/text nodes, no space
Pass button with text/comment/text nodes, no space
Pass heading with text/comment/text nodes, no space
Pass link with text/comment/text nodes, no space
Pass span[role=button] with text/comment/text nodes, with space
Pass div[role=heading] with text/comment/text nodes, with space
Pass button with text/comment/text nodes, with space
Pass heading with text/comment/text nodes, with space
Pass link with text/comment/text nodes, with space
Pass span[role=button] with text node, with tab char
Pass div[role=heading] with text node, with tab char
Pass button with text node, with tab char
Pass heading with text node, with tab char
Pass link with text node, with tab char
Pass span[role=button] with text node, with non-breaking space
Pass div[role=heading] with text node, with non-breaking space
Pass button with text node, with non-breaking space
Pass heading with text node, with non-breaking space
Pass link with text node, with non-breaking space
Pass span[role=button] with text node, with extra non-breaking space
Pass div[role=heading] with text node, with extra non-breaking space
Pass button with text node, with extra non-breaking space
Pass heading with text node, with extra non-breaking space
Pass link with text node, with extra non-breaking space
Pass span[role=button] with text node, with leading/trailing non-breaking space
Pass div[role=heading] with text node, with leading/trailing non-breaking space
Pass button with text node, with leading/trailing non-breaking space
Pass heading with text node, with leading/trailing non-breaking space
Pass link with text node, with leading/trailing non-breaking space
Pass span[role=button] with text node, with mixed space and non-breaking space
Pass div[role=heading] with text node, with mixed space and non-breaking space
Pass button with text node, with mixed space and non-breaking space
Pass heading with text node, with mixed space and non-breaking space
Pass link with text node, with mixed space and non-breaking space
Pass span[role=button] with text node, with deeply nested space
Pass div[role=heading] with text node, with deeply nested space
Pass button with text node, with deeply nested space
Pass heading with text node, with deeply nested space
Pass link with text node, with deeply nested space
Pass span[role=button] with text node, with single line break
Pass div[role=heading] with text node, with single line break
Pass button with text node, with single line break
Pass heading with text node, with single line break
Pass link with text node, with single line break

View file

@ -1,33 +1,28 @@
Summary
Harness status: OK
Rerun
Found 23 tests
23 Pass
Details
Result Test Name MessagePass link with img with tooltip label
Pass link with text with tooltip label and no contents
Pass link with text with tooltip label and contents
Pass div with text with tooltip label
Pass img with tooltip label without alt
Pass img with tooltip label with empty alt
Pass img with tooltip label with alt
Pass img with tooltip label without title
Pass select with tooltip label
Pass button with tooltip label
Pass checkbox input with tooltip label
Pass radio input with tooltip label
Pass text input with placeholder and tooltip label
Pass password input with placeholder and tooltip label
Pass number input with placeholder and tooltip label
Pass search input with placeholder and tooltip label
Pass tel input with placeholder and tooltip label
Pass email input with placeholder and tooltip label
Pass url input with placeholder and tooltip label
Pass textarea with placeholder and tooltip label
Pass abbr with tooltip label
Pass summary with tooltip label and contents
Pass iframe with tooltip label
Pass link with img with tooltip label
Pass link with text with tooltip label and no contents
Pass link with text with tooltip label and contents
Pass div with text with tooltip label
Pass img with tooltip label without alt
Pass img with tooltip label with empty alt
Pass img with tooltip label with alt
Pass img with tooltip label without title
Pass select with tooltip label
Pass button with tooltip label
Pass checkbox input with tooltip label
Pass radio input with tooltip label
Pass text input with placeholder and tooltip label
Pass password input with placeholder and tooltip label
Pass number input with placeholder and tooltip label
Pass search input with placeholder and tooltip label
Pass tel input with placeholder and tooltip label
Pass email input with placeholder and tooltip label
Pass url input with placeholder and tooltip label
Pass textarea with placeholder and tooltip label
Pass abbr with tooltip label
Pass summary with tooltip label and contents
Pass iframe with tooltip label

View file

@ -1,12 +1,7 @@
Summary
Harness status: OK
Rerun
Found 2 tests
2 Pass
Details
Result Test Name MessagePass aria-labelledby reference to element with text content inside shadow DOM
Pass aria-labelledby reference to element with aria-label inside shadow DOM
Pass aria-labelledby reference to element with text content inside shadow DOM
Pass aria-labelledby reference to element with aria-label inside shadow DOM

View file

@ -1,14 +1,9 @@
Summary
Harness status: OK
Rerun
Found 4 tests
4 Pass
Details
Result Test Name MessagePass aria-labelledby reference to element with slotted text content
Pass aria-labelledby reference to element with default slotted text content
Pass aria-labelledby reference to element with slotted text content and aria-label on slot
Pass aria-labelledby reference to element with default slotted text content and aria-label on slot
Pass aria-labelledby reference to element with slotted text content
Pass aria-labelledby reference to element with default slotted text content
Pass aria-labelledby reference to element with slotted text content and aria-label on slot
Pass aria-labelledby reference to element with default slotted text content and aria-label on slot

View file

@ -1,11 +1,6 @@
Summary
Harness status: OK
Rerun
Found 1 tests
1 Fail
Details
Result Test Name MessageFail The computed value of float with absolute positioning when there is no box should be "none"
Fail The computed value of float with absolute positioning when there is no box should be "none"

View file

@ -1,11 +1,6 @@
Summary
Harness status: OK
Rerun
Found 1 tests
1 Pass
Details
Result Test Name MessagePass Pass if not crashes
Pass Pass if not crashes

View file

@ -1,77 +1,72 @@
Summary
Harness status: OK
Rerun
Found 66 tests
54 Pass
12 Fail
Details
Result Test Name MessageFail CSS Transitions with transition-behavior:allow-discrete: property <float> from [initial] to [right] at (-0.3) should be [initial]
Fail CSS Transitions with transition-behavior:allow-discrete: property <float> from [initial] to [right] at (0) should be [initial]
Fail CSS Transitions with transition-behavior:allow-discrete: property <float> from [initial] to [right] at (0.3) should be [initial]
Pass CSS Transitions with transition-behavior:allow-discrete: property <float> from [initial] to [right] at (0.5) should be [right]
Pass CSS Transitions with transition-behavior:allow-discrete: property <float> from [initial] to [right] at (0.6) should be [right]
Pass CSS Transitions with transition-behavior:allow-discrete: property <float> from [initial] to [right] at (1) should be [right]
Pass CSS Transitions with transition-behavior:allow-discrete: property <float> from [initial] to [right] at (1.5) should be [right]
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <float> from [initial] to [right] at (-0.3) should be [initial]
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <float> from [initial] to [right] at (0) should be [initial]
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <float> from [initial] to [right] at (0.3) should be [initial]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <float> from [initial] to [right] at (0.5) should be [right]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <float> from [initial] to [right] at (0.6) should be [right]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <float> from [initial] to [right] at (1) should be [right]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <float> from [initial] to [right] at (1.5) should be [right]
Pass CSS Transitions: property <float> from [initial] to [right] at (-0.3) should be [right]
Pass CSS Transitions: property <float> from [initial] to [right] at (0) should be [right]
Pass CSS Transitions: property <float> from [initial] to [right] at (0.3) should be [right]
Pass CSS Transitions: property <float> from [initial] to [right] at (0.5) should be [right]
Pass CSS Transitions: property <float> from [initial] to [right] at (0.6) should be [right]
Pass CSS Transitions: property <float> from [initial] to [right] at (1) should be [right]
Pass CSS Transitions: property <float> from [initial] to [right] at (1.5) should be [right]
Pass CSS Transitions with transition: all: property <float> from [initial] to [right] at (-0.3) should be [right]
Pass CSS Transitions with transition: all: property <float> from [initial] to [right] at (0) should be [right]
Pass CSS Transitions with transition: all: property <float> from [initial] to [right] at (0.3) should be [right]
Pass CSS Transitions with transition: all: property <float> from [initial] to [right] at (0.5) should be [right]
Pass CSS Transitions with transition: all: property <float> from [initial] to [right] at (0.6) should be [right]
Pass CSS Transitions with transition: all: property <float> from [initial] to [right] at (1) should be [right]
Pass CSS Transitions with transition: all: property <float> from [initial] to [right] at (1.5) should be [right]
Pass CSS Animations: property <float> from [initial] to [right] at (-0.3) should be [initial]
Pass CSS Animations: property <float> from [initial] to [right] at (0) should be [initial]
Pass CSS Animations: property <float> from [initial] to [right] at (0.3) should be [initial]
Pass CSS Animations: property <float> from [initial] to [right] at (0.5) should be [right]
Pass CSS Animations: property <float> from [initial] to [right] at (0.6) should be [right]
Pass CSS Animations: property <float> from [initial] to [right] at (1) should be [right]
Pass CSS Animations: property <float> from [initial] to [right] at (1.5) should be [right]
Pass Web Animations: property <float> from [initial] to [right] at (-0.3) should be [initial]
Pass Web Animations: property <float> from [initial] to [right] at (0) should be [initial]
Pass Web Animations: property <float> from [initial] to [right] at (0.3) should be [initial]
Pass Web Animations: property <float> from [initial] to [right] at (0.5) should be [right]
Pass Web Animations: property <float> from [initial] to [right] at (0.6) should be [right]
Pass Web Animations: property <float> from [initial] to [right] at (1) should be [right]
Pass Web Animations: property <float> from [initial] to [right] at (1.5) should be [right]
Fail CSS Transitions: property <float> from [left] to [right] at (-1) should be [left]
Fail CSS Transitions: property <float> from [left] to [right] at (0) should be [left]
Fail CSS Transitions: property <float> from [left] to [right] at (0.4) should be [left]
Pass CSS Transitions: property <float> from [left] to [right] at (0.5) should be [right]
Pass CSS Transitions: property <float> from [left] to [right] at (1) should be [right]
Pass CSS Transitions: property <float> from [left] to [right] at (1.5) should be [right]
Fail CSS Transitions with transition: all: property <float> from [left] to [right] at (-1) should be [left]
Fail CSS Transitions with transition: all: property <float> from [left] to [right] at (0) should be [left]
Fail CSS Transitions with transition: all: property <float> from [left] to [right] at (0.4) should be [left]
Pass CSS Transitions with transition: all: property <float> from [left] to [right] at (0.5) should be [right]
Pass CSS Transitions with transition: all: property <float> from [left] to [right] at (1) should be [right]
Pass CSS Transitions with transition: all: property <float> from [left] to [right] at (1.5) should be [right]
Pass CSS Animations: property <float> from [left] to [right] at (-1) should be [left]
Pass CSS Animations: property <float> from [left] to [right] at (0) should be [left]
Pass CSS Animations: property <float> from [left] to [right] at (0.4) should be [left]
Pass CSS Animations: property <float> from [left] to [right] at (0.5) should be [right]
Pass CSS Animations: property <float> from [left] to [right] at (1) should be [right]
Pass CSS Animations: property <float> from [left] to [right] at (1.5) should be [right]
Pass Web Animations: property <float> from [left] to [right] at (-1) should be [left]
Pass Web Animations: property <float> from [left] to [right] at (0) should be [left]
Pass Web Animations: property <float> from [left] to [right] at (0.4) should be [left]
Pass Web Animations: property <float> from [left] to [right] at (0.5) should be [right]
Pass Web Animations: property <float> from [left] to [right] at (1) should be [right]
Pass Web Animations: property <float> from [left] to [right] at (1.5) should be [right]
Fail CSS Transitions with transition-behavior:allow-discrete: property <float> from [initial] to [right] at (-0.3) should be [initial]
Fail CSS Transitions with transition-behavior:allow-discrete: property <float> from [initial] to [right] at (0) should be [initial]
Fail CSS Transitions with transition-behavior:allow-discrete: property <float> from [initial] to [right] at (0.3) should be [initial]
Pass CSS Transitions with transition-behavior:allow-discrete: property <float> from [initial] to [right] at (0.5) should be [right]
Pass CSS Transitions with transition-behavior:allow-discrete: property <float> from [initial] to [right] at (0.6) should be [right]
Pass CSS Transitions with transition-behavior:allow-discrete: property <float> from [initial] to [right] at (1) should be [right]
Pass CSS Transitions with transition-behavior:allow-discrete: property <float> from [initial] to [right] at (1.5) should be [right]
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <float> from [initial] to [right] at (-0.3) should be [initial]
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <float> from [initial] to [right] at (0) should be [initial]
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <float> from [initial] to [right] at (0.3) should be [initial]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <float> from [initial] to [right] at (0.5) should be [right]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <float> from [initial] to [right] at (0.6) should be [right]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <float> from [initial] to [right] at (1) should be [right]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <float> from [initial] to [right] at (1.5) should be [right]
Pass CSS Transitions: property <float> from [initial] to [right] at (-0.3) should be [right]
Pass CSS Transitions: property <float> from [initial] to [right] at (0) should be [right]
Pass CSS Transitions: property <float> from [initial] to [right] at (0.3) should be [right]
Pass CSS Transitions: property <float> from [initial] to [right] at (0.5) should be [right]
Pass CSS Transitions: property <float> from [initial] to [right] at (0.6) should be [right]
Pass CSS Transitions: property <float> from [initial] to [right] at (1) should be [right]
Pass CSS Transitions: property <float> from [initial] to [right] at (1.5) should be [right]
Pass CSS Transitions with transition: all: property <float> from [initial] to [right] at (-0.3) should be [right]
Pass CSS Transitions with transition: all: property <float> from [initial] to [right] at (0) should be [right]
Pass CSS Transitions with transition: all: property <float> from [initial] to [right] at (0.3) should be [right]
Pass CSS Transitions with transition: all: property <float> from [initial] to [right] at (0.5) should be [right]
Pass CSS Transitions with transition: all: property <float> from [initial] to [right] at (0.6) should be [right]
Pass CSS Transitions with transition: all: property <float> from [initial] to [right] at (1) should be [right]
Pass CSS Transitions with transition: all: property <float> from [initial] to [right] at (1.5) should be [right]
Pass CSS Animations: property <float> from [initial] to [right] at (-0.3) should be [initial]
Pass CSS Animations: property <float> from [initial] to [right] at (0) should be [initial]
Pass CSS Animations: property <float> from [initial] to [right] at (0.3) should be [initial]
Pass CSS Animations: property <float> from [initial] to [right] at (0.5) should be [right]
Pass CSS Animations: property <float> from [initial] to [right] at (0.6) should be [right]
Pass CSS Animations: property <float> from [initial] to [right] at (1) should be [right]
Pass CSS Animations: property <float> from [initial] to [right] at (1.5) should be [right]
Pass Web Animations: property <float> from [initial] to [right] at (-0.3) should be [initial]
Pass Web Animations: property <float> from [initial] to [right] at (0) should be [initial]
Pass Web Animations: property <float> from [initial] to [right] at (0.3) should be [initial]
Pass Web Animations: property <float> from [initial] to [right] at (0.5) should be [right]
Pass Web Animations: property <float> from [initial] to [right] at (0.6) should be [right]
Pass Web Animations: property <float> from [initial] to [right] at (1) should be [right]
Pass Web Animations: property <float> from [initial] to [right] at (1.5) should be [right]
Fail CSS Transitions: property <float> from [left] to [right] at (-1) should be [left]
Fail CSS Transitions: property <float> from [left] to [right] at (0) should be [left]
Fail CSS Transitions: property <float> from [left] to [right] at (0.4) should be [left]
Pass CSS Transitions: property <float> from [left] to [right] at (0.5) should be [right]
Pass CSS Transitions: property <float> from [left] to [right] at (1) should be [right]
Pass CSS Transitions: property <float> from [left] to [right] at (1.5) should be [right]
Fail CSS Transitions with transition: all: property <float> from [left] to [right] at (-1) should be [left]
Fail CSS Transitions with transition: all: property <float> from [left] to [right] at (0) should be [left]
Fail CSS Transitions with transition: all: property <float> from [left] to [right] at (0.4) should be [left]
Pass CSS Transitions with transition: all: property <float> from [left] to [right] at (0.5) should be [right]
Pass CSS Transitions with transition: all: property <float> from [left] to [right] at (1) should be [right]
Pass CSS Transitions with transition: all: property <float> from [left] to [right] at (1.5) should be [right]
Pass CSS Animations: property <float> from [left] to [right] at (-1) should be [left]
Pass CSS Animations: property <float> from [left] to [right] at (0) should be [left]
Pass CSS Animations: property <float> from [left] to [right] at (0.4) should be [left]
Pass CSS Animations: property <float> from [left] to [right] at (0.5) should be [right]
Pass CSS Animations: property <float> from [left] to [right] at (1) should be [right]
Pass CSS Animations: property <float> from [left] to [right] at (1.5) should be [right]
Pass Web Animations: property <float> from [left] to [right] at (-1) should be [left]
Pass Web Animations: property <float> from [left] to [right] at (0) should be [left]
Pass Web Animations: property <float> from [left] to [right] at (0.4) should be [left]
Pass Web Animations: property <float> from [left] to [right] at (0.5) should be [right]
Pass Web Animations: property <float> from [left] to [right] at (1) should be [right]
Pass Web Animations: property <float> from [left] to [right] at (1.5) should be [right]

View file

@ -1,11 +1,6 @@
Summary
Harness status: OK
Rerun
Found 1 tests
1 Pass
Details
Result Test Name MessagePass test passes if it does not crash
Pass test passes if it does not crash

View file

@ -1,11 +1,6 @@
Summary
Harness status: OK
Rerun
Found 1 tests
1 Pass
Details
Result Test Name MessagePass hit-test-floats-001
Pass hit-test-floats-001

View file

@ -1,11 +1,6 @@
Summary
Harness status: OK
Rerun
Found 1 tests
1 Pass
Details
Result Test Name MessagePass Hit test float
Pass Hit test float

View file

@ -1,11 +1,6 @@
Summary
Harness status: OK
Rerun
Found 1 tests
1 Fail
Details
Result Test Name MessageFail Miss float below something else
Fail Miss float below something else

View file

@ -1,11 +1,6 @@
Summary
Harness status: OK
Rerun
Found 1 tests
1 Pass
Details
Result Test Name MessagePass Miss float below something else
Pass Miss float below something else

View file

@ -1,11 +1,6 @@
Summary
Harness status: OK
Rerun
Found 1 tests
1 Pass
Details
Result Test Name MessagePass Miss clipped float
Pass Miss clipped float

View file

@ -1,11 +1,6 @@
Summary
Harness status: OK
Rerun
Found 1 tests
1 Pass
Details
Result Test Name MessagePass Layout should not crash
Pass Layout should not crash

View file

@ -1,11 +1,6 @@
Summary
Harness status: OK
Rerun
Found 1 tests
1 Pass
Details
Result Test Name MessagePass No crash or DCHECK failure
Pass No crash or DCHECK failure

View file

@ -1,11 +1,6 @@
Summary
Harness status: OK
Rerun
Found 1 tests
1 Pass
Details
Result Test Name MessagePass No crash or DCHECK failure
Pass No crash or DCHECK failure

View file

@ -1,11 +1,6 @@
Summary
Harness status: OK
Rerun
Found 1 tests
1 Pass
Details
Result Test Name MessagePass #container 1
Pass #container 1

View file

@ -1,11 +1,6 @@
Summary
Harness status: OK
Rerun
Found 1 tests
1 Pass
Details
Result Test Name MessagePass #container 1
Pass #container 1

View file

@ -1,11 +1,6 @@
Summary
Harness status: OK
Rerun
Found 1 tests
1 Pass
Details
Result Test Name MessagePass #container 1
Pass #container 1

View file

@ -1,11 +1,6 @@
Summary
Harness status: OK
Rerun
Found 1 tests
1 Fail
Details
Result Test Name MessageFail #container 1
Fail #container 1

View file

@ -1,11 +1,6 @@
Summary
Harness status: OK
Rerun
Found 1 tests
1 Pass
Details
Result Test Name MessagePass column-gap is interpolable
Pass column-gap is interpolable

View file

@ -1,11 +1,6 @@
Summary
Harness status: OK
Rerun
Found 1 tests
1 Pass
Details
Result Test Name MessagePass column-gap: normal is not interpolable
Pass column-gap: normal is not interpolable

View file

@ -1,11 +1,6 @@
Summary
Harness status: OK
Rerun
Found 1 tests
1 Pass
Details
Result Test Name MessagePass Default column-gap is not interpolable
Pass Default column-gap is not interpolable

View file

@ -1,29 +1,24 @@
Summary
Harness status: OK
Rerun
Found 18 tests
16 Pass
2 Fail
Details
Result Test Name MessagePass Default column-gap is 'normal'
Pass column-gap accepts pixels
Pass column-gap accepts em
Pass column-gap accepts vw
Pass column-gap accepts percentage
Fail column-gap accepts calc()
Fail column-gap accepts calc() mixing fixed and percentage values
Pass Initial column-gap is 'normal'
Pass Initial column-gap is 'normal' 2
Pass Initial inherited column-gap is 'normal'
Pass column-gap is inheritable
Pass Negative column-gap is invalid
Pass 'max-content' column-gap is invalid
Pass 'none' column-gap is invalid
Pass column-gap with multiple values is invalid
Pass Angle column-gap is invalid
Pass Resolution column-gap is invalid
Pass Time column-gap is invalid
Pass Default column-gap is 'normal'
Pass column-gap accepts pixels
Pass column-gap accepts em
Pass column-gap accepts vw
Pass column-gap accepts percentage
Fail column-gap accepts calc()
Fail column-gap accepts calc() mixing fixed and percentage values
Pass Initial column-gap is 'normal'
Pass Initial column-gap is 'normal' 2
Pass Initial inherited column-gap is 'normal'
Pass column-gap is inheritable
Pass Negative column-gap is invalid
Pass 'max-content' column-gap is invalid
Pass 'none' column-gap is invalid
Pass column-gap with multiple values is invalid
Pass Angle column-gap is invalid
Pass Resolution column-gap is invalid
Pass Time column-gap is invalid

View file

@ -1,11 +1,6 @@
Summary
Harness status: OK
Rerun
Found 1 tests
1 Fail
Details
Result Test Name MessageFail gap is interpolable
Fail gap is interpolable

View file

@ -1,11 +1,6 @@
Summary
Harness status: OK
Rerun
Found 1 tests
1 Fail
Details
Result Test Name MessageFail gap: normal is not interpolable
Fail gap: normal is not interpolable

View file

@ -1,11 +1,6 @@
Summary
Harness status: OK
Rerun
Found 1 tests
1 Fail
Details
Result Test Name MessageFail Default gap is not interpolable
Fail Default gap is not interpolable

View file

@ -1,11 +1,6 @@
Summary
Harness status: OK
Rerun
Found 1 tests
1 Pass
Details
Result Test Name MessagePass gap is interpolable
Pass gap is interpolable

View file

@ -1,16 +1,11 @@
Summary
Harness status: OK
Rerun
Found 6 tests
6 Pass
Details
Result Test Name MessagePass colum-gap:normal computes to normal on multicol elements
Pass row-gap:normal computes to normal on multicol elements
Pass colum-gap:normal computes to normal on grid
Pass row-gap:normal computes to normal on grid
Pass colum-gap:normal (main axis) computes to normal on flexbox
Pass row-gap:normal (cross axis) computes to normal on flexbox
Pass colum-gap:normal computes to normal on multicol elements
Pass row-gap:normal computes to normal on multicol elements
Pass colum-gap:normal computes to normal on grid
Pass row-gap:normal computes to normal on grid
Pass colum-gap:normal (main axis) computes to normal on flexbox
Pass row-gap:normal (cross axis) computes to normal on flexbox

View file

@ -1,37 +1,32 @@
Summary
Harness status: OK
Rerun
Found 26 tests
21 Pass
5 Fail
Details
Result Test Name MessagePass Default gap is 'normal'
Pass gap accepts pixels
Pass gap accepts pixels 2
Pass gap accepts pixels combined with percentage
Pass gap accepts em
Pass gap accepts em 2
Pass gap accepts vw
Pass gap accepts vw and vh
Pass gap accepts percentage
Pass gap accepts percentage 2
Fail gap accepts calc()
Fail gap accepts calc() mixing fixed and percentage values
Fail gap accepts calc() 2
Pass Initial gap is 'normal'
Pass Initial gap is 'normal' 2
Pass Initial inherited gap is 'normal'
Pass gap is inheritable
Pass Negative gap is invalid
Pass 'max-content' gap is invalid
Pass 'none' gap is invalid
Pass Angle gap is invalid
Pass Resolution gap is invalid
Pass Time gap is invalid
Pass gap with three values is invalid
Fail gap with slash is invalid
Fail gap with one wrong value is invalid
Pass Default gap is 'normal'
Pass gap accepts pixels
Pass gap accepts pixels 2
Pass gap accepts pixels combined with percentage
Pass gap accepts em
Pass gap accepts em 2
Pass gap accepts vw
Pass gap accepts vw and vh
Pass gap accepts percentage
Pass gap accepts percentage 2
Fail gap accepts calc()
Fail gap accepts calc() mixing fixed and percentage values
Fail gap accepts calc() 2
Pass Initial gap is 'normal'
Pass Initial gap is 'normal' 2
Pass Initial inherited gap is 'normal'
Pass gap is inheritable
Pass Negative gap is invalid
Pass 'max-content' gap is invalid
Pass 'none' gap is invalid
Pass Angle gap is invalid
Pass Resolution gap is invalid
Pass Time gap is invalid
Pass gap with three values is invalid
Fail gap with slash is invalid
Fail gap with one wrong value is invalid

View file

@ -1,27 +1,22 @@
Summary
Harness status: OK
Rerun
Found 16 tests
6 Pass
10 Fail
Details
Result Test Name MessageFail e.style['gap'] = "normal" should set the property value
Fail e.style['gap'] = "10px" should set the property value
Fail e.style['gap'] = "normal normal" should set the property value
Fail e.style['gap'] = "10px 10px" should set the property value
Pass e.style['column-gap'] = "normal" should set the property value
Pass e.style['column-gap'] = "10px" should set the property value
Pass e.style['row-gap'] = "normal" should set the property value
Pass e.style['row-gap'] = "10px" should set the property value
Fail 'row-gap: normal; column-gap: normal;' is serialized to 'gap: normal;'
Fail getPropertyValue for 'row-gap: normal; column-gap: normal;' returns 'normal'
Fail 'row-gap: 10px; column-gap: 10px;' is serialized to 'gap: 10px;'
Fail getPropertyValue for 'row-gap: 10px; column-gap: 10px;' returns '10px'
Fail 'row-gap: 10px; column-gap: normal;' is serialized to 'gap: 10px normal;'
Pass getPropertyValue for 'row-gap: 10px; column-gap: normal;' returns '10px normal'
Fail 'column-gap: normal; row-gap: 10px;' is serialized to 'gap: 10px normal;'
Pass getPropertyValue for 'column-gap: normal; row-gap: 10px;' returns '10px normal'
Fail e.style['gap'] = "normal" should set the property value
Fail e.style['gap'] = "10px" should set the property value
Fail e.style['gap'] = "normal normal" should set the property value
Fail e.style['gap'] = "10px 10px" should set the property value
Pass e.style['column-gap'] = "normal" should set the property value
Pass e.style['column-gap'] = "10px" should set the property value
Pass e.style['row-gap'] = "normal" should set the property value
Pass e.style['row-gap'] = "10px" should set the property value
Fail 'row-gap: normal; column-gap: normal;' is serialized to 'gap: normal;'
Fail getPropertyValue for 'row-gap: normal; column-gap: normal;' returns 'normal'
Fail 'row-gap: 10px; column-gap: 10px;' is serialized to 'gap: 10px;'
Fail getPropertyValue for 'row-gap: 10px; column-gap: 10px;' returns '10px'
Fail 'row-gap: 10px; column-gap: normal;' is serialized to 'gap: 10px normal;'
Pass getPropertyValue for 'row-gap: 10px; column-gap: normal;' returns '10px normal'
Fail 'column-gap: normal; row-gap: 10px;' is serialized to 'gap: 10px normal;'
Pass getPropertyValue for 'column-gap: normal; row-gap: 10px;' returns '10px normal'

View file

@ -1,29 +1,24 @@
Summary
Harness status: OK
Rerun
Found 18 tests
16 Pass
2 Fail
Details
Result Test Name MessagePass Default grid-column-gap is 'normal'
Pass grid-column-gap accepts pixels
Pass grid-column-gap accepts em
Pass grid-column-gap accepts vw
Pass grid-column-gap accepts percentage
Fail grid-column-gap accepts calc()
Fail grid-column-gap accepts calc() mixing fixed and percentage values
Pass Initial grid-column-gap is 'normal'
Pass Initial grid-column-gap is 'normal' 2
Pass Initial inherited grid-column-gap is 'normal'
Pass grid-column-gap is inheritable
Pass Negative grid-column-gap is invalid
Pass 'max-content' grid-column-gap is invalid
Pass 'none' grid-column-gap is invalid
Pass grid-column-gap with multiple values is invalid
Pass Angle grid-column-gap is invalid
Pass Resolution grid-column-gap is invalid
Pass Time grid-column-gap is invalid
Pass Default grid-column-gap is 'normal'
Pass grid-column-gap accepts pixels
Pass grid-column-gap accepts em
Pass grid-column-gap accepts vw
Pass grid-column-gap accepts percentage
Fail grid-column-gap accepts calc()
Fail grid-column-gap accepts calc() mixing fixed and percentage values
Pass Initial grid-column-gap is 'normal'
Pass Initial grid-column-gap is 'normal' 2
Pass Initial inherited grid-column-gap is 'normal'
Pass grid-column-gap is inheritable
Pass Negative grid-column-gap is invalid
Pass 'max-content' grid-column-gap is invalid
Pass 'none' grid-column-gap is invalid
Pass grid-column-gap with multiple values is invalid
Pass Angle grid-column-gap is invalid
Pass Resolution grid-column-gap is invalid
Pass Time grid-column-gap is invalid

View file

@ -1,37 +1,32 @@
Summary
Harness status: OK
Rerun
Found 26 tests
21 Pass
5 Fail
Details
Result Test Name MessagePass Default grid-gap is 'normal'
Pass grid-gap accepts pixels
Pass grid-gap accepts pixels 2
Pass grid-gap accepts pixels combined with percentage
Pass grid-gap accepts em
Pass grid-gap accepts em 2
Pass grid-gap accepts vw
Pass grid-gap accepts vw and vh
Pass grid-gap accepts percentage
Pass grid-gap accepts percentage 2
Fail grid-gap accepts calc()
Fail grid-gap accepts calc() mixing fixed and percentage values
Fail grid-gap accepts calc() 2
Pass Initial grid-gap is 'normal'
Pass Initial grid-gap is 'normal' 2
Pass Initial inherited grid-gap is 'normal'
Pass grid-gap is inheritable
Pass Negative grid-gap is invalid
Pass 'max-content' grid-gap is invalid
Pass 'none' grid-gap is invalid
Pass Angle grid-gap is invalid
Pass Resolution grid-gap is invalid
Pass Time grid-gap is invalid
Pass grid-gap with three values is invalid
Fail grid-gap with slash is invalid
Fail grid-gap with one wrong value is invalid
Pass Default grid-gap is 'normal'
Pass grid-gap accepts pixels
Pass grid-gap accepts pixels 2
Pass grid-gap accepts pixels combined with percentage
Pass grid-gap accepts em
Pass grid-gap accepts em 2
Pass grid-gap accepts vw
Pass grid-gap accepts vw and vh
Pass grid-gap accepts percentage
Pass grid-gap accepts percentage 2
Fail grid-gap accepts calc()
Fail grid-gap accepts calc() mixing fixed and percentage values
Fail grid-gap accepts calc() 2
Pass Initial grid-gap is 'normal'
Pass Initial grid-gap is 'normal' 2
Pass Initial inherited grid-gap is 'normal'
Pass grid-gap is inheritable
Pass Negative grid-gap is invalid
Pass 'max-content' grid-gap is invalid
Pass 'none' grid-gap is invalid
Pass Angle grid-gap is invalid
Pass Resolution grid-gap is invalid
Pass Time grid-gap is invalid
Pass grid-gap with three values is invalid
Fail grid-gap with slash is invalid
Fail grid-gap with one wrong value is invalid

View file

@ -1,29 +1,24 @@
Summary
Harness status: OK
Rerun
Found 18 tests
16 Pass
2 Fail
Details
Result Test Name MessagePass Default grid-row-gap is 'normal'
Pass grid-row-gap accepts pixels
Pass grid-row-gap accepts em
Pass grid-row-gap accepts vw
Pass grid-row-gap accepts percentage
Fail grid-row-gap accepts calc()
Fail grid-row-gap accepts calc() mixing fixed and percentage values
Pass Initial grid-row-gap is 'normal'
Pass Initial grid-row-gap is 'normal' 2
Pass Initial inherited grid-row-gap is 'normal'
Pass grid-row-gap is inheritable
Pass Negative grid-row-gap is invalid
Pass 'max-content' grid-row-gap is invalid
Pass 'none' grid-row-gap is invalid
Pass grid-row-gap with multiple values is invalid
Pass Angle grid-row-gap is invalid
Pass Resolution grid-row-gap is invalid
Pass Time grid-row-gap is invalid
Pass Default grid-row-gap is 'normal'
Pass grid-row-gap accepts pixels
Pass grid-row-gap accepts em
Pass grid-row-gap accepts vw
Pass grid-row-gap accepts percentage
Fail grid-row-gap accepts calc()
Fail grid-row-gap accepts calc() mixing fixed and percentage values
Pass Initial grid-row-gap is 'normal'
Pass Initial grid-row-gap is 'normal' 2
Pass Initial inherited grid-row-gap is 'normal'
Pass grid-row-gap is inheritable
Pass Negative grid-row-gap is invalid
Pass 'max-content' grid-row-gap is invalid
Pass 'none' grid-row-gap is invalid
Pass grid-row-gap with multiple values is invalid
Pass Angle grid-row-gap is invalid
Pass Resolution grid-row-gap is invalid
Pass Time grid-row-gap is invalid

View file

@ -1,14 +1,9 @@
Summary
Harness status: OK
Rerun
Found 3 tests
2 Pass
1 Fail
Details
Result Test Name MessagePass grid-row-gap is a legacy name alias for row-gap
Pass grid-column-gap is a legacy name alias for column-gap
Fail grid-gap is a legacy name alias for gap
Pass grid-row-gap is a legacy name alias for row-gap
Pass grid-column-gap is a legacy name alias for column-gap
Fail grid-gap is a legacy name alias for gap

View file

@ -1,11 +1,6 @@
Summary
Harness status: OK
Rerun
Found 1 tests
1 Pass
Details
Result Test Name MessagePass row-gap is interpolable
Pass row-gap is interpolable

View file

@ -1,11 +1,6 @@
Summary
Harness status: OK
Rerun
Found 1 tests
1 Pass
Details
Result Test Name MessagePass row-gap: normal is not interpolable
Pass row-gap: normal is not interpolable

View file

@ -1,11 +1,6 @@
Summary
Harness status: OK
Rerun
Found 1 tests
1 Pass
Details
Result Test Name MessagePass Default row-gap is not interpolable
Pass Default row-gap is not interpolable

View file

@ -1,29 +1,24 @@
Summary
Harness status: OK
Rerun
Found 18 tests
16 Pass
2 Fail
Details
Result Test Name MessagePass Default row-gap is 'normal'
Pass row-gap accepts pixels
Pass row-gap accepts em
Pass row-gap accepts vw
Pass row-gap accepts percentage
Fail row-gap accepts calc()
Fail row-gap accepts calc() mixing fixed and percentage values
Pass Initial row-gap is 'normal'
Pass Initial row-gap is 'normal' 2
Pass Initial inherited row-gap is 'normal'
Pass row-gap is inheritable
Pass Negative row-gap is invalid
Pass 'max-content' row-gap is invalid
Pass 'none' row-gap is invalid
Pass row-gap with multiple values is invalid
Pass Angle row-gap is invalid
Pass Resolution row-gap is invalid
Pass Time row-gap is invalid
Pass Default row-gap is 'normal'
Pass row-gap accepts pixels
Pass row-gap accepts em
Pass row-gap accepts vw
Pass row-gap accepts percentage
Fail row-gap accepts calc()
Fail row-gap accepts calc() mixing fixed and percentage values
Pass Initial row-gap is 'normal'
Pass Initial row-gap is 'normal' 2
Pass Initial inherited row-gap is 'normal'
Pass row-gap is inheritable
Pass Negative row-gap is invalid
Pass 'max-content' row-gap is invalid
Pass 'none' row-gap is invalid
Pass row-gap with multiple values is invalid
Pass Angle row-gap is invalid
Pass Resolution row-gap is invalid
Pass Time row-gap is invalid

View file

@ -1,24 +1,19 @@
Summary
Harness status: OK
Rerun
Found 14 tests
14 Pass
Details
Result Test Name MessagePass CSS Animations: property <display> from [grid] to [flex] at (-0.3) should be [grid]
Pass CSS Animations: property <display> from [grid] to [flex] at (0) should be [grid]
Pass CSS Animations: property <display> from [grid] to [flex] at (0.3) should be [grid]
Pass CSS Animations: property <display> from [grid] to [flex] at (0.5) should be [flex]
Pass CSS Animations: property <display> from [grid] to [flex] at (0.6) should be [flex]
Pass CSS Animations: property <display> from [grid] to [flex] at (1) should be [flex]
Pass CSS Animations: property <display> from [grid] to [flex] at (1.5) should be [flex]
Pass Web Animations: property <display> from [grid] to [flex] at (-0.3) should be [grid]
Pass Web Animations: property <display> from [grid] to [flex] at (0) should be [grid]
Pass Web Animations: property <display> from [grid] to [flex] at (0.3) should be [grid]
Pass Web Animations: property <display> from [grid] to [flex] at (0.5) should be [flex]
Pass Web Animations: property <display> from [grid] to [flex] at (0.6) should be [flex]
Pass Web Animations: property <display> from [grid] to [flex] at (1) should be [flex]
Pass Web Animations: property <display> from [grid] to [flex] at (1.5) should be [flex]
Pass CSS Animations: property <display> from [grid] to [flex] at (-0.3) should be [grid]
Pass CSS Animations: property <display> from [grid] to [flex] at (0) should be [grid]
Pass CSS Animations: property <display> from [grid] to [flex] at (0.3) should be [grid]
Pass CSS Animations: property <display> from [grid] to [flex] at (0.5) should be [flex]
Pass CSS Animations: property <display> from [grid] to [flex] at (0.6) should be [flex]
Pass CSS Animations: property <display> from [grid] to [flex] at (1) should be [flex]
Pass CSS Animations: property <display> from [grid] to [flex] at (1.5) should be [flex]
Pass Web Animations: property <display> from [grid] to [flex] at (-0.3) should be [grid]
Pass Web Animations: property <display> from [grid] to [flex] at (0) should be [grid]
Pass Web Animations: property <display> from [grid] to [flex] at (0.3) should be [grid]
Pass Web Animations: property <display> from [grid] to [flex] at (0.5) should be [flex]
Pass Web Animations: property <display> from [grid] to [flex] at (0.6) should be [flex]
Pass Web Animations: property <display> from [grid] to [flex] at (1) should be [flex]
Pass Web Animations: property <display> from [grid] to [flex] at (1.5) should be [flex]

View file

@ -1,53 +1,48 @@
Summary
Harness status: OK
Rerun
Found 42 tests
28 Pass
14 Fail
Details
Result Test Name MessagePass CSS Transitions with transition-behavior:allow-discrete: property <display> from [none] to [flex] at (-0.3) should be [flex]
Pass CSS Transitions with transition-behavior:allow-discrete: property <display> from [none] to [flex] at (0) should be [flex]
Pass CSS Transitions with transition-behavior:allow-discrete: property <display> from [none] to [flex] at (0.3) should be [flex]
Pass CSS Transitions with transition-behavior:allow-discrete: property <display> from [none] to [flex] at (0.5) should be [flex]
Pass CSS Transitions with transition-behavior:allow-discrete: property <display> from [none] to [flex] at (0.6) should be [flex]
Pass CSS Transitions with transition-behavior:allow-discrete: property <display> from [none] to [flex] at (1) should be [flex]
Pass CSS Transitions with transition-behavior:allow-discrete: property <display> from [none] to [flex] at (1.5) should be [flex]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <display> from [none] to [flex] at (-0.3) should be [flex]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <display> from [none] to [flex] at (0) should be [flex]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <display> from [none] to [flex] at (0.3) should be [flex]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <display> from [none] to [flex] at (0.5) should be [flex]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <display> from [none] to [flex] at (0.6) should be [flex]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <display> from [none] to [flex] at (1) should be [flex]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <display> from [none] to [flex] at (1.5) should be [flex]
Pass CSS Transitions: property <display> from [none] to [flex] at (-0.3) should be [flex]
Pass CSS Transitions: property <display> from [none] to [flex] at (0) should be [flex]
Pass CSS Transitions: property <display> from [none] to [flex] at (0.3) should be [flex]
Pass CSS Transitions: property <display> from [none] to [flex] at (0.5) should be [flex]
Pass CSS Transitions: property <display> from [none] to [flex] at (0.6) should be [flex]
Pass CSS Transitions: property <display> from [none] to [flex] at (1) should be [flex]
Pass CSS Transitions: property <display> from [none] to [flex] at (1.5) should be [flex]
Pass CSS Transitions with transition: all: property <display> from [none] to [flex] at (-0.3) should be [flex]
Pass CSS Transitions with transition: all: property <display> from [none] to [flex] at (0) should be [flex]
Pass CSS Transitions with transition: all: property <display> from [none] to [flex] at (0.3) should be [flex]
Pass CSS Transitions with transition: all: property <display> from [none] to [flex] at (0.5) should be [flex]
Pass CSS Transitions with transition: all: property <display> from [none] to [flex] at (0.6) should be [flex]
Pass CSS Transitions with transition: all: property <display> from [none] to [flex] at (1) should be [flex]
Pass CSS Transitions with transition: all: property <display> from [none] to [flex] at (1.5) should be [flex]
Fail CSS Animations: property <display> from [none] to [flex] at (-0.3) should be [block]
Fail CSS Animations: property <display> from [none] to [flex] at (0) should be [block]
Fail CSS Animations: property <display> from [none] to [flex] at (0.3) should be [block]
Fail CSS Animations: property <display> from [none] to [flex] at (0.5) should be [block]
Fail CSS Animations: property <display> from [none] to [flex] at (0.6) should be [block]
Fail CSS Animations: property <display> from [none] to [flex] at (1) should be [block]
Fail CSS Animations: property <display> from [none] to [flex] at (1.5) should be [block]
Fail Web Animations: property <display> from [none] to [flex] at (-0.3) should be [block]
Fail Web Animations: property <display> from [none] to [flex] at (0) should be [block]
Fail Web Animations: property <display> from [none] to [flex] at (0.3) should be [block]
Fail Web Animations: property <display> from [none] to [flex] at (0.5) should be [block]
Fail Web Animations: property <display> from [none] to [flex] at (0.6) should be [block]
Fail Web Animations: property <display> from [none] to [flex] at (1) should be [block]
Fail Web Animations: property <display> from [none] to [flex] at (1.5) should be [block]
Pass CSS Transitions with transition-behavior:allow-discrete: property <display> from [none] to [flex] at (-0.3) should be [flex]
Pass CSS Transitions with transition-behavior:allow-discrete: property <display> from [none] to [flex] at (0) should be [flex]
Pass CSS Transitions with transition-behavior:allow-discrete: property <display> from [none] to [flex] at (0.3) should be [flex]
Pass CSS Transitions with transition-behavior:allow-discrete: property <display> from [none] to [flex] at (0.5) should be [flex]
Pass CSS Transitions with transition-behavior:allow-discrete: property <display> from [none] to [flex] at (0.6) should be [flex]
Pass CSS Transitions with transition-behavior:allow-discrete: property <display> from [none] to [flex] at (1) should be [flex]
Pass CSS Transitions with transition-behavior:allow-discrete: property <display> from [none] to [flex] at (1.5) should be [flex]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <display> from [none] to [flex] at (-0.3) should be [flex]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <display> from [none] to [flex] at (0) should be [flex]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <display> from [none] to [flex] at (0.3) should be [flex]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <display> from [none] to [flex] at (0.5) should be [flex]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <display> from [none] to [flex] at (0.6) should be [flex]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <display> from [none] to [flex] at (1) should be [flex]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <display> from [none] to [flex] at (1.5) should be [flex]
Pass CSS Transitions: property <display> from [none] to [flex] at (-0.3) should be [flex]
Pass CSS Transitions: property <display> from [none] to [flex] at (0) should be [flex]
Pass CSS Transitions: property <display> from [none] to [flex] at (0.3) should be [flex]
Pass CSS Transitions: property <display> from [none] to [flex] at (0.5) should be [flex]
Pass CSS Transitions: property <display> from [none] to [flex] at (0.6) should be [flex]
Pass CSS Transitions: property <display> from [none] to [flex] at (1) should be [flex]
Pass CSS Transitions: property <display> from [none] to [flex] at (1.5) should be [flex]
Pass CSS Transitions with transition: all: property <display> from [none] to [flex] at (-0.3) should be [flex]
Pass CSS Transitions with transition: all: property <display> from [none] to [flex] at (0) should be [flex]
Pass CSS Transitions with transition: all: property <display> from [none] to [flex] at (0.3) should be [flex]
Pass CSS Transitions with transition: all: property <display> from [none] to [flex] at (0.5) should be [flex]
Pass CSS Transitions with transition: all: property <display> from [none] to [flex] at (0.6) should be [flex]
Pass CSS Transitions with transition: all: property <display> from [none] to [flex] at (1) should be [flex]
Pass CSS Transitions with transition: all: property <display> from [none] to [flex] at (1.5) should be [flex]
Fail CSS Animations: property <display> from [none] to [flex] at (-0.3) should be [block]
Fail CSS Animations: property <display> from [none] to [flex] at (0) should be [block]
Fail CSS Animations: property <display> from [none] to [flex] at (0.3) should be [block]
Fail CSS Animations: property <display> from [none] to [flex] at (0.5) should be [block]
Fail CSS Animations: property <display> from [none] to [flex] at (0.6) should be [block]
Fail CSS Animations: property <display> from [none] to [flex] at (1) should be [block]
Fail CSS Animations: property <display> from [none] to [flex] at (1.5) should be [block]
Fail Web Animations: property <display> from [none] to [flex] at (-0.3) should be [block]
Fail Web Animations: property <display> from [none] to [flex] at (0) should be [block]
Fail Web Animations: property <display> from [none] to [flex] at (0.3) should be [block]
Fail Web Animations: property <display> from [none] to [flex] at (0.5) should be [block]
Fail Web Animations: property <display> from [none] to [flex] at (0.6) should be [block]
Fail Web Animations: property <display> from [none] to [flex] at (1) should be [block]
Fail Web Animations: property <display> from [none] to [flex] at (1.5) should be [block]

View file

@ -1,11 +1,6 @@
Summary
Harness status: OK
Rerun
Found 1 tests
1 Fail
Details
Result Test Name MessageFail Dynamic changes to `display` causing blockification of children are handled correctly
Fail Dynamic changes to `display` causing blockification of children are handled correctly

View file

@ -1,15 +1,10 @@
Summary
Harness status: OK
Rerun
Found 5 tests
5 Pass
Details
Result Test Name MessagePass Serialization of computed style value for display:contents
Pass display:contents element as inherit parent - explicit inheritance
Pass display:contents element as inherit parent - implicit inheritance
Pass Resolved value should be computed value, not used value, for display:contents
Pass display:contents is blockified for root elements
Pass Serialization of computed style value for display:contents
Pass display:contents element as inherit parent - explicit inheritance
Pass display:contents element as inherit parent - implicit inheritance
Pass Resolved value should be computed value, not used value, for display:contents
Pass display:contents is blockified for root elements

View file

@ -1,11 +1,6 @@
Summary
Harness status: OK
Rerun
Found 1 tests
1 Pass
Details
Result Test Name MessagePass element with display:contents is focusable
Pass element with display:contents is focusable

View file

@ -1,11 +1,6 @@
Summary
Harness status: OK
Rerun
Found 1 tests
1 Pass
Details
Result Test Name MessagePass Tests that the 'contents' value for the 'display' property is correctly parsed
Pass Tests that the 'contents' value for the 'display' property is correctly parsed

View file

@ -1,11 +1,6 @@
Summary
Harness status: OK
Rerun
Found 1 tests
1 Pass
Details
Result Test Name MessagePass Loading this page should not cause a crash.
Pass Loading this page should not cause a crash.

View file

@ -1,11 +1,6 @@
Summary
Harness status: OK
Rerun
Found 1 tests
1 Pass
Details
Result Test Name MessagePass Loading this page should not cause a crash.
Pass Loading this page should not cause a crash.

View file

@ -1,11 +1,6 @@
Summary
Harness status: OK
Rerun
Found 1 tests
1 Fail
Details
Result Test Name MessageFail display of first-letter and first-line
Fail display of first-letter and first-line

View file

@ -1,11 +1,6 @@
Summary
Harness status: OK
Rerun
Found 1 tests
1 Pass
Details
Result Test Name MessagePass List item height after DOM change.
Pass List item height after DOM change.

View file

@ -1,21 +1,16 @@
Summary
Harness status: OK
Rerun
Found 10 tests
8 Pass
2 Fail
Details
Result Test Name MessageFail computed display on <div style="display: math;">
Pass computed display on <div style="display: inline math;">
Pass computed display on <div style="display: math inline;">
Pass computed display on <div style="display: block math;">
Pass computed display on <div style="display: math block;">
Fail computed display on <svg style="display: math;">
Pass computed display on <svg style="display: inline math;">
Pass computed display on <svg style="display: math inline;">
Pass computed display on <svg style="display: block math;">
Pass computed display on <svg style="display: math block;">
Fail computed display on <div style="display: math;">
Pass computed display on <div style="display: inline math;">
Pass computed display on <div style="display: math inline;">
Pass computed display on <div style="display: block math;">
Pass computed display on <div style="display: math block;">
Fail computed display on <svg style="display: math;">
Pass computed display on <svg style="display: inline math;">
Pass computed display on <svg style="display: math inline;">
Pass computed display on <svg style="display: block math;">
Pass computed display on <svg style="display: math block;">

View file

@ -1,17 +1,12 @@
Summary
Harness status: OK
Rerun
Found 6 tests
1 Pass
5 Fail
Details
Result Test Name MessagePass computed display on ::before and ::after for <div class="block">
Fail computed display on ::before and ::after for <math class="block">
Fail computed display on ::before and ::after for <mrow class="block">
Fail computed display on ::before and ::after for <div class="inline">
Fail computed display on ::before and ::after for <math class="inline">
Fail computed display on ::before and ::after for <mrow class="inline">
Pass computed display on ::before and ::after for <div class="block">
Fail computed display on ::before and ::after for <math class="block">
Fail computed display on ::before and ::after for <mrow class="block">
Fail computed display on ::before and ::after for <div class="inline">
Fail computed display on ::before and ::after for <math class="inline">
Fail computed display on ::before and ::after for <mrow class="inline">

View file

@ -1,11 +1,6 @@
Summary
Harness status: OK
Rerun
Found 1 tests
1 Pass
Details
Result Test Name MessagePass computed style for float
Pass computed style for float

View file

@ -1,11 +1,6 @@
Summary
Harness status: OK
Rerun
Found 1 tests
1 Pass
Details
Result Test Name MessagePass computed style for float
Pass computed style for float

View file

@ -1,12 +1,7 @@
Summary
Harness status: OK
Rerun
Found 2 tests
2 Pass
Details
Result Test Name MessagePass Property display has initial value inline
Pass Property display does not inherit
Pass Property display has initial value inline
Pass Property display does not inherit

View file

@ -1,122 +1,117 @@
Summary
Harness status: OK
Rerun
Found 112 tests
112 Pass
Details
Result Test Name MessagePass Property display value 'grid'
Pass Property display value 'inline-grid'
Pass Property display value 'inline'
Pass Property display value 'block'
Pass Property display value 'list-item'
Pass Property display value 'inline-block'
Pass Property display value 'table'
Pass Property display value 'inline-table'
Pass Property display value 'table-row-group'
Pass Property display value 'table-header-group'
Pass Property display value 'table-footer-group'
Pass Property display value 'table-row'
Pass Property display value 'table-column-group'
Pass Property display value 'table-column'
Pass Property display value 'table-cell'
Pass Property display value 'table-caption'
Pass Property display value 'none'
Pass Property display value 'flex'
Pass Property display value 'inline-flex'
Pass Property display value 'contents'
Pass Property display value 'run-in'
Pass Property display value 'flow'
Pass Property display value 'flow-root'
Pass Property display value 'ruby'
Pass Property display value 'ruby-base'
Pass Property display value 'ruby-text'
Pass Property display value 'flow list-item'
Pass Property display value 'list-item flow'
Pass Property display value 'flow-root list-item'
Pass Property display value 'list-item flow-root'
Pass Property display value 'block flow'
Pass Property display value 'flow block'
Pass Property display value 'flow-root block'
Pass Property display value 'block flow-root'
Pass Property display value 'flex block'
Pass Property display value 'block flex'
Pass Property display value 'grid block'
Pass Property display value 'block grid'
Pass Property display value 'table block'
Pass Property display value 'block table'
Pass Property display value 'block ruby'
Pass Property display value 'ruby block'
Pass Property display value 'block list-item'
Pass Property display value 'list-item block'
Pass Property display value 'flow block list-item'
Pass Property display value 'block flow list-item'
Pass Property display value 'flow list-item block'
Pass Property display value 'block list-item flow'
Pass Property display value 'list-item block flow'
Pass Property display value 'list-item flow block'
Pass Property display value 'flow-root block list-item'
Pass Property display value 'block flow-root list-item'
Pass Property display value 'flow-root list-item block'
Pass Property display value 'block list-item flow-root'
Pass Property display value 'list-item block flow-root'
Pass Property display value 'list-item flow-root block'
Pass Property display value 'inline flow'
Pass Property display value 'flow inline'
Pass Property display value 'flow-root inline'
Pass Property display value 'inline flow-root'
Pass Property display value 'flex inline'
Pass Property display value 'inline flex'
Pass Property display value 'grid inline'
Pass Property display value 'inline grid'
Pass Property display value 'table inline'
Pass Property display value 'inline table'
Pass Property display value 'inline ruby'
Pass Property display value 'ruby inline'
Pass Property display value 'inline list-item'
Pass Property display value 'list-item inline'
Pass Property display value 'flow inline list-item'
Pass Property display value 'inline flow list-item'
Pass Property display value 'flow list-item inline'
Pass Property display value 'inline list-item flow'
Pass Property display value 'list-item inline flow'
Pass Property display value 'list-item flow inline'
Pass Property display value 'flow-root inline list-item'
Pass Property display value 'inline flow-root list-item'
Pass Property display value 'flow-root list-item inline'
Pass Property display value 'inline list-item flow-root'
Pass Property display value 'list-item inline flow-root'
Pass Property display value 'list-item flow-root inline'
Pass Property display value 'run-in flow'
Pass Property display value 'flow run-in'
Pass Property display value 'flow-root run-in'
Pass Property display value 'run-in flow-root'
Pass Property display value 'flex run-in'
Pass Property display value 'run-in flex'
Pass Property display value 'grid run-in'
Pass Property display value 'run-in grid'
Pass Property display value 'table run-in'
Pass Property display value 'run-in table'
Pass Property display value 'run-in ruby'
Pass Property display value 'ruby run-in'
Pass Property display value 'run-in list-item'
Pass Property display value 'list-item run-in'
Pass Property display value 'flow run-in list-item'
Pass Property display value 'run-in flow list-item'
Pass Property display value 'flow list-item run-in'
Pass Property display value 'run-in list-item flow'
Pass Property display value 'list-item run-in flow'
Pass Property display value 'list-item flow run-in'
Pass Property display value 'flow-root run-in list-item'
Pass Property display value 'run-in flow-root list-item'
Pass Property display value 'flow-root list-item run-in'
Pass Property display value 'run-in list-item flow-root'
Pass Property display value 'list-item run-in flow-root'
Pass Property display value 'list-item flow-root run-in'
Pass position absolute affects computed display
Pass position fixed affects computed display
Pass float left affects computed display
Pass float right affects computed display
Pass Property display value 'grid'
Pass Property display value 'inline-grid'
Pass Property display value 'inline'
Pass Property display value 'block'
Pass Property display value 'list-item'
Pass Property display value 'inline-block'
Pass Property display value 'table'
Pass Property display value 'inline-table'
Pass Property display value 'table-row-group'
Pass Property display value 'table-header-group'
Pass Property display value 'table-footer-group'
Pass Property display value 'table-row'
Pass Property display value 'table-column-group'
Pass Property display value 'table-column'
Pass Property display value 'table-cell'
Pass Property display value 'table-caption'
Pass Property display value 'none'
Pass Property display value 'flex'
Pass Property display value 'inline-flex'
Pass Property display value 'contents'
Pass Property display value 'run-in'
Pass Property display value 'flow'
Pass Property display value 'flow-root'
Pass Property display value 'ruby'
Pass Property display value 'ruby-base'
Pass Property display value 'ruby-text'
Pass Property display value 'flow list-item'
Pass Property display value 'list-item flow'
Pass Property display value 'flow-root list-item'
Pass Property display value 'list-item flow-root'
Pass Property display value 'block flow'
Pass Property display value 'flow block'
Pass Property display value 'flow-root block'
Pass Property display value 'block flow-root'
Pass Property display value 'flex block'
Pass Property display value 'block flex'
Pass Property display value 'grid block'
Pass Property display value 'block grid'
Pass Property display value 'table block'
Pass Property display value 'block table'
Pass Property display value 'block ruby'
Pass Property display value 'ruby block'
Pass Property display value 'block list-item'
Pass Property display value 'list-item block'
Pass Property display value 'flow block list-item'
Pass Property display value 'block flow list-item'
Pass Property display value 'flow list-item block'
Pass Property display value 'block list-item flow'
Pass Property display value 'list-item block flow'
Pass Property display value 'list-item flow block'
Pass Property display value 'flow-root block list-item'
Pass Property display value 'block flow-root list-item'
Pass Property display value 'flow-root list-item block'
Pass Property display value 'block list-item flow-root'
Pass Property display value 'list-item block flow-root'
Pass Property display value 'list-item flow-root block'
Pass Property display value 'inline flow'
Pass Property display value 'flow inline'
Pass Property display value 'flow-root inline'
Pass Property display value 'inline flow-root'
Pass Property display value 'flex inline'
Pass Property display value 'inline flex'
Pass Property display value 'grid inline'
Pass Property display value 'inline grid'
Pass Property display value 'table inline'
Pass Property display value 'inline table'
Pass Property display value 'inline ruby'
Pass Property display value 'ruby inline'
Pass Property display value 'inline list-item'
Pass Property display value 'list-item inline'
Pass Property display value 'flow inline list-item'
Pass Property display value 'inline flow list-item'
Pass Property display value 'flow list-item inline'
Pass Property display value 'inline list-item flow'
Pass Property display value 'list-item inline flow'
Pass Property display value 'list-item flow inline'
Pass Property display value 'flow-root inline list-item'
Pass Property display value 'inline flow-root list-item'
Pass Property display value 'flow-root list-item inline'
Pass Property display value 'inline list-item flow-root'
Pass Property display value 'list-item inline flow-root'
Pass Property display value 'list-item flow-root inline'
Pass Property display value 'run-in flow'
Pass Property display value 'flow run-in'
Pass Property display value 'flow-root run-in'
Pass Property display value 'run-in flow-root'
Pass Property display value 'flex run-in'
Pass Property display value 'run-in flex'
Pass Property display value 'grid run-in'
Pass Property display value 'run-in grid'
Pass Property display value 'table run-in'
Pass Property display value 'run-in table'
Pass Property display value 'run-in ruby'
Pass Property display value 'ruby run-in'
Pass Property display value 'run-in list-item'
Pass Property display value 'list-item run-in'
Pass Property display value 'flow run-in list-item'
Pass Property display value 'run-in flow list-item'
Pass Property display value 'flow list-item run-in'
Pass Property display value 'run-in list-item flow'
Pass Property display value 'list-item run-in flow'
Pass Property display value 'list-item flow run-in'
Pass Property display value 'flow-root run-in list-item'
Pass Property display value 'run-in flow-root list-item'
Pass Property display value 'flow-root list-item run-in'
Pass Property display value 'run-in list-item flow-root'
Pass Property display value 'list-item run-in flow-root'
Pass Property display value 'list-item flow-root run-in'
Pass position absolute affects computed display
Pass position fixed affects computed display
Pass float left affects computed display
Pass float right affects computed display

View file

@ -1,65 +1,60 @@
Summary
Harness status: OK
Rerun
Found 55 tests
55 Pass
Details
Result Test Name MessagePass e.style['display'] = "grid inline-grid" should not set the property value
Pass e.style['display'] = "none grid" should not set the property value
Pass e.style['display'] = "none flow" should not set the property value
Pass e.style['display'] = "none ruby" should not set the property value
Pass e.style['display'] = "none flow-root" should not set the property value
Pass e.style['display'] = "none list-item" should not set the property value
Pass e.style['display'] = "contents list-item" should not set the property value
Pass e.style['display'] = "list-item contents" should not set the property value
Pass e.style['display'] = "flow flow" should not set the property value
Pass e.style['display'] = "block block" should not set the property value
Pass e.style['display'] = "flow flow-root" should not set the property value
Pass e.style['display'] = "flow-root flow-root" should not set the property value
Pass e.style['display'] = "block inline" should not set the property value
Pass e.style['display'] = "flex ruby" should not set the property value
Pass e.style['display'] = "ruby flex" should not set the property value
Pass e.style['display'] = "inline inline" should not set the property value
Pass e.style['display'] = "flex flex" should not set the property value
Pass e.style['display'] = "grid flex" should not set the property value
Pass e.style['display'] = "ruby grid" should not set the property value
Pass e.style['display'] = "flex grid" should not set the property value
Pass e.style['display'] = "grid table" should not set the property value
Pass e.style['display'] = "table flex" should not set the property value
Pass e.style['display'] = "flex table" should not set the property value
Pass e.style['display'] = "ruby table" should not set the property value
Pass e.style['display'] = "table table" should not set the property value
Pass e.style['display'] = "table flow-root" should not set the property value
Pass e.style['display'] = "flow-root ruby" should not set the property value
Pass e.style['display'] = "list-item list-item" should not set the property value
Pass e.style['display'] = "list-item table" should not set the property value
Pass e.style['display'] = "flex list-item" should not set the property value
Pass e.style['display'] = "list-item grid" should not set the property value
Pass e.style['display'] = "flow flow list-item" should not set the property value
Pass e.style['display'] = "grid flow list-item" should not set the property value
Pass e.style['display'] = "flow list-item flow" should not set the property value
Pass e.style['display'] = "block list-item block" should not set the property value
Pass e.style['display'] = "list-item flow-root flow" should not set the property value
Pass e.style['display'] = "list-item block block" should not set the property value
Pass e.style['display'] = "list-item block list-item" should not set the property value
Pass e.style['display'] = "list-item flow-root list-item" should not set the property value
Pass e.style['display'] = "list-item flow-root block list-item" should not set the property value
Pass e.style['display'] = "list-item block flow-root list-item" should not set the property value
Pass e.style['display'] = "block list-item flow-root list-item" should not set the property value
Pass e.style['display'] = "flow-root list-item block list-item" should not set the property value
Pass e.style['display'] = "list-item ruby" should not set the property value
Pass e.style['display'] = "ruby list-item" should not set the property value
Pass e.style['display'] = "ruby ruby" should not set the property value
Pass e.style['display'] = "ruby flow" should not set the property value
Pass e.style['display'] = "flow ruby" should not set the property value
Pass e.style['display'] = "ruby flow-root" should not set the property value
Pass e.style['display'] = "grid ruby" should not set the property value
Pass e.style['display'] = "table ruby" should not set the property value
Pass e.style['display'] = "table-row flow" should not set the property value
Pass e.style['display'] = "flow table-row" should not set the property value
Pass e.style['display'] = "table-row-group flow-root" should not set the property value
Pass e.style['display'] = "flex table-row-group" should not set the property value
Pass e.style['display'] = "grid inline-grid" should not set the property value
Pass e.style['display'] = "none grid" should not set the property value
Pass e.style['display'] = "none flow" should not set the property value
Pass e.style['display'] = "none ruby" should not set the property value
Pass e.style['display'] = "none flow-root" should not set the property value
Pass e.style['display'] = "none list-item" should not set the property value
Pass e.style['display'] = "contents list-item" should not set the property value
Pass e.style['display'] = "list-item contents" should not set the property value
Pass e.style['display'] = "flow flow" should not set the property value
Pass e.style['display'] = "block block" should not set the property value
Pass e.style['display'] = "flow flow-root" should not set the property value
Pass e.style['display'] = "flow-root flow-root" should not set the property value
Pass e.style['display'] = "block inline" should not set the property value
Pass e.style['display'] = "flex ruby" should not set the property value
Pass e.style['display'] = "ruby flex" should not set the property value
Pass e.style['display'] = "inline inline" should not set the property value
Pass e.style['display'] = "flex flex" should not set the property value
Pass e.style['display'] = "grid flex" should not set the property value
Pass e.style['display'] = "ruby grid" should not set the property value
Pass e.style['display'] = "flex grid" should not set the property value
Pass e.style['display'] = "grid table" should not set the property value
Pass e.style['display'] = "table flex" should not set the property value
Pass e.style['display'] = "flex table" should not set the property value
Pass e.style['display'] = "ruby table" should not set the property value
Pass e.style['display'] = "table table" should not set the property value
Pass e.style['display'] = "table flow-root" should not set the property value
Pass e.style['display'] = "flow-root ruby" should not set the property value
Pass e.style['display'] = "list-item list-item" should not set the property value
Pass e.style['display'] = "list-item table" should not set the property value
Pass e.style['display'] = "flex list-item" should not set the property value
Pass e.style['display'] = "list-item grid" should not set the property value
Pass e.style['display'] = "flow flow list-item" should not set the property value
Pass e.style['display'] = "grid flow list-item" should not set the property value
Pass e.style['display'] = "flow list-item flow" should not set the property value
Pass e.style['display'] = "block list-item block" should not set the property value
Pass e.style['display'] = "list-item flow-root flow" should not set the property value
Pass e.style['display'] = "list-item block block" should not set the property value
Pass e.style['display'] = "list-item block list-item" should not set the property value
Pass e.style['display'] = "list-item flow-root list-item" should not set the property value
Pass e.style['display'] = "list-item flow-root block list-item" should not set the property value
Pass e.style['display'] = "list-item block flow-root list-item" should not set the property value
Pass e.style['display'] = "block list-item flow-root list-item" should not set the property value
Pass e.style['display'] = "flow-root list-item block list-item" should not set the property value
Pass e.style['display'] = "list-item ruby" should not set the property value
Pass e.style['display'] = "ruby list-item" should not set the property value
Pass e.style['display'] = "ruby ruby" should not set the property value
Pass e.style['display'] = "ruby flow" should not set the property value
Pass e.style['display'] = "flow ruby" should not set the property value
Pass e.style['display'] = "ruby flow-root" should not set the property value
Pass e.style['display'] = "grid ruby" should not set the property value
Pass e.style['display'] = "table ruby" should not set the property value
Pass e.style['display'] = "table-row flow" should not set the property value
Pass e.style['display'] = "flow table-row" should not set the property value
Pass e.style['display'] = "table-row-group flow-root" should not set the property value
Pass e.style['display'] = "flex table-row-group" should not set the property value

View file

@ -1,118 +1,113 @@
Summary
Harness status: OK
Rerun
Found 108 tests
108 Pass
Details
Result Test Name MessagePass e.style['display'] = "grid" should set the property value
Pass e.style['display'] = "inline-grid" should set the property value
Pass e.style['display'] = "inline" should set the property value
Pass e.style['display'] = "block" should set the property value
Pass e.style['display'] = "list-item" should set the property value
Pass e.style['display'] = "inline-block" should set the property value
Pass e.style['display'] = "table" should set the property value
Pass e.style['display'] = "inline-table" should set the property value
Pass e.style['display'] = "table-row-group" should set the property value
Pass e.style['display'] = "table-header-group" should set the property value
Pass e.style['display'] = "table-footer-group" should set the property value
Pass e.style['display'] = "table-row" should set the property value
Pass e.style['display'] = "table-column-group" should set the property value
Pass e.style['display'] = "table-column" should set the property value
Pass e.style['display'] = "table-cell" should set the property value
Pass e.style['display'] = "table-caption" should set the property value
Pass e.style['display'] = "none" should set the property value
Pass e.style['display'] = "flex" should set the property value
Pass e.style['display'] = "inline-flex" should set the property value
Pass e.style['display'] = "contents" should set the property value
Pass e.style['display'] = "run-in" should set the property value
Pass e.style['display'] = "flow" should set the property value
Pass e.style['display'] = "flow-root" should set the property value
Pass e.style['display'] = "ruby" should set the property value
Pass e.style['display'] = "ruby-base" should set the property value
Pass e.style['display'] = "ruby-text" should set the property value
Pass e.style['display'] = "flow list-item" should set the property value
Pass e.style['display'] = "list-item flow" should set the property value
Pass e.style['display'] = "flow-root list-item" should set the property value
Pass e.style['display'] = "list-item flow-root" should set the property value
Pass e.style['display'] = "block flow" should set the property value
Pass e.style['display'] = "flow block" should set the property value
Pass e.style['display'] = "flow-root block" should set the property value
Pass e.style['display'] = "block flow-root" should set the property value
Pass e.style['display'] = "flex block" should set the property value
Pass e.style['display'] = "block flex" should set the property value
Pass e.style['display'] = "grid block" should set the property value
Pass e.style['display'] = "block grid" should set the property value
Pass e.style['display'] = "table block" should set the property value
Pass e.style['display'] = "block table" should set the property value
Pass e.style['display'] = "block ruby" should set the property value
Pass e.style['display'] = "ruby block" should set the property value
Pass e.style['display'] = "block list-item" should set the property value
Pass e.style['display'] = "list-item block" should set the property value
Pass e.style['display'] = "flow block list-item" should set the property value
Pass e.style['display'] = "block flow list-item" should set the property value
Pass e.style['display'] = "flow list-item block" should set the property value
Pass e.style['display'] = "block list-item flow" should set the property value
Pass e.style['display'] = "list-item block flow" should set the property value
Pass e.style['display'] = "list-item flow block" should set the property value
Pass e.style['display'] = "flow-root block list-item" should set the property value
Pass e.style['display'] = "block flow-root list-item" should set the property value
Pass e.style['display'] = "flow-root list-item block" should set the property value
Pass e.style['display'] = "block list-item flow-root" should set the property value
Pass e.style['display'] = "list-item block flow-root" should set the property value
Pass e.style['display'] = "list-item flow-root block" should set the property value
Pass e.style['display'] = "inline flow" should set the property value
Pass e.style['display'] = "flow inline" should set the property value
Pass e.style['display'] = "flow-root inline" should set the property value
Pass e.style['display'] = "inline flow-root" should set the property value
Pass e.style['display'] = "flex inline" should set the property value
Pass e.style['display'] = "inline flex" should set the property value
Pass e.style['display'] = "grid inline" should set the property value
Pass e.style['display'] = "inline grid" should set the property value
Pass e.style['display'] = "table inline" should set the property value
Pass e.style['display'] = "inline table" should set the property value
Pass e.style['display'] = "inline ruby" should set the property value
Pass e.style['display'] = "ruby inline" should set the property value
Pass e.style['display'] = "inline list-item" should set the property value
Pass e.style['display'] = "list-item inline" should set the property value
Pass e.style['display'] = "flow inline list-item" should set the property value
Pass e.style['display'] = "inline flow list-item" should set the property value
Pass e.style['display'] = "flow list-item inline" should set the property value
Pass e.style['display'] = "inline list-item flow" should set the property value
Pass e.style['display'] = "list-item inline flow" should set the property value
Pass e.style['display'] = "list-item flow inline" should set the property value
Pass e.style['display'] = "flow-root inline list-item" should set the property value
Pass e.style['display'] = "inline flow-root list-item" should set the property value
Pass e.style['display'] = "flow-root list-item inline" should set the property value
Pass e.style['display'] = "inline list-item flow-root" should set the property value
Pass e.style['display'] = "list-item inline flow-root" should set the property value
Pass e.style['display'] = "list-item flow-root inline" should set the property value
Pass e.style['display'] = "run-in flow" should set the property value
Pass e.style['display'] = "flow run-in" should set the property value
Pass e.style['display'] = "flow-root run-in" should set the property value
Pass e.style['display'] = "run-in flow-root" should set the property value
Pass e.style['display'] = "flex run-in" should set the property value
Pass e.style['display'] = "run-in flex" should set the property value
Pass e.style['display'] = "grid run-in" should set the property value
Pass e.style['display'] = "run-in grid" should set the property value
Pass e.style['display'] = "table run-in" should set the property value
Pass e.style['display'] = "run-in table" should set the property value
Pass e.style['display'] = "run-in ruby" should set the property value
Pass e.style['display'] = "ruby run-in" should set the property value
Pass e.style['display'] = "run-in list-item" should set the property value
Pass e.style['display'] = "list-item run-in" should set the property value
Pass e.style['display'] = "flow run-in list-item" should set the property value
Pass e.style['display'] = "run-in flow list-item" should set the property value
Pass e.style['display'] = "flow list-item run-in" should set the property value
Pass e.style['display'] = "run-in list-item flow" should set the property value
Pass e.style['display'] = "list-item run-in flow" should set the property value
Pass e.style['display'] = "list-item flow run-in" should set the property value
Pass e.style['display'] = "flow-root run-in list-item" should set the property value
Pass e.style['display'] = "run-in flow-root list-item" should set the property value
Pass e.style['display'] = "flow-root list-item run-in" should set the property value
Pass e.style['display'] = "run-in list-item flow-root" should set the property value
Pass e.style['display'] = "list-item run-in flow-root" should set the property value
Pass e.style['display'] = "list-item flow-root run-in" should set the property value
Pass e.style['display'] = "grid" should set the property value
Pass e.style['display'] = "inline-grid" should set the property value
Pass e.style['display'] = "inline" should set the property value
Pass e.style['display'] = "block" should set the property value
Pass e.style['display'] = "list-item" should set the property value
Pass e.style['display'] = "inline-block" should set the property value
Pass e.style['display'] = "table" should set the property value
Pass e.style['display'] = "inline-table" should set the property value
Pass e.style['display'] = "table-row-group" should set the property value
Pass e.style['display'] = "table-header-group" should set the property value
Pass e.style['display'] = "table-footer-group" should set the property value
Pass e.style['display'] = "table-row" should set the property value
Pass e.style['display'] = "table-column-group" should set the property value
Pass e.style['display'] = "table-column" should set the property value
Pass e.style['display'] = "table-cell" should set the property value
Pass e.style['display'] = "table-caption" should set the property value
Pass e.style['display'] = "none" should set the property value
Pass e.style['display'] = "flex" should set the property value
Pass e.style['display'] = "inline-flex" should set the property value
Pass e.style['display'] = "contents" should set the property value
Pass e.style['display'] = "run-in" should set the property value
Pass e.style['display'] = "flow" should set the property value
Pass e.style['display'] = "flow-root" should set the property value
Pass e.style['display'] = "ruby" should set the property value
Pass e.style['display'] = "ruby-base" should set the property value
Pass e.style['display'] = "ruby-text" should set the property value
Pass e.style['display'] = "flow list-item" should set the property value
Pass e.style['display'] = "list-item flow" should set the property value
Pass e.style['display'] = "flow-root list-item" should set the property value
Pass e.style['display'] = "list-item flow-root" should set the property value
Pass e.style['display'] = "block flow" should set the property value
Pass e.style['display'] = "flow block" should set the property value
Pass e.style['display'] = "flow-root block" should set the property value
Pass e.style['display'] = "block flow-root" should set the property value
Pass e.style['display'] = "flex block" should set the property value
Pass e.style['display'] = "block flex" should set the property value
Pass e.style['display'] = "grid block" should set the property value
Pass e.style['display'] = "block grid" should set the property value
Pass e.style['display'] = "table block" should set the property value
Pass e.style['display'] = "block table" should set the property value
Pass e.style['display'] = "block ruby" should set the property value
Pass e.style['display'] = "ruby block" should set the property value
Pass e.style['display'] = "block list-item" should set the property value
Pass e.style['display'] = "list-item block" should set the property value
Pass e.style['display'] = "flow block list-item" should set the property value
Pass e.style['display'] = "block flow list-item" should set the property value
Pass e.style['display'] = "flow list-item block" should set the property value
Pass e.style['display'] = "block list-item flow" should set the property value
Pass e.style['display'] = "list-item block flow" should set the property value
Pass e.style['display'] = "list-item flow block" should set the property value
Pass e.style['display'] = "flow-root block list-item" should set the property value
Pass e.style['display'] = "block flow-root list-item" should set the property value
Pass e.style['display'] = "flow-root list-item block" should set the property value
Pass e.style['display'] = "block list-item flow-root" should set the property value
Pass e.style['display'] = "list-item block flow-root" should set the property value
Pass e.style['display'] = "list-item flow-root block" should set the property value
Pass e.style['display'] = "inline flow" should set the property value
Pass e.style['display'] = "flow inline" should set the property value
Pass e.style['display'] = "flow-root inline" should set the property value
Pass e.style['display'] = "inline flow-root" should set the property value
Pass e.style['display'] = "flex inline" should set the property value
Pass e.style['display'] = "inline flex" should set the property value
Pass e.style['display'] = "grid inline" should set the property value
Pass e.style['display'] = "inline grid" should set the property value
Pass e.style['display'] = "table inline" should set the property value
Pass e.style['display'] = "inline table" should set the property value
Pass e.style['display'] = "inline ruby" should set the property value
Pass e.style['display'] = "ruby inline" should set the property value
Pass e.style['display'] = "inline list-item" should set the property value
Pass e.style['display'] = "list-item inline" should set the property value
Pass e.style['display'] = "flow inline list-item" should set the property value
Pass e.style['display'] = "inline flow list-item" should set the property value
Pass e.style['display'] = "flow list-item inline" should set the property value
Pass e.style['display'] = "inline list-item flow" should set the property value
Pass e.style['display'] = "list-item inline flow" should set the property value
Pass e.style['display'] = "list-item flow inline" should set the property value
Pass e.style['display'] = "flow-root inline list-item" should set the property value
Pass e.style['display'] = "inline flow-root list-item" should set the property value
Pass e.style['display'] = "flow-root list-item inline" should set the property value
Pass e.style['display'] = "inline list-item flow-root" should set the property value
Pass e.style['display'] = "list-item inline flow-root" should set the property value
Pass e.style['display'] = "list-item flow-root inline" should set the property value
Pass e.style['display'] = "run-in flow" should set the property value
Pass e.style['display'] = "flow run-in" should set the property value
Pass e.style['display'] = "flow-root run-in" should set the property value
Pass e.style['display'] = "run-in flow-root" should set the property value
Pass e.style['display'] = "flex run-in" should set the property value
Pass e.style['display'] = "run-in flex" should set the property value
Pass e.style['display'] = "grid run-in" should set the property value
Pass e.style['display'] = "run-in grid" should set the property value
Pass e.style['display'] = "table run-in" should set the property value
Pass e.style['display'] = "run-in table" should set the property value
Pass e.style['display'] = "run-in ruby" should set the property value
Pass e.style['display'] = "ruby run-in" should set the property value
Pass e.style['display'] = "run-in list-item" should set the property value
Pass e.style['display'] = "list-item run-in" should set the property value
Pass e.style['display'] = "flow run-in list-item" should set the property value
Pass e.style['display'] = "run-in flow list-item" should set the property value
Pass e.style['display'] = "flow list-item run-in" should set the property value
Pass e.style['display'] = "run-in list-item flow" should set the property value
Pass e.style['display'] = "list-item run-in flow" should set the property value
Pass e.style['display'] = "list-item flow run-in" should set the property value
Pass e.style['display'] = "flow-root run-in list-item" should set the property value
Pass e.style['display'] = "run-in flow-root list-item" should set the property value
Pass e.style['display'] = "flow-root list-item run-in" should set the property value
Pass e.style['display'] = "run-in list-item flow-root" should set the property value
Pass e.style['display'] = "list-item run-in flow-root" should set the property value
Pass e.style['display'] = "list-item flow-root run-in" should set the property value

View file

@ -1,11 +1,6 @@
Summary
Harness status: OK
Rerun
Found 1 tests
1 Pass
Details
Result Test Name MessagePass textarea has inline block display
Pass textarea has inline block display

View file

@ -1,11 +1,6 @@
Summary
Harness status: OK
Rerun
Found 1 tests
1 Pass
Details
Result Test Name MessagePass .flexbox 1
Pass .flexbox 1

View file

@ -1,34 +1,29 @@
Summary
Harness status: OK
Rerun
Found 24 tests
24 Pass
Details
Result Test Name MessagePass .container > div 1
Pass .container > div 2
Pass .container > div 3
Pass .container > div 4
Pass .container > div 5
Pass .container > div 6
Pass .container > div 7
Pass .container > div 8
Pass .container > div 9
Pass .container > div 10
Pass .container > div 11
Pass .container > div 12
Pass .container > div 13
Pass .container > div 14
Pass .container > div 15
Pass .container > div 16
Pass .container > div 17
Pass .container > div 18
Pass .container > div 19
Pass .container > div 20
Pass .container > div 21
Pass .container > div 22
Pass .container > div 23
Pass .container > div 24
Pass .container > div 1
Pass .container > div 2
Pass .container > div 3
Pass .container > div 4
Pass .container > div 5
Pass .container > div 6
Pass .container > div 7
Pass .container > div 8
Pass .container > div 9
Pass .container > div 10
Pass .container > div 11
Pass .container > div 12
Pass .container > div 13
Pass .container > div 14
Pass .container > div 15
Pass .container > div 16
Pass .container > div 17
Pass .container > div 18
Pass .container > div 19
Pass .container > div 20
Pass .container > div 21
Pass .container > div 22
Pass .container > div 23
Pass .container > div 24

View file

@ -1,35 +1,30 @@
Summary
Harness status: OK
Rerun
Found 24 tests
22 Pass
2 Fail
Details
Result Test Name MessagePass .container > div 1
Pass .container > div 2
Pass .container > div 3
Pass .container > div 4
Fail .container > div 5
Pass .container > div 6
Pass .container > div 7
Pass .container > div 8
Pass .container > div 9
Pass .container > div 10
Pass .container > div 11
Pass .container > div 12
Pass .container > div 13
Pass .container > div 14
Pass .container > div 15
Pass .container > div 16
Fail .container > div 17
Pass .container > div 18
Pass .container > div 19
Pass .container > div 20
Pass .container > div 21
Pass .container > div 22
Pass .container > div 23
Pass .container > div 24
Pass .container > div 1
Pass .container > div 2
Pass .container > div 3
Pass .container > div 4
Fail .container > div 5
Pass .container > div 6
Pass .container > div 7
Pass .container > div 8
Pass .container > div 9
Pass .container > div 10
Pass .container > div 11
Pass .container > div 12
Pass .container > div 13
Pass .container > div 14
Pass .container > div 15
Pass .container > div 16
Fail .container > div 17
Pass .container > div 18
Pass .container > div 19
Pass .container > div 20
Pass .container > div 21
Pass .container > div 22
Pass .container > div 23
Pass .container > div 24

View file

@ -1,35 +1,30 @@
Summary
Harness status: OK
Rerun
Found 24 tests
14 Pass
10 Fail
Details
Result Test Name MessagePass .container > div 1
Fail .container > div 2
Fail .container > div 3
Pass .container > div 4
Fail .container > div 5
Pass .container > div 6
Pass .container > div 7
Pass .container > div 8
Pass .container > div 9
Pass .container > div 10
Fail .container > div 11
Fail .container > div 12
Pass .container > div 13
Fail .container > div 14
Fail .container > div 15
Pass .container > div 16
Fail .container > div 17
Pass .container > div 18
Pass .container > div 19
Pass .container > div 20
Pass .container > div 21
Pass .container > div 22
Fail .container > div 23
Fail .container > div 24
Pass .container > div 1
Fail .container > div 2
Fail .container > div 3
Pass .container > div 4
Fail .container > div 5
Pass .container > div 6
Pass .container > div 7
Pass .container > div 8
Pass .container > div 9
Pass .container > div 10
Fail .container > div 11
Fail .container > div 12
Pass .container > div 13
Fail .container > div 14
Fail .container > div 15
Pass .container > div 16
Fail .container > div 17
Pass .container > div 18
Pass .container > div 19
Pass .container > div 20
Pass .container > div 21
Pass .container > div 22
Fail .container > div 23
Fail .container > div 24

View file

@ -1,35 +1,30 @@
Summary
Harness status: OK
Rerun
Found 24 tests
22 Pass
2 Fail
Details
Result Test Name MessagePass .container > div 1
Pass .container > div 2
Pass .container > div 3
Pass .container > div 4
Fail .container > div 5
Pass .container > div 6
Pass .container > div 7
Pass .container > div 8
Pass .container > div 9
Pass .container > div 10
Pass .container > div 11
Pass .container > div 12
Pass .container > div 13
Pass .container > div 14
Pass .container > div 15
Pass .container > div 16
Fail .container > div 17
Pass .container > div 18
Pass .container > div 19
Pass .container > div 20
Pass .container > div 21
Pass .container > div 22
Pass .container > div 23
Pass .container > div 24
Pass .container > div 1
Pass .container > div 2
Pass .container > div 3
Pass .container > div 4
Fail .container > div 5
Pass .container > div 6
Pass .container > div 7
Pass .container > div 8
Pass .container > div 9
Pass .container > div 10
Pass .container > div 11
Pass .container > div 12
Pass .container > div 13
Pass .container > div 14
Pass .container > div 15
Pass .container > div 16
Fail .container > div 17
Pass .container > div 18
Pass .container > div 19
Pass .container > div 20
Pass .container > div 21
Pass .container > div 22
Pass .container > div 23
Pass .container > div 24

View file

@ -1,35 +1,30 @@
Summary
Harness status: OK
Rerun
Found 24 tests
14 Pass
10 Fail
Details
Result Test Name MessagePass .container > div 1
Fail .container > div 2
Fail .container > div 3
Pass .container > div 4
Fail .container > div 5
Pass .container > div 6
Pass .container > div 7
Pass .container > div 8
Pass .container > div 9
Pass .container > div 10
Fail .container > div 11
Fail .container > div 12
Pass .container > div 13
Fail .container > div 14
Fail .container > div 15
Pass .container > div 16
Fail .container > div 17
Pass .container > div 18
Pass .container > div 19
Pass .container > div 20
Pass .container > div 21
Pass .container > div 22
Fail .container > div 23
Fail .container > div 24
Pass .container > div 1
Fail .container > div 2
Fail .container > div 3
Pass .container > div 4
Fail .container > div 5
Pass .container > div 6
Pass .container > div 7
Pass .container > div 8
Pass .container > div 9
Pass .container > div 10
Fail .container > div 11
Fail .container > div 12
Pass .container > div 13
Fail .container > div 14
Fail .container > div 15
Pass .container > div 16
Fail .container > div 17
Pass .container > div 18
Pass .container > div 19
Pass .container > div 20
Pass .container > div 21
Pass .container > div 22
Fail .container > div 23
Fail .container > div 24

View file

@ -1,35 +1,30 @@
Summary
Harness status: OK
Rerun
Found 24 tests
22 Pass
2 Fail
Details
Result Test Name MessagePass .container > div 1
Pass .container > div 2
Pass .container > div 3
Pass .container > div 4
Fail .container > div 5
Pass .container > div 6
Pass .container > div 7
Pass .container > div 8
Pass .container > div 9
Pass .container > div 10
Pass .container > div 11
Pass .container > div 12
Pass .container > div 13
Pass .container > div 14
Pass .container > div 15
Pass .container > div 16
Fail .container > div 17
Pass .container > div 18
Pass .container > div 19
Pass .container > div 20
Pass .container > div 21
Pass .container > div 22
Pass .container > div 23
Pass .container > div 24
Pass .container > div 1
Pass .container > div 2
Pass .container > div 3
Pass .container > div 4
Fail .container > div 5
Pass .container > div 6
Pass .container > div 7
Pass .container > div 8
Pass .container > div 9
Pass .container > div 10
Pass .container > div 11
Pass .container > div 12
Pass .container > div 13
Pass .container > div 14
Pass .container > div 15
Pass .container > div 16
Fail .container > div 17
Pass .container > div 18
Pass .container > div 19
Pass .container > div 20
Pass .container > div 21
Pass .container > div 22
Pass .container > div 23
Pass .container > div 24

View file

@ -1,35 +1,30 @@
Summary
Harness status: OK
Rerun
Found 24 tests
14 Pass
10 Fail
Details
Result Test Name MessagePass .container > div 1
Fail .container > div 2
Fail .container > div 3
Pass .container > div 4
Fail .container > div 5
Pass .container > div 6
Pass .container > div 7
Pass .container > div 8
Pass .container > div 9
Pass .container > div 10
Fail .container > div 11
Fail .container > div 12
Pass .container > div 13
Fail .container > div 14
Fail .container > div 15
Pass .container > div 16
Fail .container > div 17
Pass .container > div 18
Pass .container > div 19
Pass .container > div 20
Pass .container > div 21
Pass .container > div 22
Fail .container > div 23
Fail .container > div 24
Pass .container > div 1
Fail .container > div 2
Fail .container > div 3
Pass .container > div 4
Fail .container > div 5
Pass .container > div 6
Pass .container > div 7
Pass .container > div 8
Pass .container > div 9
Pass .container > div 10
Fail .container > div 11
Fail .container > div 12
Pass .container > div 13
Fail .container > div 14
Fail .container > div 15
Pass .container > div 16
Fail .container > div 17
Pass .container > div 18
Pass .container > div 19
Pass .container > div 20
Pass .container > div 21
Pass .container > div 22
Fail .container > div 23
Fail .container > div 24

View file

@ -1,35 +1,30 @@
Summary
Harness status: OK
Rerun
Found 24 tests
22 Pass
2 Fail
Details
Result Test Name MessagePass .container > div 1
Pass .container > div 2
Pass .container > div 3
Pass .container > div 4
Fail .container > div 5
Pass .container > div 6
Pass .container > div 7
Pass .container > div 8
Pass .container > div 9
Pass .container > div 10
Pass .container > div 11
Pass .container > div 12
Pass .container > div 13
Pass .container > div 14
Pass .container > div 15
Pass .container > div 16
Fail .container > div 17
Pass .container > div 18
Pass .container > div 19
Pass .container > div 20
Pass .container > div 21
Pass .container > div 22
Pass .container > div 23
Pass .container > div 24
Pass .container > div 1
Pass .container > div 2
Pass .container > div 3
Pass .container > div 4
Fail .container > div 5
Pass .container > div 6
Pass .container > div 7
Pass .container > div 8
Pass .container > div 9
Pass .container > div 10
Pass .container > div 11
Pass .container > div 12
Pass .container > div 13
Pass .container > div 14
Pass .container > div 15
Pass .container > div 16
Fail .container > div 17
Pass .container > div 18
Pass .container > div 19
Pass .container > div 20
Pass .container > div 21
Pass .container > div 22
Pass .container > div 23
Pass .container > div 24

View file

@ -1,35 +1,30 @@
Summary
Harness status: OK
Rerun
Found 24 tests
14 Pass
10 Fail
Details
Result Test Name MessagePass .container > div 1
Fail .container > div 2
Fail .container > div 3
Pass .container > div 4
Fail .container > div 5
Pass .container > div 6
Pass .container > div 7
Pass .container > div 8
Pass .container > div 9
Pass .container > div 10
Fail .container > div 11
Fail .container > div 12
Pass .container > div 13
Fail .container > div 14
Fail .container > div 15
Pass .container > div 16
Fail .container > div 17
Pass .container > div 18
Pass .container > div 19
Pass .container > div 20
Pass .container > div 21
Pass .container > div 22
Fail .container > div 23
Fail .container > div 24
Pass .container > div 1
Fail .container > div 2
Fail .container > div 3
Pass .container > div 4
Fail .container > div 5
Pass .container > div 6
Pass .container > div 7
Pass .container > div 8
Pass .container > div 9
Pass .container > div 10
Fail .container > div 11
Fail .container > div 12
Pass .container > div 13
Fail .container > div 14
Fail .container > div 15
Pass .container > div 16
Fail .container > div 17
Pass .container > div 18
Pass .container > div 19
Pass .container > div 20
Pass .container > div 21
Pass .container > div 22
Fail .container > div 23
Fail .container > div 24

View file

@ -1,35 +1,30 @@
Summary
Harness status: OK
Rerun
Found 24 tests
22 Pass
2 Fail
Details
Result Test Name MessagePass .container > div 1
Pass .container > div 2
Pass .container > div 3
Pass .container > div 4
Fail .container > div 5
Pass .container > div 6
Pass .container > div 7
Pass .container > div 8
Pass .container > div 9
Pass .container > div 10
Pass .container > div 11
Pass .container > div 12
Pass .container > div 13
Pass .container > div 14
Pass .container > div 15
Pass .container > div 16
Fail .container > div 17
Pass .container > div 18
Pass .container > div 19
Pass .container > div 20
Pass .container > div 21
Pass .container > div 22
Pass .container > div 23
Pass .container > div 24
Pass .container > div 1
Pass .container > div 2
Pass .container > div 3
Pass .container > div 4
Fail .container > div 5
Pass .container > div 6
Pass .container > div 7
Pass .container > div 8
Pass .container > div 9
Pass .container > div 10
Pass .container > div 11
Pass .container > div 12
Pass .container > div 13
Pass .container > div 14
Pass .container > div 15
Pass .container > div 16
Fail .container > div 17
Pass .container > div 18
Pass .container > div 19
Pass .container > div 20
Pass .container > div 21
Pass .container > div 22
Pass .container > div 23
Pass .container > div 24

View file

@ -1,35 +1,30 @@
Summary
Harness status: OK
Rerun
Found 24 tests
22 Pass
2 Fail
Details
Result Test Name MessagePass .container > div 1
Pass .container > div 2
Pass .container > div 3
Pass .container > div 4
Fail .container > div 5
Pass .container > div 6
Pass .container > div 7
Pass .container > div 8
Pass .container > div 9
Pass .container > div 10
Pass .container > div 11
Pass .container > div 12
Pass .container > div 13
Pass .container > div 14
Pass .container > div 15
Pass .container > div 16
Fail .container > div 17
Pass .container > div 18
Pass .container > div 19
Pass .container > div 20
Pass .container > div 21
Pass .container > div 22
Pass .container > div 23
Pass .container > div 24
Pass .container > div 1
Pass .container > div 2
Pass .container > div 3
Pass .container > div 4
Fail .container > div 5
Pass .container > div 6
Pass .container > div 7
Pass .container > div 8
Pass .container > div 9
Pass .container > div 10
Pass .container > div 11
Pass .container > div 12
Pass .container > div 13
Pass .container > div 14
Pass .container > div 15
Pass .container > div 16
Fail .container > div 17
Pass .container > div 18
Pass .container > div 19
Pass .container > div 20
Pass .container > div 21
Pass .container > div 22
Pass .container > div 23
Pass .container > div 24

View file

@ -1,35 +1,30 @@
Summary
Harness status: OK
Rerun
Found 24 tests
4 Pass
20 Fail
Details
Result Test Name MessageFail .container > div 1
Fail .container > div 2
Fail .container > div 3
Fail .container > div 4
Pass .container > div 5
Pass .container > div 6
Fail .container > div 7
Fail .container > div 8
Fail .container > div 9
Fail .container > div 10
Fail .container > div 11
Fail .container > div 12
Fail .container > div 13
Fail .container > div 14
Fail .container > div 15
Fail .container > div 16
Pass .container > div 17
Pass .container > div 18
Fail .container > div 19
Fail .container > div 20
Fail .container > div 21
Fail .container > div 22
Fail .container > div 23
Fail .container > div 24
Fail .container > div 1
Fail .container > div 2
Fail .container > div 3
Fail .container > div 4
Pass .container > div 5
Pass .container > div 6
Fail .container > div 7
Fail .container > div 8
Fail .container > div 9
Fail .container > div 10
Fail .container > div 11
Fail .container > div 12
Fail .container > div 13
Fail .container > div 14
Fail .container > div 15
Fail .container > div 16
Pass .container > div 17
Pass .container > div 18
Fail .container > div 19
Fail .container > div 20
Fail .container > div 21
Fail .container > div 22
Fail .container > div 23
Fail .container > div 24

Some files were not shown because too many files have changed in this diff Show more