From e5f75baf814219a5fbe7a4103c3aebbf5e06cadf Mon Sep 17 00:00:00 2001 From: Lucas PASCAL Date: Wed, 26 Jul 2023 15:48:40 +0200 Subject: [PATCH] [clean] Cleaning deprecated SDK functions --- src/nano/nanos_enter_phrase.c | 9 ++++++--- src/nano/nanox_enter_phrase.c | 11 +++++++---- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/nano/nanos_enter_phrase.c b/src/nano/nanos_enter_phrase.c index fb85be5d..c17c104e 100644 --- a/src/nano/nanos_enter_phrase.c +++ b/src/nano/nanos_enter_phrase.c @@ -229,14 +229,17 @@ void compare_recovery_phrase(void) { cx_hmac_sha512_t ctx; const char key[] = "Bitcoin seed"; - cx_hmac_sha512_init(&ctx, (const uint8_t*) key, strlen(key)); - cx_hmac((cx_hmac_t*) &ctx, CX_LAST, buffer, 64, buffer, 64); + cx_hmac_sha512_init_no_throw(&ctx, (const uint8_t*) key, strlen(key)); + cx_hmac_no_throw((cx_hmac_t*) &ctx, CX_LAST, buffer, 64, buffer, 64); PRINTF("Root key from input:\n%.*H\n", 64, buffer); // get rootkey from device's seed uint8_t buffer_device[64]; - os_perso_derive_node_bip32(CX_CURVE_256K1, NULL, 0, buffer_device, buffer_device + 32); + if (os_derive_bip32_no_throw(CX_CURVE_256K1, NULL, 0, buffer_device, buffer_device + 32) != CX_OK) { + PRINTF("An error occured while comparing the recovery phrase\n"); + return; + } PRINTF("Root key from device: \n%.*H\n", 64, buffer_device); // compare both rootkey diff --git a/src/nano/nanox_enter_phrase.c b/src/nano/nanox_enter_phrase.c index 77d3f617..fe370179 100644 --- a/src/nano/nanox_enter_phrase.c +++ b/src/nano/nanox_enter_phrase.c @@ -397,7 +397,7 @@ const bagl_element_t* screen_onboarding_4_restore_word_before_element_display_ca return element; } -uint8_t compare_recovery_phrase(void) { +static uint8_t compare_recovery_phrase(void) { // convert mnemonic to hex-seed uint8_t buffer[64]; @@ -410,14 +410,17 @@ uint8_t compare_recovery_phrase(void) { cx_hmac_sha512_t ctx; const char key[] = "Bitcoin seed"; - cx_hmac_sha512_init(&ctx, (const uint8_t*) key, strlen(key)); - cx_hmac((cx_hmac_t*) &ctx, CX_LAST, buffer, 64, buffer, 64); + cx_hmac_sha512_init_no_throw(&ctx, (const uint8_t*) key, strlen(key)); + cx_hmac_no_throw((cx_hmac_t*) &ctx, CX_LAST, buffer, 64, buffer, 64); PRINTF("Root key from input:\n%.*H\n", 64, buffer); // get rootkey from device's seed uint8_t buffer_device[64]; - os_perso_derive_node_bip32(CX_CURVE_256K1, NULL, 0, buffer_device, buffer_device + 32); + if (os_derive_bip32_no_throw(CX_CURVE_256K1, NULL, 0, buffer_device, buffer_device + 32) != CX_OK) { + PRINTF("An error occured while comparing the recovery phrase\n"); + return 0; + } PRINTF("Root key from device: \n%.*H\n", 64, buffer_device); // compare both rootkey