nothing-unencr
quadrismegistus 4 years ago
parent a866e916d1
commit 501ef2920a

@ -38,15 +38,13 @@ class Message(Logger):
def __repr__(self):
msg_d_str=dict_format(self.msg_d)
msg_d_str=dict_format(self.msg_d,tab=6)
return f"""
<MSG>
self.caller={self.caller}
self.callee={self.callee}
self.msg={self.msg}
self.msg_d={msg_d_str}
self.route={self.route}
</MSG>
"""

@ -78,23 +78,23 @@ class Operator(Keymaker):
msg_obj = Message(msg_d,caller=self,callee=another)
# self.log('created msg obj:',msg_obj)
# encrypt!
msg_obj.encrypt(recursive=False)
return msg_obj
def seal_msg(self,msg_obj):
def seal_msg(self,msg_d):
# make sure encrypted
self.log('sealing msg!')
msg_obj.encrypt(recursive=True)
self.log('sealing msg!:',dict_format(msg_d))
# msg_obj.encrypt(recursive=True)
# return pure binary version of self's entire msg_d
self.log('encrypted msg_d: ',msg_obj.msg_d)
msg_b = package_for_transmission(msg_obj.msg_d)
self.log('sealed msg_d: ',msg_b)
msg_b = pickle.dumps(msg_obj.msg_d)
self.log('pickled!',msg_b)
# encrypt by omega key
msg_b_encr = self.omega_key.encrypt(msg_b)
self.log('final seal:',msg_b_encr)
return msg_b_encr
def unseal_msg(self,msg_b_encr):
@ -107,7 +107,7 @@ class Operator(Keymaker):
from komrade.backend.messages import Message
msg_obj = Message(msg_d)
# decrypt msg
msg_obj.decrypt(recursive=True)
# msg_obj.decrypt(recursive=True)
return msg_obj
@ -122,8 +122,9 @@ class Operator(Keymaker):
# get encr msg obj
msg_obj = self.compose_msg_to(msg, to_whom)
self.log(f'here is the message object I made, to send to {to_whom}: {msg_obj}')
# self.log(f'here is the message object I made, to send to {to_whom}: {msg_obj}')
# msg_encr = msg_obj.msg
# encrypting
# msg_obj.encrypt()
# self.log(f'now I look like: {msg_obj}')
@ -132,7 +133,7 @@ class Operator(Keymaker):
# pass onto next person...
if not get_resp_from: get_resp_from=to_whom.ring_ring
resp_msg_obj = get_resp_from(msg_obj)
resp_msg_obj = get_resp_from(msg_obj.msg_d)
self.log('resp_msg_obj <-',resp_msg_obj)
# decrypt?

@ -17,9 +17,9 @@ class TheTelephone(Operator):
def find_pubkey(self):
return self.telephone_keychain.get('pubkey')
def send_and_receive(self,msg_b):
def send_and_receive(self,msg_d):
# seal for transport
msg_b_sealed = self.seal_msg(msg_b)
msg_b_sealed = self.seal_msg(msg_d)
# prepare for transmission across net
msg_b64 = b64encode(msg_b_sealed)

@ -36,11 +36,11 @@ def dict_format(d, tab=0):
s = ['{\n']
for k,v in d.items():
if isinstance(v, dict):
v = format(v, tab+1)
v = dict_format(v, tab+1)
else:
v = repr(v)
s.append('%s%r: %s,\n' % (' '*tab, k, v))
s.append('%s%r: %s (%s),\n' % (' '*tab, k, v, type(v).__name__))
s.append('%s}' % (' '*tab))
return ''.join(s)
@ -85,7 +85,10 @@ import ujson as json
import pickle
def package_for_transmission(data_json):
# print('package_for_transmission.data_json =',data_json)
data_json_b = pickle.dumps(data_json)
# print('data_json_b??')
# print('package_for_transmission.data_json_b =',data_json_bstr)
return b64encode(data_json_b)

Loading…
Cancel
Save