From a2044d697d5f2747a01003f2dab62121d1684781 Mon Sep 17 00:00:00 2001 From: Pol Henarejos Date: Mon, 1 Jun 2026 00:22:18 +0200 Subject: [PATCH] Set persistent rpId, userName and userDisplay. Signed-off-by: Pol Henarejos --- src/fido/cbor_get_assertion.c | 4 ++++ src/fido/cbor_make_credential.c | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/src/fido/cbor_get_assertion.c b/src/fido/cbor_get_assertion.c index 5b62ebe..e619b99 100644 --- a/src/fido/cbor_get_assertion.c +++ b/src/fido/cbor_get_assertion.c @@ -32,6 +32,7 @@ #include "random.h" int cbor_get_assertion(const uint8_t *data, size_t len, bool next); +extern char *rp_id, *user_name, *display_name; bool residentx = false; Credential credsx[MAX_CREDENTIAL_COUNT_IN_LIST] = { 0 }; @@ -205,6 +206,9 @@ int cbor_get_assertion(const uint8_t *data, size_t len, bool next) { if (rpId.present == false || clientDataHash.present == false) { CBOR_ERROR(CTAP2_ERR_MISSING_PARAMETER); } + rp_id = rpId.data; + user_name = NULL; + display_name = NULL; uint8_t flags = 0; uint8_t rp_id_hash[32] = {0}; diff --git a/src/fido/cbor_make_credential.c b/src/fido/cbor_make_credential.c index 9f54af0..64d5a26 100644 --- a/src/fido/cbor_make_credential.c +++ b/src/fido/cbor_make_credential.c @@ -28,6 +28,8 @@ #include "random.h" #include "crypto_utils.h" +char *rp_id = NULL, *user_name = NULL, *display_name = NULL; + int cbor_make_credential(const uint8_t *data, size_t len) { CborParser parser; CborValue map; @@ -192,6 +194,9 @@ int cbor_make_credential(const uint8_t *data, size_t len) { } } CBOR_PARSE_MAP_END(map, 1); + rp_id = rp.id.data; + user_name = user.parent.name.data; + display_name = user.displayName.data; uint8_t flags = FIDO2_AUT_FLAG_AT; uint8_t rp_id_hash[32] = {0};