示例#1
0
文件: sign.py 项目: nandub/pygale
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))
示例#2
0
文件: sign.py 项目: nandub/pygale
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