GNOME Bugzilla – Bug 672144
Add core ECDSA PKCS#11 mechanisms and functionality
Last modified: 2021-06-18 10:40:17 UTC
The ssh-agent uses PKCS#11 to do its signing and handling of keys. The pkcs11/gkm/ code needs to have support for ECDSA added so that we can support it in the ssh-agent (the part that talks with clients) and ssh-store (the part that loads up ~/.ssh/). * Add support for converting ECDSA private keys to public in: - gkm_sexp_key_to_public() * Add tests for converting ECDSA private keys to public. * Add gkm-ecdsa-mechanism.[ch] similar to gkm-dsa-mechanism.[ch]. - This includes the actual calls to libgcrypt to do the ECDSA signing and/or verify. * Implement returning the appropriate PKCS#11 attributes for ECDSA from the public and private key objects. At least the following functions need to be modified: - gkm_sexp_key_real_get_attribute() - gkm_public_xsa_key_real_get_attribute() - gkm_public_xsa_key_create_sexp() - gkm_private_xsa_key_real_get_attribute() - gkm_private_xsa_key_create_sexp() * Update gkm-module.c mechanism_list struct with information about the ECDSA mechanisms we support. * In gkm-data-der.[ch] add support for parsing private DER ECDSA keys, and public ECDSA keys as found in certificates. - This is used by the ssh-store to parse private keys from disk as well. - Add tests for parsing these private keys and certificates. * Add ECDSA to the appropriate switch statements and mappings in gkm-crypto.c. - These are used to call into gkm-ecdsa-mechanism.c functions
GNOME is going to shut down bugzilla.gnome.org in favor of gitlab.gnome.org. As part of that, we are mass-closing older open tickets in bugzilla.gnome.org which have not seen updates for a longer time (resources are unfortunately quite limited so not every ticket can get handled). If you can still reproduce the situation described in this ticket in a recent and supported software version, then please follow https://wiki.gnome.org/GettingInTouch/BugReportingGuidelines and create a new ticket at https://gitlab.gnome.org/GNOME/gnome-keyring/-/issues/ Thank you for your understanding and your help.