diff options
author | NIIBE Yutaka <[email protected]> | 2016-08-09 02:42:20 +0000 |
---|---|---|
committer | NIIBE Yutaka <[email protected]> | 2016-08-09 02:42:20 +0000 |
commit | ebf24e3b29766595204355d82f435a3e675bfbbc (patch) | |
tree | ca74a0e19ae9c8c31c7cd2f29091373367520363 | |
parent | gpg: Cleanup of dek_to_passphrase function (part 2). (diff) | |
download | gnupg-ebf24e3b29766595204355d82f435a3e675bfbbc.tar.gz gnupg-ebf24e3b29766595204355d82f435a3e675bfbbc.zip |
agent: SSH support improvement.
* agent/command-ssh.c (ssh_handler_request_identities): Skip a key with
error, not giving up to handle the request itself.
* agent/cvt-openpgp.c (extract_private_key): Support "ecdsa" key.
--
Note that "ecdsa" key is still in use by old versions of gpg-agent
through its SSH handling (until 2.1.14). With old versions of
gpg-agent, adding ECDSA key by ssh-add command, "ecdsa" key will be
created. So, "ecdsa" key should be supported.
For g10/gpg, "ecdsa" and "ecdh" was only used in some experimental
versions of libgcrypt, with parameters. We now use "ecc" for all cases
in released versions.
Signed-off-by: NIIBE Yutaka <[email protected]>
-rw-r--r-- | agent/command-ssh.c | 2 | ||||
-rw-r--r-- | agent/cvt-openpgp.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/agent/command-ssh.c b/agent/command-ssh.c index df38ad6d8..b01cc067f 100644 --- a/agent/command-ssh.c +++ b/agent/command-ssh.c @@ -2618,7 +2618,7 @@ ssh_handler_request_identities (ctrl_t ctrl, if (err) { log_error ("failed to read the public key\n"); - goto out; + continue; } err = ssh_send_key_public (key_blobs, key_public, NULL); diff --git a/agent/cvt-openpgp.c b/agent/cvt-openpgp.c index 40d9a3e06..eb420b061 100644 --- a/agent/cvt-openpgp.c +++ b/agent/cvt-openpgp.c @@ -1271,7 +1271,7 @@ extract_private_key (gcry_sexp_t s_key, int req_private_key_data, array+0, array+1, array+2, array+3, array+4, NULL); } - else if (!strcmp (name, "ecc")) + else if (!strcmp (name, "ecc") || !strcmp (name, "ecdsa")) { algoname = "ecc"; format = "qd?"; |