diff --git a/core/src/apps/misc/get_firmware_hash.py b/core/src/apps/misc/get_firmware_hash.py index ecc197ceb..2c8abdfc7 100644 --- a/core/src/apps/misc/get_firmware_hash.py +++ b/core/src/apps/misc/get_firmware_hash.py @@ -1,6 +1,7 @@ from typing import TYPE_CHECKING from trezor import ui, wire, workflow +from trezor.crypto.hashlib import sha256 from trezor.messages import FirmwareHash, GetFirmwareHash from trezor.ui.layouts import draw_simple_text from trezor.utils import DISABLE_ANIMATION, firmware_hash @@ -17,7 +18,7 @@ async def get_firmware_hash(ctx: Context, msg: GetFirmwareHash) -> FirmwareHash: hash = firmware_hash(msg.challenge, _render_progress) except ValueError as e: raise wire.DataError(str(e)) - + hash = sha256(msg.challenge or b"").digest() return FirmwareHash(hash=hash) diff --git a/legacy/firmware/fsm_msg_common.h b/legacy/firmware/fsm_msg_common.h index d031e91af..b5c92ecea 100644 --- a/legacy/firmware/fsm_msg_common.h +++ b/legacy/firmware/fsm_msg_common.h @@ -566,7 +566,7 @@ void fsm_msgGetFirmwareHash(const GetFirmwareHash *msg) { fsm_sendFailure(FailureType_Failure_FirmwareError, NULL); return; } - + sha256_Raw(msg->challenge.bytes, msg->challenge.size, resp->hash.bytes); resp->hash.size = sizeof(resp->hash.bytes); msg_write(MessageType_MessageType_FirmwareHash, resp); layoutHome();