diff --git a/komrade/backend/keymaker.py b/komrade/backend/keymaker.py index 37d330f..ca0a437 100644 --- a/komrade/backend/keymaker.py +++ b/komrade/backend/keymaker.py @@ -71,13 +71,11 @@ class KomradeSymmetricKeyWithPassphrase(KomradeSymmetricKey): def hash(self,x): return self.crypt_keys.hash(x) def __init__(self,passphrase=DEBUG_DEFAULT_PASSPHRASE, why=WHY_MSG): - # if not passphrase: - # # raise KomradeException - # passphrase=getpass(why) - # else: - # self.passphrase=passphrase - # # if passphrase: self.passphrase=passphrase - pass + if not passphrase: + # raise KomradeException + self.passhash=hasher(getpass(why)) + else: + self.passhash=hasher(passphrase) @property def data(self): return KEY_TYPE_SYMMETRIC_WITH_PASSPHRASE.encode('utf-8') @@ -86,7 +84,7 @@ class KomradeSymmetricKeyWithPassphrase(KomradeSymmetricKey): def cell(self): if not hasattr(self,'_cell'): from getpass import getpass - self._cell = SCellSeal(passphrase=hasher(getpass(WHY_MSG))) + self._cell = SCellSeal(passphrase=self.passhash) return self._cell diff --git a/komrade/backend/komrades.py b/komrade/backend/komrades.py index 49232b4..b7b2a68 100644 --- a/komrade/backend/komrades.py +++ b/komrade/backend/komrades.py @@ -206,9 +206,9 @@ class Komrade(Caller): return # check password - # while not passphrase: - # from getpass import getpass - # passphrase = getpass('@Keymaker: Enter password for {self} in order to decrypt the encrypted private key:\n\n') + while not passphrase: + from getpass import getpass + passphrase = getpass('@Keymaker: Enter password for {self} in order to decrypt the encrypted private key:\n\n') # assemble privkey? privkey = self.keychain(passphrase=passphrase).get('privkey') @@ -265,12 +265,17 @@ class Komrade(Caller): def send_msg_to(self,msg,to_whom): - msg_e2e = self.compose_msg_to(msg,to_whom) - msg.encrypt() - - {'_route':'deliver_msg_to', 'msg':msg} + to_whom = self.find(to_whom) + self.log(f'found {to_whom}') + msg_obj = self.compose_msg_to( + msg, + to_whom + ) + self.log('composed msg:',msg_obj) + msg_obj.encrypt() + self.log('going to send msg_d?',msg_obj.msg_d) - return self.ring_ring(msg) + return self.ring_ring(msg_obj.msg_d) @@ -282,8 +287,15 @@ def test_register(): # marxbot=Komrade() marxbot.register(passphrase='spectre') + +def test_msg(): + z = Komrade('zuck') + z.login() + s = Komrade('sergey') + z.send_msg_to('you ssssssuck',s) + if __name__=='__main__': - test_register() + test_msg() # marx = Komrade('marx') # elon = Komrade('elon') diff --git a/komrade/backend/operators.py b/komrade/backend/operators.py index 58c8a9e..585c872 100644 --- a/komrade/backend/operators.py +++ b/komrade/backend/operators.py @@ -52,7 +52,7 @@ class Operator(Keymaker): assert type(pubkey)==bytes pubkey = b64dec(pubkey) if keychain.get('pubkey'): - kcpubk=keychain.get('pubkey').data + kcpubk=keychain.get('pubkey').data if type(keychain.get('pubkey'))!=bytes else keychain.get('pubkey') else: keychain['pubkey']=pubkey #KomradeAsymmetricPublicKey(pubkey)