python: key import via HKP example
* Fixed the logic used to search for any given pattern. * Added a sensible method of checking whether a pattern is a key ID or fingerprint. Tested-by: Ben McGinnes <ben@adversary.org> Signed-off-by: Ben McGinnes <ben@adversary.org>
This commit is contained in:
parent
7c63bfe4ab
commit
fe7e01d164
@ -35,6 +35,7 @@ This script imports one or more public keys from the SKS keyservers.
|
||||
c = gpg.Context()
|
||||
server = hkp4py.KeyServer("hkps://hkps.pool.sks-keyservers.net")
|
||||
results = []
|
||||
keys = []
|
||||
|
||||
if len(sys.argv) > 2:
|
||||
pattern = " ".join(sys.argv[1:])
|
||||
@ -43,23 +44,20 @@ elif len(sys.argv) == 2:
|
||||
else:
|
||||
pattern = input("Enter the pattern to search for keys or user IDs: ")
|
||||
|
||||
try:
|
||||
keys = server.search(pattern)
|
||||
if keys is not None:
|
||||
print("Found {0} key(s).".format(len(keys)))
|
||||
else:
|
||||
pass
|
||||
except Exception as e:
|
||||
keys = []
|
||||
if pattern is not None:
|
||||
try:
|
||||
key = server.search(hex(int(pattern, 16)))
|
||||
except ValueError as e:
|
||||
key = server.search(pattern)
|
||||
keys.append(key[0])
|
||||
for logrus in pattern.split():
|
||||
if logrus.startswith("0x") is True:
|
||||
try:
|
||||
key = server.search(hex(int(logrus, 16)))
|
||||
except ValueErrer as ve:
|
||||
key = server.search(logrus)
|
||||
else:
|
||||
key = server.search("0x{0}".format(logrus))
|
||||
keys.append(key[0])
|
||||
print("Found {0} key(s).".format(len(keys)))
|
||||
|
||||
if keys is not None:
|
||||
if len(keys) > 0:
|
||||
for key in keys:
|
||||
import_result = c.key_import(key.key_blob)
|
||||
results.append(import_result)
|
||||
|
Loading…
Reference in New Issue
Block a user