LibWeb: Match algorithm names case-insensitive

I dug through the code and the WebCryptoAPI spec to figure out the
reason for `... mixed case parameters` WPT tests and figured out that
our implementation was slightly wrong.

By being closer to the spec we can now pass those tests and also remove
a bunch of duplicated code.

Context: https://github.com/LadybirdBrowser/ladybird/pull/2598#discussion_r1859263798
This commit is contained in:
devgianlu
2024-11-27 21:17:07 +01:00
committed by Andreas Kling
parent 6ebc812035
commit 46e724729c
Notes: github-actions[bot] 2024-11-27 23:22:41 +00:00
6 changed files with 74 additions and 139 deletions

View File

@@ -6,8 +6,8 @@ Rerun
Found 18 tests
16 Pass
2 Fail
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
@@ -16,7 +16,7 @@ Pass X448 key derivation checks for all-zero value result with a key of order p-
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
Fail X448 mixed case parameters
Pass X448 mixed case parameters
Pass X448 short result
Fail X448 non-multiple of 8 bits
Pass X448 missing public property

View File

@@ -6,8 +6,8 @@ Rerun
Found 40 tests
23 Pass
17 Fail
25 Pass
15 Fail
Details
Result Test Name MessagePass setup - define tests
Fail P-521 good parameters
@@ -24,7 +24,7 @@ Fail P-521 public property value is a private key
Fail P-521 public property value is a secret key
Fail P-521 asking for too many bits
Pass P-256 good parameters
Fail P-256 mixed case 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
@@ -37,7 +37,7 @@ 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
Fail P-384 mixed case 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

View File

@@ -6,8 +6,8 @@ Rerun
Found 31 tests
21 Pass
10 Fail
23 Pass
8 Fail
Details
Result Test Name MessagePass setup - define tests
Fail P-521 good parameters
@@ -21,7 +21,7 @@ Fail P-521 base key is not a private key
Fail P-521 public property value is a private key
Fail P-521 public property value is a secret key
Pass P-256 good parameters
Fail P-256 mixed case 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
@@ -31,7 +31,7 @@ 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
Fail P-384 mixed case 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