mirror of
https://github.com/trezor/trezor-firmware.git
synced 2025-06-25 09:22:33 +00:00
fix pbkdf2.key() method
This commit is contained in:
parent
446ea33dc1
commit
2bba78bf87
@ -87,12 +87,18 @@ STATIC mp_obj_t mod_TrezorCrypto_Pbkdf2_key(mp_obj_t self) {
|
|||||||
mp_obj_Pbkdf2_t *o = MP_OBJ_TO_PTR(self);
|
mp_obj_Pbkdf2_t *o = MP_OBJ_TO_PTR(self);
|
||||||
vstr_t vstr;
|
vstr_t vstr;
|
||||||
if (o->prf == 256) {
|
if (o->prf == 256) {
|
||||||
|
PBKDF2_HMAC_SHA256_CTX ctx;
|
||||||
|
memcpy(&ctx, &(o->ctx256), sizeof(PBKDF2_HMAC_SHA256_CTX));
|
||||||
vstr_init_len(&vstr, SHA256_DIGEST_LENGTH);
|
vstr_init_len(&vstr, SHA256_DIGEST_LENGTH);
|
||||||
memcpy(vstr.buf, o->ctx256.f, SHA256_DIGEST_LENGTH);
|
pbkdf2_hmac_sha256_Final(&ctx, (uint8_t *)vstr.buf);
|
||||||
|
memset(&ctx, 0, sizeof(PBKDF2_HMAC_SHA256_CTX));
|
||||||
}
|
}
|
||||||
if (o->prf == 512) {
|
if (o->prf == 512) {
|
||||||
|
PBKDF2_HMAC_SHA512_CTX ctx;
|
||||||
|
memcpy(&ctx, &(o->ctx512), sizeof(PBKDF2_HMAC_SHA512_CTX));
|
||||||
vstr_init_len(&vstr, SHA512_DIGEST_LENGTH);
|
vstr_init_len(&vstr, SHA512_DIGEST_LENGTH);
|
||||||
memcpy(vstr.buf, o->ctx512.f, SHA512_DIGEST_LENGTH);
|
pbkdf2_hmac_sha512_Final(&ctx, (uint8_t *)vstr.buf);
|
||||||
|
memset(&ctx, 0, sizeof(PBKDF2_HMAC_SHA512_CTX));
|
||||||
}
|
}
|
||||||
return mp_obj_new_str_from_vstr(&mp_type_bytes, &vstr);
|
return mp_obj_new_str_from_vstr(&mp_type_bytes, &vstr);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user