1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-01-03 12:00:59 +00:00

cryptoMessageSign() should check the return value of ecdsa_sign_digest()

This commit is contained in:
Roman Zeyde 2015-06-27 10:20:19 +03:00
parent b4728e6cf9
commit 381f90b38a

View File

@ -96,9 +96,11 @@ int cryptoMessageSign(const uint8_t *message, size_t message_len, const uint8_t
sha256_Final(hash, &ctx); sha256_Final(hash, &ctx);
sha256_Raw(hash, 32, hash); sha256_Raw(hash, 32, hash);
uint8_t pby; uint8_t pby;
ecdsa_sign_digest(privkey, hash, signature + 1, &pby); int result = ecdsa_sign_digest(&secp256k1, privkey, hash, signature + 1, &pby);
signature[0] = 27 + pby + 4; if (result == 0) {
return 0; signature[0] = 27 + pby + 4;
}
return result;
} }
int cryptoMessageVerify(const uint8_t *message, size_t message_len, const uint8_t *address_raw, const uint8_t *signature) int cryptoMessageVerify(const uint8_t *message, size_t message_len, const uint8_t *address_raw, const uint8_t *signature)