From 898a7a303c85dde1c725abc92f5ce8764de17b5a Mon Sep 17 00:00:00 2001 From: Conor Patrick Date: Sun, 28 Oct 2018 22:14:36 -0400 Subject: [PATCH] add aes in keygen --- fido2/ctap.c | 5 ++--- targets/stm32l442/src/crypto.c | 3 +++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/fido2/ctap.c b/fido2/ctap.c index ba641e5..d5deb3e 100644 --- a/fido2/ctap.c +++ b/fido2/ctap.c @@ -354,7 +354,7 @@ static int ctap_make_auth_data(struct rpId * rp, CborEncoder * map, uint8_t * au ctap_generate_rng(authData->attest.credential.nonce, CREDENTIAL_NONCE_SIZE); - memmove(&authData->attest.credential.enc.user, user, sizeof(CTAP_userEntity)); //TODO encrypt this + memmove(&authData->attest.credential.enc.user, user, sizeof(CTAP_userEntity)); authData->attest.credential.enc.count = count; // Make a tag we can later check to make sure this is a token we made @@ -1550,7 +1550,6 @@ int8_t ctap_store_key(uint8_t index, uint8_t * key, uint16_t len) memmove(STATE.key_space + offset, key, len); - ctap_flush_state(0); ctap_flush_state(1); return 0; @@ -1602,5 +1601,5 @@ void ctap_reset() memset(PIN_CODE_HASH,0,sizeof(PIN_CODE_HASH)); crypto_ecc256_make_key_pair(KEY_AGREEMENT_PUB, KEY_AGREEMENT_PRIV); - crypto_reset_master_secret(); // Not sure what the significance of this is?? + crypto_reset_master_secret(); } diff --git a/targets/stm32l442/src/crypto.c b/targets/stm32l442/src/crypto.c index 834040a..c2562a7 100644 --- a/targets/stm32l442/src/crypto.c +++ b/targets/stm32l442/src/crypto.c @@ -233,6 +233,9 @@ void generate_private_key(uint8_t * data, int len, uint8_t * data2, int len2, ui crypto_sha256_update(data2, len2); crypto_sha256_update(master_secret, 32); // TODO AES crypto_sha256_hmac_final(CRYPTO_MASTER_KEY, 0, privkey); + + crypto_aes256_init(master_secret + 32, NULL); + crypto_aes256_encrypt(privkey, 32); }