[PATCH v3 00/15] Add ECDSA support for FIT image verification

Ahmad Fatoum a.fatoum at pengutronix.de
Wed Sep 11 01:43:03 PDT 2024


On 06.09.24 12:40, Sascha Hauer wrote:
> This series implements ECDSA signature verification for FIT images.
> The ECDSA code itself is taken from the Kernel. Currently only supported
> way to specify a ECDSA key is to compile it into the binary using
> CONFIG_CRYPTO_ECDSA_KEY, taking it from a device tree is not yet
> supported.

The series is missing my Reviewed-by's. I am not sure if it's because
all commits have changed so much. To avoid reviewing code I already
looked at before, I have only done a brief check.

Cheers,
Ahmad

> 
> Changes since v2:
> - fix endianess problems when ECDSA keys are built for a machine with
>   different endianess
> - add struct public_key as a container for different key types
> - make FIT image code use generic public key functions
> - drop ECDSA dts snippet support (not needed, doesn't work)
> - pass NULL to EVP_PKEY_get_utf8_string_param()
> 
> Sascha Hauer (15):
>   keytoc: remove ECDSA dts support
>   keytoc: fail in case gen_key() fails
>   keytoc: fix ECDSA endianess problems
>   keytoc: remove duplicate __ENV__ check
>   crypto: Makefile: make simpler
>   keytoc: make key name hint optional
>   crypto: rsa: include key name hint into CONFIG_CRYPTO_RSA_KEY
>   crypto: rsa: encapsulate rsa keys in public keys struct
>   crypto: add public_key functions
>   crypto: builtin_keys: Allow to specify multiple keys in
>     CONFIG_CRYPTO_PUBLIC_KEYS
>   crypto: public-keys: use array of public_keys
>   crypto: rsa: create static inline wrapper for rsa_verify()
>   Add elliptic curve cryptography (ECC) helper functions
>   crypto: add ECDSA support
>   crypto: make RSA a visible option
> 
>  common/Kconfig                    |    1 -
>  common/image-fit.c                |   20 +-
>  crypto/Kconfig                    |   37 +-
>  crypto/Makefile                   |   20 +-
>  crypto/ecc.c                      | 1661 +++++++++++++++++++++++++++++
>  crypto/ecc_curve_defs.h           |  155 +++
>  crypto/ecdsa.c                    |  140 +++
>  crypto/public-keys.c              |  107 ++
>  crypto/rsa.c                      |   95 +-
>  include/asm-generic/barebox.lds.h |   10 +-
>  include/crypto/ecc_curve.h        |   62 ++
>  include/crypto/ecdh.h             |   83 ++
>  include/crypto/internal/ecc.h     |  278 +++++
>  include/crypto/public_key.h       |   36 +
>  include/ecdsa.h                   |   42 +
>  include/rsa.h                     |   35 +-
>  scripts/Makefile.lib              |    2 +-
>  scripts/keytoc.c                  |  119 ++-
>  18 files changed, 2718 insertions(+), 185 deletions(-)
>  create mode 100644 crypto/ecc.c
>  create mode 100644 crypto/ecc_curve_defs.h
>  create mode 100644 crypto/ecdsa.c
>  create mode 100644 crypto/public-keys.c
>  create mode 100644 include/crypto/ecc_curve.h
>  create mode 100644 include/crypto/ecdh.h
>  create mode 100644 include/crypto/internal/ecc.h
>  create mode 100644 include/crypto/public_key.h
>  create mode 100644 include/ecdsa.h
> 


-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list