From a381e94dda8d5d1042c7a43c1004959a76dc4e92 Mon Sep 17 00:00:00 2001 From: Pol Henarejos Date: Wed, 29 Jan 2025 17:07:03 +0100 Subject: [PATCH] Added phy_save() and phy_load() to save and load PHY. Signed-off-by: Pol Henarejos --- pico-keys-sdk | 2 +- src/fido/cbor_config.c | 7 +------ src/fido/cbor_make_credential.c | 12 ++---------- 3 files changed, 4 insertions(+), 17 deletions(-) diff --git a/pico-keys-sdk b/pico-keys-sdk index 80fa13a..4992d8e 160000 --- a/pico-keys-sdk +++ b/pico-keys-sdk @@ -1 +1 @@ -Subproject commit 80fa13a19c50a46f4b141082153dc9a7dc406669 +Subproject commit 4992d8e273507461870d84d98d78d909575f84bd diff --git a/src/fido/cbor_config.c b/src/fido/cbor_config.c index f443ea9..a4afeaf 100644 --- a/src/fido/cbor_config.c +++ b/src/fido/cbor_config.c @@ -246,14 +246,9 @@ int cbor_config(const uint8_t *data, size_t len) { else { CBOR_ERROR(CTAP2_ERR_UNSUPPORTED_OPTION); } - uint8_t tmp[PHY_MAX_SIZE]; - uint16_t tmp_len = 0; - memset(tmp, 0, sizeof(tmp)); - if (phy_serialize_data(&phy_data, tmp, &tmp_len) != PICOKEY_OK) { + if (phy_save() != PICOKEY_OK) { CBOR_ERROR(CTAP2_ERR_PROCESSING); } - file_put_data(ef_phy, tmp, tmp_len); - low_flash_available(); } #endif else { diff --git a/src/fido/cbor_make_credential.c b/src/fido/cbor_make_credential.c index 3388834..3a5fc83 100644 --- a/src/fido/cbor_make_credential.c +++ b/src/fido/cbor_make_credential.c @@ -455,21 +455,13 @@ int cbor_make_credential(const uint8_t *data, size_t len) { if (memcmp(p, "CommissionProfile", 17) == 0) { ret = phy_unserialize_data(user.id.data, user.id.len, &phy_data); if (ret == PICOKEY_OK) { - uint8_t tmp[PHY_MAX_SIZE]; - uint16_t tmp_len = 0; - memset(tmp, 0, sizeof(tmp)); - if (phy_serialize_data(&phy_data, tmp, &tmp_len) != PICOKEY_OK) { - CBOR_ERROR(CTAP2_ERR_PROCESSING); - } - DEBUG_DATA(tmp,tmp_len); - file_put_data(ef_phy, tmp, tmp_len); + ret = phy_save(); } } #endif - if (ret != 0) { + if (ret != PICOKEY_OK) { CBOR_ERROR(CTAP2_ERR_PROCESSING); } - low_flash_available(); } }