mirror of
https://xff.cz/git/u-boot/
synced 2025-09-01 16:52:14 +02:00
lib: rsa: bring exp_len in line when generating a key_prop
The exponent field of struct key_prop gets allocated an uint64_t, and the contents are positioned from the back, so an exponent of "0x01 0x00 0x01" becomes 0x0 0x0 0x0 0x0 0x0 0x1 0x0 0x1" Right now rsa_gen_key_prop() allocates a uint64_t but sets exp_len to the size returned from the parser, while on the other hand the when getting the key from the devicetree exp_len always gets set to sizeof(uint64_t). So bring that in line with the established code. Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
@@ -691,7 +691,7 @@ int rsa_gen_key_prop(const void *key, uint32_t keylen, struct key_prop **prop)
|
|||||||
memcpy((void *)(*prop)->public_exponent + sizeof(uint64_t)
|
memcpy((void *)(*prop)->public_exponent + sizeof(uint64_t)
|
||||||
- rsa_key.e_sz,
|
- rsa_key.e_sz,
|
||||||
rsa_key.e, rsa_key.e_sz);
|
rsa_key.e, rsa_key.e_sz);
|
||||||
(*prop)->exp_len = rsa_key.e_sz;
|
(*prop)->exp_len = sizeof(uint64_t);
|
||||||
|
|
||||||
/* n0 inverse */
|
/* n0 inverse */
|
||||||
br_i32_decode(n, &rsa_key.n[i], rsa_key.n_sz - i);
|
br_i32_decode(n, &rsa_key.n[i], rsa_key.n_sz - i);
|
||||||
|
Reference in New Issue
Block a user