LibCrypto+LibWeb: Allow serializing key info without params

Previously, if `nullptr` was passed as params for
`wrap_in_private_key_info` or `wrap_in_subject_public_key_info` an ASN1
null was serialized. This was not the intended behaviour for many.

The issue was discovered while implementing `wrapKey` and `unwrapKey` in
the next commits.
This commit is contained in:
devgianlu 2024-12-13 22:36:18 +01:00 committed by Andreas Kling
commit 08af878466
Notes: github-actions[bot] 2024-12-16 10:36:33 +00:00
5 changed files with 123 additions and 26 deletions

View file

@ -2,40 +2,39 @@ Harness status: OK
Found 62 tests
52 Pass
10 Fail
Fail Good parameters: Ed25519 bits (spki, buffer(44), {name: Ed25519}, true, [verify])
Fail Good parameters: Ed25519 bits (spki, buffer(44), Ed25519, true, [verify])
62 Pass
Pass Good parameters: Ed25519 bits (spki, buffer(44), {name: Ed25519}, true, [verify])
Pass Good parameters: Ed25519 bits (spki, buffer(44), Ed25519, true, [verify])
Pass Good parameters: Ed25519 bits (jwk, object(kty, crv, x), {name: Ed25519}, true, [verify])
Pass Good parameters: Ed25519 bits (jwk, object(kty, crv, x), Ed25519, true, [verify])
Pass Good parameters with ignored JWK alg: Ed25519 (jwk, object(kty, crv, x), {name: Ed25519}, true, [verify])
Pass 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, [])
Pass Good parameters: Ed25519 bits (spki, buffer(44), {name: Ed25519}, true, [])
Pass Good parameters: Ed25519 bits (spki, buffer(44), Ed25519, true, [])
Pass Good parameters: Ed25519 bits (jwk, object(kty, crv, x), {name: Ed25519}, true, [])
Pass Good parameters: Ed25519 bits (jwk, object(kty, crv, x), Ed25519, true, [])
Pass Good parameters with ignored JWK alg: Ed25519 (jwk, object(kty, crv, x), {name: Ed25519}, true, [])
Pass 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])
Pass Good parameters: Ed25519 bits (spki, buffer(44), {name: Ed25519}, true, [verify, verify])
Pass Good parameters: Ed25519 bits (spki, buffer(44), Ed25519, true, [verify, verify])
Pass Good parameters: Ed25519 bits (jwk, object(kty, crv, x), {name: Ed25519}, true, [verify, verify])
Pass Good parameters: Ed25519 bits (jwk, object(kty, crv, x), Ed25519, true, [verify, verify])
Pass Good parameters with ignored JWK alg: Ed25519 (jwk, object(kty, crv, x), {name: Ed25519}, true, [verify, verify])
Pass 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])
Pass Good parameters: Ed25519 bits (pkcs8, buffer(48), {name: Ed25519}, true, [sign])
Pass Good parameters: Ed25519 bits (pkcs8, buffer(48), Ed25519, true, [sign])
Pass Good parameters: Ed25519 bits (jwk, object(crv, d, x, kty), {name: Ed25519}, true, [sign])
Pass Good parameters: Ed25519 bits (jwk, object(crv, d, x, kty), Ed25519, true, [sign])
Pass Good parameters with ignored JWK alg: Ed25519 (jwk, object(crv, d, x, kty), {name: Ed25519}, true, [sign])
Pass 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])
Pass Good parameters: Ed25519 bits (pkcs8, buffer(48), {name: Ed25519}, true, [sign, sign])
Pass Good parameters: Ed25519 bits (pkcs8, buffer(48), Ed25519, true, [sign, sign])
Pass Good parameters: Ed25519 bits (jwk, object(crv, d, x, kty), {name: Ed25519}, true, [sign, sign])
Pass Good parameters: Ed25519 bits (jwk, object(crv, d, x, kty), Ed25519, true, [sign, sign])
Pass Good parameters with ignored JWK alg: Ed25519 (jwk, object(crv, d, x, kty), {name: Ed25519}, true, [sign, sign])

View file

@ -2,10 +2,10 @@ Harness status: OK
Found 54 tests
24 Pass
30 Fail
Fail Good parameters: X25519 bits (spki, buffer(44), {name: X25519}, true, [])
Fail Good parameters: X25519 bits (spki, buffer(44), X25519, true, [])
26 Pass
28 Fail
Pass Good parameters: X25519 bits (spki, buffer(44), {name: X25519}, true, [])
Pass 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, [])

View file

@ -2,10 +2,10 @@ Harness status: OK
Found 54 tests
24 Pass
30 Fail
Fail Good parameters: X448 bits (spki, buffer(68), {name: X448}, true, [])
Fail Good parameters: X448 bits (spki, buffer(68), X448, true, [])
26 Pass
28 Fail
Pass Good parameters: X448 bits (spki, buffer(68), {name: X448}, true, [])
Pass 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, [])