From f0fe1012b97f36122498d3406eb30de65b218a2e Mon Sep 17 00:00:00 2001 From: jMyles Date: Thu, 14 Dec 2017 21:19:23 -0800 Subject: [PATCH] Massive redlining of PolicyGroup. --- nkms/policy/models.py | 56 ------------------------------------------- 1 file changed, 56 deletions(-) diff --git a/nkms/policy/models.py b/nkms/policy/models.py index 5c78dde0b..f12d8d045 100644 --- a/nkms/policy/models.py +++ b/nkms/policy/models.py @@ -115,62 +115,6 @@ class PolicyManagerForAlice(PolicyManager): return policy -class PolicyGroup(object): - """ - The terms and conditions by which Alice shares with Bob. - """ - - _id = None - - def __init__(self, uri: bytes, alice: Alice, bob: Bob, policies=None) -> None: - self.policies = policies or [] - self.alice = alice - self.bob = bob - self.uri = uri - - - @staticmethod - def hash(message): - return keccak_digest(message) - - # TODO: This is a stand-in; remove it. - @property - def pfrag(self): - return self.policies[0].pfrag - - def treasure_map_dht_key(self): - """ - We need a key that Bob can glean from knowledge he already has *and* which Ursula can verify came from us. - Ursula will refuse to propagate this key if it she can't prove that our public key, which is included in it, - was used to sign the payload. - - Our public key (which everybody knows) and the hrac above. - """ - return self.hash(bytes(self.alice.seal) + self.hrac()) - - @property - def id(self): - if not self._id: - self._id = api.keccak_digest(bytes(self.alice.seal), api.keccak_digest(self.uri)) - return self._id - - def publish_treasure_map(self): - encrypted_treasure_map, signature_for_bob = self.alice.encrypt_for(self.bob, - self.treasure_map.packed_payload()) - signature_for_ursula = self.alice.seal(self.hrac()) # TODO: Great use-case for Ciphertext class - - # In order to know this is safe to propagate, Ursula needs to see a signature, our public key, - # and, reasons explained in treasure_map_dht_key above, the uri_hash. - dht_value = signature_for_ursula + self.alice.seal + self.hrac() + msgpack.dumps( - encrypted_treasure_map) # TODO: Ideally, this is a Ciphertext object instead of msgpack (see #112) - dht_key = self.treasure_map_dht_key() - - setter = self.alice.server.set(dht_key, b"trmap" + dht_value) - event_loop = asyncio.get_event_loop() - event_loop.run_until_complete(setter) - return encrypted_treasure_map, dht_value, signature_for_bob, signature_for_ursula - - class Policy(object): """ An individual agreement between Alice and Ursula. Together, all of the Policies by which