Hello Anshul,

Tue, Nov 11, 2025 at 09:52:51AM +0530, Anshul Dalal wrote:
Hello Marko,

On Sat Nov 8, 2025 at 10:54 PM IST, Marko Mäkelä wrote:
Hi all,

I am new to u-boot, please bear with me. I got CONFIG_FIT_SIGNATURE=y to
work with the RSA algorithm, but not with ECDSA.

My two main questions are:

Is CONFIG_ECDSA_VERIFY only implemented for the two targets:
rom_api_ops in arch/arm/mach-stm32mp/ecdsa_romapi.c
cptra_ecdsa_ops in drivers/crypto/aspeed/cptra_ecdsa.c.


Yes, those two seem to be the only one's implementing UCLASS_ECDSA.

Is it feasible to support something more modern than RSA signatures on a
reasonably high-end target, such as ARMv8? Are there any suggestions or
git commits that you would suggest as a reference?


Should be possible, you can look at the current implementaitons of RSA
and lib/ecdsa/ecdsa-libcrypto.c for reference.

Thank you. I will look at that.

[snip]

Rebuilding with CONFIG_ECDSA_VERIFY=y changed the error message to the
following:

sha256,ecdsa256:dev-  error!
Verification failed for '<NULL>' hash node in 'conf-1' config node
Failed to verify required signature 'dev'


This is probably due to U-Boot failing to find a driver with
UCLASS_ECDSA, you can verify by adding a "#define DEBUG" to the top of
lib/ecdsa/ecdsa-verify.c and check if the following error shows up:

        ECDSA: Could not find ECDSA implementation: -19

Thank you for the tip. So, the #define DEBUG would enable the debug() statements. This indeed confirms my hypothesis:

## Executing script at 90000000
sha256,ecdsa256:devECDSA: Could not find ECDSA implementation: -19
-  error!
Verification failed for '<NULL>' hash node in 'conf-1' config node
Failed to verify required signature 'dev'
Boot failed (err=1)

I'm working on this on a hobby basis for now, and it may take some time before I will submit any patches for review.

Best regards,

        Marko

Reply via email to