aboutsummaryrefslogtreecommitdiffstats
path: root/src/gpgme-tool.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2015-08-24 10:41:24 +0000
committerWerner Koch <[email protected]>2015-08-24 10:41:24 +0000
commit2b632bbb78eee2b94c122f66d171a7c80e9c4fb0 (patch)
tree5e49878e39a7f63eb9d311752e52c32ecc4ee091 /src/gpgme-tool.c
parentParse INQUIRE_MAXLEN in the passphrase callback. (diff)
downloadgpgme-2b632bbb78eee2b94c122f66d171a7c80e9c4fb0.tar.gz
gpgme-2b632bbb78eee2b94c122f66d171a7c80e9c4fb0.zip
Add an export secret key feature.
* src/gpgme.h.in (GPGME_EXPORT_MODE_SECRET): New. (GPGME_EXPORT_MODE_RAW): New. (GPGME_EXPORT_MODE_PKCS12): New. * src/export.c (export_start, export_ext_start): Allow new flags. * src/engine-gpg.c (export_common): Support secret key export. * src/engine-gpgsm.c (gpgsm_export, gpgsm_export_ext): Ditto. * src/gpgme-tool.c (cmd_export): Add options --secret, --raw, and --pkcs12. * tests/run-export.c (main): Likewise. -- Note that exporting secret X.509 keys requires GnuPG 2.1.8. Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'src/gpgme-tool.c')
-rw-r--r--src/gpgme-tool.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/gpgme-tool.c b/src/gpgme-tool.c
index 94d11248..e5e57073 100644
--- a/src/gpgme-tool.c
+++ b/src/gpgme-tool.c
@@ -3054,7 +3054,7 @@ cmd_import (assuan_context_t ctx, char *line)
static const char hlp_export[] =
- "EXPORT [--extern] [--minimal] [<pattern>]\n"
+ "EXPORT [--extern] [--minimal] [--secret [--pkcs12] [--raw]] [<pattern>]\n"
"\n"
"Export the keys described by PATTERN. Write the\n"
"the output to the object set by the last OUTPUT command.";
@@ -3082,6 +3082,12 @@ cmd_export (assuan_context_t ctx, char *line)
mode |= GPGME_EXPORT_MODE_EXTERN;
if (has_option (line, "--minimal"))
mode |= GPGME_EXPORT_MODE_MINIMAL;
+ if (has_option (line, "--secret"))
+ mode |= GPGME_EXPORT_MODE_SECRET;
+ if (has_option (line, "--raw"))
+ mode |= GPGME_EXPORT_MODE_RAW;
+ if (has_option (line, "--pkcs12"))
+ mode |= GPGME_EXPORT_MODE_PKCS12;
line = skip_options (line);