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,
|
||||
int extra_strong)
|
||||
{
|
||||
(void) extra_strong;
|
||||
if (ed25519_ref10_seckey(seckey_out->seckey) < 0)
|
||||
return -1;
|
||||
return 0;
|
||||
int r;
|
||||
uint8_t seed[32];
|
||||
if (! extra_strong || crypto_strongest_rand(seed, sizeof(seed)) < 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
|
||||
@ -51,10 +56,10 @@ ed25519_public_key_generate(ed25519_public_key_t *pubkey_out,
|
||||
int
|
||||
ed25519_keypair_generate(ed25519_keypair_t *keypair_out, int extra_strong)
|
||||
{
|
||||
(void) extra_strong;
|
||||
|
||||
if (ed25519_ref10_keygen(keypair_out->pubkey.pubkey,
|
||||
keypair_out->seckey.seckey)<0)
|
||||
if (ed25519_secret_key_generate(&keypair_out->seckey, extra_strong) < 0)
|
||||
return -1;
|
||||
if (ed25519_public_key_generate(&keypair_out->pubkey,
|
||||
&keypair_out->seckey)<0)
|
||||
return -1;
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user