mirror of
git://git.gnupg.org/gnupg.git
synced 2025-04-13 22:21:09 +02:00
gpg: Switch to an EdDSA format with prefix byte.
* g10/keygen.c (gen_ecc): USe "comp" for EdDSA.
This commit is contained in:
parent
f2011e4622
commit
557cc11a60
26
g10/keygen.c
26
g10/keygen.c
@ -1526,12 +1526,23 @@ gen_ecc (int algo, const char *curve, kbnode_t pub_root,
|
|||||||
if (!curve || !*curve)
|
if (!curve || !*curve)
|
||||||
return gpg_error (GPG_ERR_UNKNOWN_CURVE);
|
return gpg_error (GPG_ERR_UNKNOWN_CURVE);
|
||||||
|
|
||||||
keyparms = xtryasprintf ("(genkey(ecc(curve %zu:%s)(flags nocomp%s%s)))",
|
/* Note that we use the "comp" flag with EdDSA to request the use of
|
||||||
strlen (curve), curve,
|
a 0x40 compression prefix octet. */
|
||||||
(((keygen_flags & KEYGEN_FLAG_TRANSIENT_KEY)
|
if (algo == PUBKEY_ALGO_EDDSA)
|
||||||
&& (keygen_flags & KEYGEN_FLAG_NO_PROTECTION))?
|
keyparms = xtryasprintf
|
||||||
" transient-key" : ""),
|
("(genkey(ecc(curve %zu:%s)(flags eddsa comp%s)))",
|
||||||
(!strcmp (curve, "Ed25519")? " eddsa":""));
|
strlen (curve), curve,
|
||||||
|
(((keygen_flags & KEYGEN_FLAG_TRANSIENT_KEY)
|
||||||
|
&& (keygen_flags & KEYGEN_FLAG_NO_PROTECTION))?
|
||||||
|
" transient-key" : ""));
|
||||||
|
else
|
||||||
|
keyparms = xtryasprintf
|
||||||
|
("(genkey(ecc(curve %zu:%s)(flags nocomp%s)))",
|
||||||
|
strlen (curve), curve,
|
||||||
|
(((keygen_flags & KEYGEN_FLAG_TRANSIENT_KEY)
|
||||||
|
&& (keygen_flags & KEYGEN_FLAG_NO_PROTECTION))?
|
||||||
|
" transient-key" : ""));
|
||||||
|
|
||||||
if (!keyparms)
|
if (!keyparms)
|
||||||
err = gpg_error_from_syserror ();
|
err = gpg_error_from_syserror ();
|
||||||
else
|
else
|
||||||
@ -3448,9 +3459,8 @@ quickgen_set_para (struct para_data_s *para, int for_subkey,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Unattended generaion of a standard key.
|
* Unattended generation of a standard key.
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
quick_generate_keypair (const char *uid)
|
quick_generate_keypair (const char *uid)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user