mirror of https://github.com/nucypher/nucypher.git
Check for InvalidSignature in network.server and characters when calling
verify_frompull/360/head
parent
52abfb7e8b
commit
e313fb6c15
|
@ -863,7 +863,6 @@ class Bob(Character):
|
||||||
|
|
||||||
def join_policy(self, label, alice_pubkey_sig,
|
def join_policy(self, label, alice_pubkey_sig,
|
||||||
node_list=None, verify_sig=True):
|
node_list=None, verify_sig=True):
|
||||||
hrac = keccak_digest(bytes(alice_pubkey_sig) + bytes(self.stamp) + label)
|
|
||||||
if node_list:
|
if node_list:
|
||||||
self._node_ids_to_learn_about_immediately.update(node_list)
|
self._node_ids_to_learn_about_immediately.update(node_list)
|
||||||
treasure_map = self.get_treasure_map(alice_pubkey_sig, label)
|
treasure_map = self.get_treasure_map(alice_pubkey_sig, label)
|
||||||
|
@ -887,15 +886,15 @@ class Bob(Character):
|
||||||
cfrags = self.get_reencrypted_cfrags(work_order)
|
cfrags = self.get_reencrypted_cfrags(work_order)
|
||||||
message_kit.capsule.attach_cfrag(cfrags[0])
|
message_kit.capsule.attach_cfrag(cfrags[0])
|
||||||
|
|
||||||
verified, delivered_cleartext = self.verify_from(data_source,
|
try:
|
||||||
message_kit,
|
delivered_cleartext = self.verify_from(data_source,
|
||||||
decrypt=True,
|
message_kit,
|
||||||
delegator_signing_key=alice_verifying_key)
|
decrypt=True,
|
||||||
|
delegator_signing_key=alice_verifying_key)
|
||||||
if verified:
|
except self.InvalidSignature as e:
|
||||||
cleartexts.append(delivered_cleartext)
|
raise RuntimeError(e)
|
||||||
else:
|
else:
|
||||||
raise RuntimeError("Not verified - replace this with real message.") # TODO: Actually raise an error in verify_from instead of here 358
|
cleartexts.append(delivered_cleartext)
|
||||||
return cleartexts
|
return cleartexts
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -226,11 +226,12 @@ class ProxyRESTServer:
|
||||||
|
|
||||||
alice = self._alice_class.from_public_keys({SigningPower: policy_message_kit.sender_pubkey_sig})
|
alice = self._alice_class.from_public_keys({SigningPower: policy_message_kit.sender_pubkey_sig})
|
||||||
|
|
||||||
verified, cleartext = self.verify_from(alice, policy_message_kit, decrypt=True)
|
try:
|
||||||
|
verified, cleartext = self.verify_from(alice, policy_message_kit, decrypt=True)
|
||||||
if not verified:
|
except self.InvalidSignature:
|
||||||
# TODO: What do we do if the Policy isn't signed properly?
|
# TODO: What do we do if the Policy isn't signed properly?
|
||||||
pass
|
pass
|
||||||
|
|
||||||
#
|
#
|
||||||
# alices_signature, policy_payload =BytestringSplitter(Signature)(cleartext, return_remainder=True)
|
# alices_signature, policy_payload =BytestringSplitter(Signature)(cleartext, return_remainder=True)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue