diff --git a/firmware/u2f.c b/firmware/u2f.c index 5e6a06af53..0db0f3b4e0 100644 --- a/firmware/u2f.c +++ b/firmware/u2f.c @@ -458,10 +458,12 @@ static const HDNode *getDerivedNode(uint32_t *address_n, size_t address_n_count) if (!address_n || address_n_count == 0) { return &node; } - if (hdnode_private_ckd_cached(&node, address_n, address_n_count, NULL) == 0) { - layoutHome(); - debugLog(0, "", "ERR: Derive private failed"); - return 0; + for (size_t i = 0; i < address_n_count; i++) { + if (hdnode_private_ckd(&node, address_n[i]) == 0) { + layoutHome(); + debugLog(0, "", "ERR: Derive private failed"); + return 0; + } } return &node; }