[git] GPGME - branch, master, updated. gpgme-1.12.0-109-g3849b60

by Ben McGinnes cvs at cvs.gnupg.org
Wed Dec 12 18:58:16 CET 2018


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GnuPG Made Easy".

The branch, master has been updated
       via  3849b60e22432ef33f0d1d39b88e07922ad7779e (commit)
      from  3ca7cf07f5d3ec4af89e69ed13ea7ab701e33c03 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 3849b60e22432ef33f0d1d39b88e07922ad7779e
Author: Ben McGinnes <ben at adversary.org>
Date:   Thu Dec 13 04:54:51 2018 +1100

    python: new example script
    
    * Though Keybase really should not be encouraged due to
      disengenuosness and FUD emanating from that souce, this new script
      will obtain a key hosted on that site and import it when supplied
      with the keybase username.
    
    Tested-by: Ben McGinnes <ben at adversary.org>
    Signed-off-by: Ben McGinnes <ben at adversary.org>

diff --git a/lang/python/examples/howto/import-keybasekey.py b/lang/python/examples/howto/import-keybasekey.py
new file mode 100755
index 0000000..32900b7
--- /dev/null
+++ b/lang/python/examples/howto/import-keybasekey.py
@@ -0,0 +1,80 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+
+from __future__ import absolute_import, division, unicode_literals
+
+import gpg
+import requests
+import sys
+
+# Copyright (C) 2018 Ben McGinnes <ben at gnupg.org>
+#
+# This program is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# This program is free software; you can redistribute it and/or modify it under
+# the terms of the GNU Lesser General Public License as published by the Free
+# Software Foundation; either version 2.1 of the License, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE.  See the GNU General Public License and the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License and the GNU
+# Lesser General Public along with this program; if not, see
+# <https://www.gnu.org/licenses/>.
+
+print("""
+This script imports one or more public keys from keybase.io with the username
+of a keybase.io user.
+
+Multiple usernames may be provided, separated by spaces.
+""")
+
+c = gpg.Context()
+# https://keybase.io/<user>/pgp_keys.asc
+results = []
+
+if len(sys.argv) >= 2:
+    keys = sys.argv[1:]
+else:
+    keys = input("Enter the username(s) to get keys for: ")
+
+for key in keys:
+    r = requests.get("https://keybase.io/{0}/pgp_keys.asc".format(key))
+    import_result = c.key_import(r.content)
+    results.append(import_result)
+
+for result in results:
+    if result is not None and hasattr(result, "considered") is False:
+        print(result)
+    elif result is not None and hasattr(result, "considered") is True:
+        num_keys = len(result.imports)
+        new_revs = result.new_revocations
+        new_sigs = result.new_signatures
+        new_subs = result.new_sub_keys
+        new_uids = result.new_user_ids
+        new_scrt = result.secret_imported
+        nochange = result.unchanged
+        print("""
+The total number of keys considered for import was:  {0}
+
+   Number of keys revoked:  {1}
+ Number of new signatures:  {2}
+    Number of new subkeys:  {3}
+   Number of new user IDs:  {4}
+Number of new secret keys:  {5}
+ Number of unchanged keys:  {6}
+
+The key IDs for all considered keys were:
+""".format(num_keys, new_revs, new_sigs, new_subs, new_uids, new_scrt,
+           nochange))
+        for i in range(num_keys):
+            print(result.imports[i].fpr)
+        print("")
+    else:
+        print("No keys were imported or found.")

-----------------------------------------------------------------------

Summary of changes:
 .../howto/{import-keys.py => import-keybasekey.py} | 56 +++++++++++++---------
 1 file changed, 33 insertions(+), 23 deletions(-)
 copy lang/python/examples/howto/{import-keys.py => import-keybasekey.py} (58%)


hooks/post-receive
-- 
GnuPG Made Easy
http://git.gnupg.org




More information about the Gnupg-commits mailing list