example: local signatures
authorBen McGinnes <ben@adversary.org>
Thu, 27 Sep 2018 13:23:37 +0000 (23:23 +1000)
committerBen McGinnes <ben@adversary.org>
Thu, 27 Sep 2018 13:23:37 +0000 (23:23 +1000)
* lang/python/examples/howto/local-sign-group.py: added the bit where
  specifying the signing key is actually used for signing rather than
  just pruning the list of keys to certify.

Signed-off-by: Ben McGinnes <ben@adversary.org>
lang/python/examples/howto/local-sign-group.py

index 812042d..0353646 100755 (executable)
@@ -115,12 +115,32 @@ for i in range(len(lines)):
 defkey_fpr = dline.split(":")[-1].replace('"', '').split(',')[0].upper()
 enckey_fpr = eline.split(":")[-1].replace('"', '').split(',')[0].upper()
 
+try:
+    dkey = c.keylist(pattern=defkey_fpr, secret=True)
+    dk = list(dkey)
+except Exception as de:
+    print(de)
+    dk = None
+    print("No valid default key.")
+
+try:
+    ekey = c.keylist(pattern=defkey_fpr, secret=True)
+    ek = list(ekey)
+except Exception as ee:
+    print(ee)
+    ek = None
+    print("No valid always encrypt to key.")
+
 if sigkey is not None:
-    mykey = c.keylist(pattern=sigkey)
+    mykey = c.keylist(pattern=sigkey, secret=True)
     mk = list(mykey)
     mkfpr = mk[0].fpr.upper()
+    c.signers = mk
 else:
-    pass
+    if dk is None and ek is not None:
+        c.signers = ek
+    else:
+        pass
 
 for group in group_lists:
     if group[0] == clique: