From f17faca689904c91fb42165264f927b01adc6a49 Mon Sep 17 00:00:00 2001 From: Conor Patrick Date: Fri, 26 Jul 2019 23:53:20 -0400 Subject: [PATCH] use correct size for auth_data for signature --- fido2/ctap.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/fido2/ctap.c b/fido2/ctap.c index 5f604ac..5a69037 100644 --- a/fido2/ctap.c +++ b/fido2/ctap.c @@ -355,9 +355,9 @@ static int ctap_make_extensions(CTAP_extensions * ext, uint8_t * ext_encoder_buf } // Generate credRandom - crypto_sha256_hmac_init(CRYPTO_TRANSPORT_KEY, 0, credRandom); + crypto_sha256_hmac_init(CRYPTO_TRANSPORT_KEY2, 0, credRandom); crypto_sha256_update((uint8_t*)&ext->hmac_secret.credential->id, sizeof(CredentialId)); - crypto_sha256_hmac_final(CRYPTO_TRANSPORT_KEY, 0, credRandom); + crypto_sha256_hmac_final(CRYPTO_TRANSPORT_KEY2, 0, credRandom); // Decrypt saltEnc crypto_aes256_init(shared_secret, NULL); @@ -605,7 +605,6 @@ int ctap_calculate_signature(uint8_t * data, int datalen, uint8_t * clientDataHa crypto_sha256_final(hashbuf); crypto_ecc256_sign(hashbuf, 32, sigbuf); - return ctap_encode_der_sig(sigbuf,sigder); } @@ -1056,7 +1055,7 @@ uint8_t ctap_end_get_assertion(CborEncoder * map, CTAP_credentialDescriptor * cr else #endif { - sigder_sz = ctap_calculate_signature(auth_data_buf, sizeof(CTAP_authDataHeader), clientDataHash, auth_data_buf, sigbuf, sigder); + sigder_sz = ctap_calculate_signature(auth_data_buf, auth_data_buf_sz, clientDataHash, auth_data_buf, sigbuf, sigder); } {