mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-30 23:53:32 +01:00
Restore the operation of extra_strong in ed25519_secret_key_generate
This commit is contained in:
parent
006e6d3b6f
commit
22760c4899
@ -21,10 +21,15 @@ int
|
|||||||
ed25519_secret_key_generate(ed25519_secret_key_t *seckey_out,
|
ed25519_secret_key_generate(ed25519_secret_key_t *seckey_out,
|
||||||
int extra_strong)
|
int extra_strong)
|
||||||
{
|
{
|
||||||
(void) extra_strong;
|
int r;
|
||||||
if (ed25519_ref10_seckey(seckey_out->seckey) < 0)
|
uint8_t seed[32];
|
||||||
return -1;
|
if (! extra_strong || crypto_strongest_rand(seed, sizeof(seed)) < 0)
|
||||||
return 0;
|
crypto_rand((char*)seed, sizeof(seed));
|
||||||
|
|
||||||
|
r = ed25519_ref10_seckey_expand(seckey_out->seckey, seed);
|
||||||
|
memwipe(seed, 0, sizeof(seed));
|
||||||
|
|
||||||
|
return r < 0 ? -1 : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
@ -51,10 +56,10 @@ ed25519_public_key_generate(ed25519_public_key_t *pubkey_out,
|
|||||||
int
|
int
|
||||||
ed25519_keypair_generate(ed25519_keypair_t *keypair_out, int extra_strong)
|
ed25519_keypair_generate(ed25519_keypair_t *keypair_out, int extra_strong)
|
||||||
{
|
{
|
||||||
(void) extra_strong;
|
if (ed25519_secret_key_generate(&keypair_out->seckey, extra_strong) < 0)
|
||||||
|
return -1;
|
||||||
if (ed25519_ref10_keygen(keypair_out->pubkey.pubkey,
|
if (ed25519_public_key_generate(&keypair_out->pubkey,
|
||||||
keypair_out->seckey.seckey)<0)
|
&keypair_out->seckey)<0)
|
||||||
return -1;
|
return -1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user