g10: Allow receiving cleartext secret keys from agent
authorDaniel Kahn Gillmor <dkg@fifthhorseman.net>
Fri, 10 Jun 2016 20:15:35 +0000 (16:15 -0400)
committerWerner Koch <wk@gnupg.org>
Sat, 11 Jun 2016 09:16:19 +0000 (11:16 +0200)
commita3cb72af79ee645eda212f31ab0b266f2c3d9f29
treec2426332fc63d0138c8364f51d83ec8a06dc2ef0
parent7de74320767d15d915942a98ff47c00175a078ed
g10: Allow receiving cleartext secret keys from agent

* g10/export.c (match_curve_skey_pk): New function, testing whether an
OpenPGP public key and an S-expression use the same curve.
* g10/export.c (cleartext_secret_key_to_openpgp): New function,
filling in the secret key parameters of a PKT_public_key object from
a corresponding cleartext S-expression.
* g10/export.c, g10/main.h (receive_seckey_from_agent): Add cleartext
parameter, enabling retrieval of the secret key, unlocked.
* g10/export.c (do_export_stream): Send cleartext as 0, keeping current
behavior.
* g10/keygen.c (card_store_key_with_backup): Use cleartext=0 to ensure
that smartcard backups are all passphrase-locked.
--

This sets up internal functionality to be capable of exporting
cleartext secret keys, but does not change any existing behavior.

Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
g10/export.c
g10/keygen.c
g10/main.h