[PATCH v2 00/19] Add ECDSA support for FIT image verification

Sascha Hauer s.hauer at pengutronix.de
Wed Jul 31 22:57:18 PDT 2024


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 ye
supported.

Changes since v1:
- better split up rsatoc patches
- keep engine support around in rsatoc as it is still needed in many
  cases
- Add more cleanup to rsatoc

Sascha Hauer (19):
  errno: include string for EOPNOTSUPP
  rsatoc: disable deprecated function warnings
  rsatoc: remove unnecessary function call
  rsatoc: pass EVP_PKEY around
  rsatoc: rename rsa_err() to openssl_error()
  rsatoc: move engine initialization to engine_get_pub_key()
  rsatoc: cleanup error handling
  rsatoc: remove unnecessary error check
  rsatoc: use non deprecated openssl functions to retrieve RSA params
  rsatoc: check error value of gen_key()
  rsatoc: rename to keytoc
  keytoc: add ecdsa support
  keytoc: Let openssl_error() take a format string
  keytoc: clarify error messages
  malloc: implement free_sensitive()
  Add elliptic curve cryptography (ECC) helper functions
  crypto: add ECDSA support
  crypto: make RSA a visible option
  fit: Add ecdsa support

 common/Kconfig                    |    1 -
 common/dlmalloc.c                 |   15 +
 common/image-fit.c                |  113 +-
 common/misc.c                     |    1 +
 common/tlsf_malloc.c              |   11 +
 crypto/Kconfig                    |   28 +-
 crypto/Makefile                   |   22 +-
 crypto/ecc.c                      | 1661 +++++++++++++++++++++++++++++
 crypto/ecc_curve_defs.h           |  155 +++
 crypto/ecdsa.c                    |  169 +++
 include/asm-generic/barebox.lds.h |    7 +
 include/crypto/ecc_curve.h        |   62 ++
 include/crypto/ecdh.h             |   83 ++
 include/crypto/internal/ecc.h     |  278 +++++
 include/dma.h                     |    5 +
 include/ecdsa.h                   |   21 +
 include/linux/slab.h              |    5 +
 include/malloc.h                  |    1 +
 scripts/.gitignore                |    2 +-
 scripts/Kconfig                   |    4 +-
 scripts/Makefile                  |    6 +-
 scripts/Makefile.lib              |   12 +-
 scripts/{rsatoc.c => keytoc.c}    |  458 +++++---
 test/self/Makefile                |    2 +-
 24 files changed, 2924 insertions(+), 198 deletions(-)
 create mode 100644 crypto/ecc.c
 create mode 100644 crypto/ecc_curve_defs.h
 create mode 100644 crypto/ecdsa.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/ecdsa.h
 rename scripts/{rsatoc.c => keytoc.c} (61%)

-- 
2.39.2




More information about the barebox mailing list