diff options
author | Werner Koch <[email protected]> | 2017-09-11 09:29:13 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2017-09-11 09:29:13 +0000 |
commit | 7089dcc54099a4909ce7d386c07ab87e1398e2eb (patch) | |
tree | 483740105bddfaa3f2ce116b2c4e8bea13c7d9c6 | |
parent | Post release updates (diff) | |
download | gnupg-7089dcc54099a4909ce7d386c07ab87e1398e2eb.tar.gz gnupg-7089dcc54099a4909ce7d386c07ab87e1398e2eb.zip |
gpg: Fix key generation with only an email part.
* g10/keygen.c (proc_parameter_file): Special case the email only
case.
--
Using a parameter file like
%ask-passphrase
key-type: RSA
key-length: 2048
key-usage: sign
subkey-type: RSA
subkey-length: 2048
subkey-usage: encrypt
name-email: [email protected]
with "gpg --gen-key --patch" the result was this key
pub rsa2048 2017-09-11 [SC]
63A8C1BA12CC289A0E8072C971C7F8D4A18CE0BE
uid [ultimate] <[email protected]>
sub rsa2048 2017-09-11 [E]
At least the the extra leading space the left angle bracket is wrong.
Further some mail providers reject keys which consist of more than
just a plain mail address. Using just a mail address is anyway the
new new suggested content for a user id. With this patch the key
will be
pub rsa2048 2017-09-11 [SC]
B302343C20EA6DECDB6A155135352F2520397080
uid [ultimate] [email protected]
sub rsa2048 2017-09-11 [E]
Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to '')
-rw-r--r-- | g10/keygen.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/g10/keygen.c b/g10/keygen.c index 6a3d32345..08bc62131 100644 --- a/g10/keygen.c +++ b/g10/keygen.c @@ -3530,7 +3530,14 @@ proc_parameter_file (ctrl_t ctrl, struct para_data_s *para, const char *fname, if( s2 ) p = stpcpy(stpcpy(stpcpy(p," ("), s2 ),")"); if( s3 ) - p = stpcpy(stpcpy(stpcpy(p," <"), s3 ),">"); + { + /* If we have only the email part, do not add the space + * and the angle brackets. */ + if (*p) + p = stpcpy(stpcpy(stpcpy(p," <"), s3 ),">"); + else + p = stpcpy (p, s3); + } append_to_parameter (para, r); have_user_id=1; } |