mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-08-18 08:20:44 +00:00
LibCrypto: Use OpenSSL for SECPxxxr1 key generation
This commit is contained in:
parent
de6f77e7e3
commit
aefffa9455
Notes:
github-actions[bot]
2025-01-27 11:26:26 +00:00
Author: https://github.com/devgianlu
Commit: aefffa9455
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/3374
Reviewed-by: https://github.com/alimpfard ✅
6 changed files with 85 additions and 58 deletions
|
@ -2,8 +2,8 @@ Harness status: OK
|
|||
|
||||
Found 40 tests
|
||||
|
||||
35 Pass
|
||||
5 Fail
|
||||
36 Pass
|
||||
4 Fail
|
||||
Pass setup - define tests
|
||||
Fail P-521 good parameters
|
||||
Fail P-521 mixed case parameters
|
||||
|
@ -12,7 +12,7 @@ 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 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
|
||||
|
|
|
@ -2,15 +2,15 @@ Harness status: OK
|
|||
|
||||
Found 31 tests
|
||||
|
||||
28 Pass
|
||||
3 Fail
|
||||
29 Pass
|
||||
2 Fail
|
||||
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 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
|
||||
|
|
|
@ -2,8 +2,7 @@ Harness status: OK
|
|||
|
||||
Found 476 tests
|
||||
|
||||
474 Pass
|
||||
2 Fail
|
||||
476 Pass
|
||||
Pass Bad algorithm: generateKey(AES, false, [decrypt])
|
||||
Pass Bad algorithm: generateKey(AES, true, [decrypt])
|
||||
Pass Bad algorithm: generateKey(AES, RED, [decrypt])
|
||||
|
@ -478,5 +477,5 @@ 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 Empty usages: generateKey({name: ECDH, namedCurve: P-521}, false, [])
|
||||
Pass Empty usages: generateKey({name: ECDH, namedCurve: P-521}, true, [])
|
|
@ -2,8 +2,7 @@ Harness status: OK
|
|||
|
||||
Found 72 tests
|
||||
|
||||
48 Pass
|
||||
24 Fail
|
||||
72 Pass
|
||||
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])
|
||||
|
@ -20,14 +19,14 @@ 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-521}, false, [deriveKey])
|
||||
Pass Success: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveKey])
|
||||
Pass Success: generateKey({name: ECDH, namedCurve: P-521}, false, [deriveBits, deriveKey])
|
||||
Pass Success: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveBits, deriveKey])
|
||||
Pass Success: generateKey({name: ECDH, namedCurve: P-521}, false, [deriveBits])
|
||||
Pass Success: generateKey({name: ECDH, namedCurve: P-521}, true, [deriveBits])
|
||||
Pass Success: generateKey({name: ECDH, namedCurve: P-521}, false, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
|
||||
Pass 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])
|
||||
|
@ -44,14 +43,14 @@ 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-521}, false, [deriveKey])
|
||||
Pass Success: generateKey({name: ecdh, namedCurve: P-521}, true, [deriveKey])
|
||||
Pass Success: generateKey({name: ecdh, namedCurve: P-521}, false, [deriveBits, deriveKey])
|
||||
Pass Success: generateKey({name: ecdh, namedCurve: P-521}, true, [deriveBits, deriveKey])
|
||||
Pass Success: generateKey({name: ecdh, namedCurve: P-521}, false, [deriveBits])
|
||||
Pass Success: generateKey({name: ecdh, namedCurve: P-521}, true, [deriveBits])
|
||||
Pass Success: generateKey({name: ecdh, namedCurve: P-521}, false, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
|
||||
Pass 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])
|
||||
|
@ -68,11 +67,11 @@ 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-521}, false, [deriveKey])
|
||||
Pass Success: generateKey({name: Ecdh, namedCurve: P-521}, true, [deriveKey])
|
||||
Pass Success: generateKey({name: Ecdh, namedCurve: P-521}, false, [deriveBits, deriveKey])
|
||||
Pass Success: generateKey({name: Ecdh, namedCurve: P-521}, true, [deriveBits, deriveKey])
|
||||
Pass Success: generateKey({name: Ecdh, namedCurve: P-521}, false, [deriveBits])
|
||||
Pass Success: generateKey({name: Ecdh, namedCurve: P-521}, true, [deriveBits])
|
||||
Pass Success: generateKey({name: Ecdh, namedCurve: P-521}, false, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
|
||||
Pass Success: generateKey({name: Ecdh, namedCurve: P-521}, true, [deriveKey, deriveBits, deriveKey, deriveBits, deriveKey, deriveBits])
|
|
@ -2,8 +2,7 @@ Harness status: OK
|
|||
|
||||
Found 246 tests
|
||||
|
||||
192 Pass
|
||||
6 Fail
|
||||
198 Pass
|
||||
48 Optional Feature Unsupported
|
||||
Pass Good parameters: P-256 bits (spki, buffer(91), {name: ECDSA, namedCurve: P-256}, true, [verify])
|
||||
Optional Feature Unsupported Good parameters: P-256 bits (spki, buffer(59, compressed), {name: ECDSA, namedCurve: P-256}, true, [verify])
|
||||
|
@ -107,8 +106,8 @@ Optional Feature Unsupported Good parameters: P-521 bits (raw, buffer(67, compre
|
|||
Pass Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, true, [sign])
|
||||
Pass Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDSA, namedCurve: P-521}, true, [sign, sign])
|
||||
Pass 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])
|
||||
Pass Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, true, [sign])
|
||||
Pass Good parameters: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, true, [sign, sign])
|
||||
Pass Empty Usages: P-521 bits (jwk, object(kty, crv, x, y, d), {name: ECDSA, namedCurve: P-521}, true, [])
|
||||
Pass Good parameters: P-521 bits (spki, buffer(158), {name: ECDSA, namedCurve: P-521}, false, [verify])
|
||||
Optional Feature Unsupported Good parameters: P-521 bits (spki, buffer(90, compressed), {name: ECDSA, namedCurve: P-521}, false, [verify])
|
||||
|
@ -222,13 +221,13 @@ Pass Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P
|
|||
Pass Good parameters: P-521 bits (pkcs8, buffer(241), {name: ECDH, namedCurve: P-521}, true, [deriveBits])
|
||||
Pass 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 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 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 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 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, [])
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue