]> git.ipfire.org Git - pakfire.git/commitdiff
Add option to export secret keys.
authorMichael Tremer <michael.tremer@ipfire.org>
Sat, 30 Jun 2012 10:20:41 +0000 (12:20 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Sat, 30 Jun 2012 10:20:41 +0000 (12:20 +0200)
python/pakfire/api.py
python/pakfire/cli.py
python/pakfire/keyring.py

index 5203c5fdbd95b6b23b2fc335cf8015b29d8c9d2c..372e4d544067be0d8e9ef57e259796868ef18a3e 100644 (file)
@@ -145,10 +145,10 @@ def key_import(keyfile, **pakfire_args):
 
        return pakfire.keyring.import_key(keyfile)
 
-def key_export(keyid, keyfile, **pakfire_args):
+def key_export(keyid, keyfile, secret=False, **pakfire_args):
        pakfire = Pakfire(**pakfire_args)
 
-       return pakfire.keyring.export_key(keyid, keyfile)
+       return pakfire.keyring.export_key(keyid, keyfile, secret=secret)
 
 def key_delete(keyid, **pakfire_args):
        pakfire = Pakfire(**pakfire_args)
index 05a8c6edf919c9c3f31d32fe3a3562bdcf60a68a..a808975d577f0fab6aa552cb800555d925c07b46 100644 (file)
@@ -1220,6 +1220,8 @@ class CliKey(Cli):
                        help=_("The ID of the key to export."))
                sub_export.add_argument("filename", nargs=1,
                        help=_("Write the key to this file."))
+               sub_export.add_argument("--secret", action="store_true",
+                       help=_("Export the secret key, too."))
                sub_export.add_argument("action", action="store_const", const="export")
 
        def parse_command_delete(self):
@@ -1275,8 +1277,9 @@ class CliKey(Cli):
        def handle_export(self):
                keyid    = self.args.keyid[0]
                filename = self.args.filename[0]
+               secret   = self.args.secret
 
-               pakfire.key_export(keyid, filename, **self.pakfire_args)
+               pakfire.key_export(keyid, filename, secret=secret, **self.pakfire_args)
 
        def handle_delete(self):
                keyid = self.args.keyid[0]
index 8fe052e9b203f6d0ae00bbafc1a3dd7efc7e6dfa..d1f46261e1816c61b5709e7238d15849bc384241 100644 (file)
@@ -168,9 +168,9 @@ class Keyring(object):
 
                log.info(_("Successfully imported %s.") % keyfile)
 
-       def export_key(self, keyid, keyfile):
+       def export_key(self, keyid, keyfile, secret=False):
                keydata = io.BytesIO()
-               self.ctx.export(keyid, keydata)
+               self.ctx.export(keyid, keydata, secret)
 
                f = open(keyfile, "wb")
                f.write(keydata.getvalue())