Diffusion GnuPG d93797c8a789

ssh: Simplify the curve name lookup.

Authored by werner on Jan 17 2019, 3:42 PM.

Description

ssh: Simplify the curve name lookup.

* agent/command-ssh.c (struct ssh_key_type_spec): Add field
alt_curve_name.
(ssh_key_types): Add some alternate curve names.
(ssh_identifier_from_curve_name): Lookup also bey alternative names
and return the canonical name.
(ssh_key_to_blob): Simplify the ECDSA case by using gcry_pk_get_curve
instead of the explicit mapping.
(ssh_receive_key): Likewise.  Use ssh_identifier_from_curve_name to
validate the curve name.  Remove the reverse mapping because since
GnuPG-2.2 Libgcrypt 1.7 is required.
(ssh_handler_request_identities): Log an error message.

This change will make it easier to support other curves, in particular
those from tokens. Libgcrypt has a large list of alias names which we
now use to to make the mapping more flexible.

  • Signed-off-by: Werner Koch <wk@gnupg.org>

Details

Committed
wernerJan 17 2019, 3:58 PM
Parents
rGdafffa95b231: gpg: Report STATUS_NO_SECKEY when it is examined.
Branches
Unknown
Tags
Unknown