[git] GPGME - branch, master, updated. gpgme-1.12.0-129-g302d5ef

by Ben McGinnes cvs at cvs.gnupg.org
Sun Feb 10 20:39:04 CET 2019


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  302d5ef52e095378231efd54677b5c315354ad78 (commit)
      from  e005052f4d5b29beda2252f8042dbf5728f5e2aa (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 302d5ef52e095378231efd54677b5c315354ad78
Author: Ben McGinnes <ben at adversary.org>
Date:   Mon Feb 11 06:34:40 2019 +1100

    python: examples
    
    * A rather obvious variant of the existing key import examples, except
      directed at Mailvelope's keyserver.
    * Yeah, Werner, I know ... but it exists because I used it and there's
      no harm in sharing.
    
    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-mailvelope-keys.py b/lang/python/examples/howto/import-mailvelope-keys.py
new file mode 100755
index 0000000..42a561d
--- /dev/null
+++ b/lang/python/examples/howto/import-mailvelope-keys.py
@@ -0,0 +1,131 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+
+from __future__ import absolute_import, division, unicode_literals
+
+import gpg
+import hkp4py
+import sys
+
+# Copyright (C) 2019 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 the Mailvelope keyserver.
+""")
+
+c = gpg.Context()
+server = hkp4py.KeyServer("hkps://keys.mailvelope.com")
+results = []
+keys = []
+
+if len(sys.argv) > 2:
+    pattern = " ".join(sys.argv[1:])
+elif len(sys.argv) == 2:
+    pattern = sys.argv[1]
+else:
+    pattern = input("Enter the pattern to search for keys or user IDs: ")
+
+
+if pattern is not None:
+    try:
+        key = server.search(hex(int(pattern, 16)))
+        keyed = True
+    except ValueError as ve:
+        key = server.search(pattern)
+        keyed = False
+
+    if key is not None:
+        keys.append(key[0])
+        if keyed is True:
+            try:
+                fob = server.search(pattern)
+            except Exception as e:
+                fob = None
+            if fob is not None:
+                keys.append(fob[0])
+            else:
+                pass
+        else:
+            pass
+
+    for logrus in pattern.split():
+        if logrus != pattern:
+            try:
+                key = server.search(hex(int(logrus, 16)))
+                hexed = True
+            except ValueError as ve:
+                key = server.search(logrus)
+                hexed = False
+
+            if key is not None:
+                keys.append(key[0])
+                if hexed is True:
+                    try:
+                        fob = server.search(logrus)
+                    except Exception as e:
+                        fob = None
+                    if fob is not None:
+                        keys.append(fob[0])
+                    else:
+                        pass
+                else:
+                    pass
+            else:
+                pass
+        else:
+            pass
+
+
+if len(keys) > 0:
+    for key in keys:
+        import_result = c.key_import(key.key_blob)
+        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-hkp.py => import-mailvelope-keys.py}         | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
 copy lang/python/examples/howto/{import-keys-hkp.py => import-mailvelope-keys.py} (95%)


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




More information about the Gnupg-commits mailing list