I’m currently using “mbedtls_ecdsa_verify” as suggested here for ecdsa verification because my signature is encoded as ‘r+s’ (binary data 64 bytes for the MBEDTLS_ECP_DP_SECP256R1 curve).
The problem is that this function takes too long to process and this triggers a watchdog reset on my single thread embedded device (no RTOS used).
I saw that “mbedtls_ecdsa_read_signature_restartable” was added in the library to solve this issue but it doesn’t work for me because of the format of my signature.
Is there a “restartable” version of “mbedtls_ecdsa_verify” ?
Or, alternatively, is there a way I can convert my signature from RAW into DER or PEM so I can use “mbedtls_ecdsa_read_signature_restartable” ?
Currently I load my signature in raw format using ‘mbedtls_mpi_read_binary’ for ‘r’ and ‘s’ and then call ‘mbedtls_ecdsa_verify’.
Sergio Soares - ON Semiconductor