posting
quadrismegistus 4 years ago
parent 1e93323552
commit 0f0757c015

@ -465,12 +465,12 @@ class Keymaker(Logger):
try:
if decrypt:
encr_key = keychain.get(encr_key_name)
self.log(f'about to decrypt {encr_key} with {decr_key} and {decr_key.cell}')
# self.log(f'about to decrypt {encr_key} with {decr_key} and {decr_key.cell}')
unencr_key = decr_key.decrypt(encr_key.data)
keychain[unencr_key_name] = get_key_obj(unencr_key_name,unencr_key)
else:
# unencr_key = keychain.get(unencr_key_name)
self.log(f'about to encrypt {unencr_key} with {decr_key}')
# self.log(f'about to encrypt {unencr_key} with {decr_key}')
encr_key = decr_key.encrypt(unencr_key.data)
keychain[encr_key_name] = get_key_obj(encr_key_name,encr_key)
except ThemisError as e:

@ -371,6 +371,23 @@ class KomradeX(Caller):
'unread':unread,
'inbox':inbox
}
def inbox(self):
inbox_encr = self.crypt_keys.get(
self.uri,
prefix='/inbox/',
)
if not inbox_encr:
return []
inbox = Message(
msg=inbox_encr,
from_whom=self.op,
to_whom=self
)
print(inbox)
inbox.decrypt()
print(inbox)
def read_msg(self,post_id):
# get post
@ -380,7 +397,7 @@ class KomradeX(Caller):
'success':False,
'status':'Post not found.'
}
self.log('found encrypted post store:',pickle.loads(post_encr))
self.log('found encrypted post store:',post_encr)
# it should be twice decrypted
@ -442,7 +459,8 @@ def test_register():
def test_msg():
b = Komrade('bez')
b.read_msg(b'YWY3NDUxZjNjYjdhNDFmNmIyNDI2NzU3YTI4ZTA0OWM=')
b.inbox()
# b.read_msg(b'YWY3NDUxZjNjYjdhNDFmNmIyNDI2NzU3YTI4ZTA0OWM=')
#b.login()
#print(b.download_msgs())

@ -21,7 +21,7 @@ class Message(Logger):
self.to_name=msg_d.get('to_name') if not to_whom else to_whom.name
self.to_pubkey=msg_d.get('to') if not to_whom else to_whom.uri
self.from_name=msg_d.get('from_name') if not from_whom else from_whom.name
self.from_pubkey=msg_d.get('from') if not to_whom else to_whom.uri
self.from_pubkey=msg_d.get('from') if not from_whom else from_whom.uri
self.msg=msg_d.get('msg') if not msg else msg
self._route=msg_d.get(ROUTE_KEYNAME)
self._is_encrypted=None
@ -118,7 +118,6 @@ class Message(Logger):
self.to_whom.privkey.data,
b64dec(self.from_pubkey)
).unwrap(self.msg)
# self.log('Am I decrypted?',self)
# unpickle
self.msg = self.msg_d['msg'] = decr_msg = pickle.loads(decr_msg_b)

@ -345,22 +345,29 @@ from_komrade = {from_komrade}
''')
## just deliver?
enclosed_msg = {
'to':deliver_to,
'from':deliver_from,
'msg':deliver_msg
}
msg_from_op = {
'to':deliver_to,
'from':self.pubkey.data_b64,
'msg':enclosed_msg
}
msg_from_op_b = pickle.dumps(msg_from_op)
msg_from_op = Message(
{
'to':deliver_to,
'from':self.uri,
'msg':{
'to':deliver_to,
'from':deliver_from,
'msg':deliver_msg,
'status':'Someone (marked "from") would like to send you (marked "to") this message (marked "msg").'
}
}
})
msg_from_op_b_encr = SMessage(
self.privkey.data,
b64dec(deliver_to)
).wrap(msg_from_op_b)
self.log(f'{self}: Prepared this msg for delivery:\n{msg_from_op}')
# encrypt
msg_from_op.encrypt()
msg_from_op_b_encr = msg_from_op.msg_d
self.log('got this:',msg_from_op_b_encr)
stop
# save new post
post_id = get_random_binary_id()

Loading…
Cancel
Save