def decode_sig3(key, sigdata, msg_data, callback): if DEBUG > 2: print 'decode_sig3: key', key.name() if key.public() is not None: # We found it on disk; see if it verifies if verify_sig(key, sigdata, msg_data): if DEBUG > 2: print 'decode_sig3: verifies OK' key.set_verified(1) authcache.add_to_memory_cache(key) callback(key) return # Otherwise, we can't find it (or it doesn't verify the puff) # Try (gasp) AKD if DEBUG: print 'decode_sig3: uh oh, we have to do AKD on', key.name() authcache.find_pubkey_akd(key, lambda key, d=sigdata, m=msg_data, c=callback: decode_sig4(key, d, m, c))
def decode_done(key, upper_key, callback): if not key.verified(): if DEBUG > 2: print 'decode_done: cannot use %s to verify %s' %\ (key.name(), upper_key.name()) pygale.call_error_handler('unable to verify signature %s' % key.name()) callback(key) return if DEBUG > 1: print 'decode_done: key %s verified key %s' % (key.name(), upper_key.name()) upper_key.set_verified(1) if DEBUG > 2: print 'decode_done: adding %s to memory cache' %\ upper_key.name() authcache.add_to_memory_cache(upper_key) callback(upper_key) return