Message ID | 20200522141937.3523692-3-heiko@sntech.de |
---|---|
State | New |
Headers | show |
Series | [v5,1/8] lib: rsa: distinguish between tpl and spl for CONFIG_RSA_VERIFY | expand |
Am Freitag, 22. Mai 2020, 16:19:32 CEST schrieb Heiko Stuebner: > From: Heiko Stuebner <heiko.stuebner at theobroma-systems.com> > > 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 at theobroma-systems.com> transplanting a tag from v4: Reviewed-by: Philipp Tomsich <philipp.tomsich at theobroma-systems.com>
diff --git a/lib/rsa/rsa-keyprop.c b/lib/rsa/rsa-keyprop.c index 9464df0093..4b54db44c4 100644 --- a/lib/rsa/rsa-keyprop.c +++ b/lib/rsa/rsa-keyprop.c @@ -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) - 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 */ br_i32_decode(n, &rsa_key.n[i], rsa_key.n_sz - i);