ECDSA#
ECDSA signing functionality for the bootloader.
Modules#
Functions#
Verify an ECDSA signature of a SHA256-hash using secp256r1.
Macros#
Number of bytes of data to verify the signature against.
Number of bytes in the EC points that the signature consists of.
Function Documentation#
btl_verifyEcdsaP256r1#
int32_t btl_verifyEcdsaP256r1 (const uint8_t * sha256, const uint8_t * signatureR, const uint8_t * signatureS, const uint8_t * keyX, const uint8_t * keyY)
Verify an ECDSA signature of a SHA256-hash using secp256r1.
N/A | sha256 | The hash of the data which is authenticated |
N/A | signatureR | Byte array (MSB first) of R-point of the ECDSA signature |
N/A | signatureS | Byte array (MSB first) of S-point of the ECDSA signature |
N/A | keyX | Pointer to the X coordinate of the ECDSA public key |
N/A | keyY | Pointer to the Y coordinate of the ECDSA public key |
Verifies the authenticity of data by checking the ECDSA signature of the data's SHA256-hash. This function is only for use with the secp256r1 curve. The public key which the signature is validated against will be retrieved from the respective tokens in the lockbits-page.
Returns
BOOTLOADER_OK if signature is valid, else error code in BOOTLOADER_ERROR_SECURITY_BASE range.
56
of file platform/bootloader/security/btl_security_ecdsa.h
Macro Definition Documentation#
BTL_SECURITY_ECDSA_SHA256_LENGTH#
#define BTL_SECURITY_ECDSA_SHA256_LENGTHValue:
32
Number of bytes of data to verify the signature against.
36
of file platform/bootloader/security/btl_security_ecdsa.h
BTL_SECURITY_ECDSA_POINT_LENGTH#
#define BTL_SECURITY_ECDSA_POINT_LENGTHValue:
32
Number of bytes in the EC points that the signature consists of.
38
of file platform/bootloader/security/btl_security_ecdsa.h