diff options
| author | Chia-Wei Wang <[email protected]> | 2024-10-14 17:56:18 +0800 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2024-10-21 17:52:52 -0600 |
| commit | 75068b1a2dbcf475c1043e7aa0f6882554d759bc (patch) | |
| tree | 2a29e5485b5f474d83fb437f0c2e05952ae2ed2f /lib | |
| parent | 3794bbf9e0e7ce2652935514cbfac49545c329a9 (diff) | |
lib: ecdsa: Add ECDSA384 support
Add ECDSA384 algorithm support for image signing and verification.
Signed-off-by: Chia-Wei Wang <[email protected]>
Reviewed-by: Simon Glass <[email protected]>
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/ecdsa/ecdsa-verify.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/lib/ecdsa/ecdsa-verify.c b/lib/ecdsa/ecdsa-verify.c index 4d1835b598a..629b662cf6c 100644 --- a/lib/ecdsa/ecdsa-verify.c +++ b/lib/ecdsa/ecdsa-verify.c @@ -22,8 +22,10 @@ static int ecdsa_key_size(const char *curve_name) { if (!strcmp(curve_name, "prime256v1")) return 256; - else - return 0; + else if (!strcmp(curve_name, "secp384r1")) + return 384; + + return 0; } static int fdt_get_key(struct ecdsa_public_key *key, const void *fdt, int node) @@ -121,12 +123,18 @@ int ecdsa_verify(struct image_sign_info *info, return ecdsa_verify_hash(dev, info, hash, sig, sig_len); } -U_BOOT_CRYPTO_ALGO(ecdsa) = { +U_BOOT_CRYPTO_ALGO(ecdsa256) = { .name = "ecdsa256", .key_len = ECDSA256_BYTES, .verify = ecdsa_verify, }; +U_BOOT_CRYPTO_ALGO(ecdsa384) = { + .name = "ecdsa384", + .key_len = ECDSA384_BYTES, + .verify = ecdsa_verify, +}; + /* * uclass definition for ECDSA API * |
