# HG changeset patch # User Goffi # Date 1408995149 -7200 # Node ID 768f1f1ef12cd68090f62dd5252331b08b9f327e # Parent ea2bbdf5b541bfe39584dc0bdafbb65d3d2ed5f1 plugin otr: priv_key is better than getPrivKey here, as it should not be None + fixed private key encryption/decryption diff -r ea2bbdf5b541 -r 768f1f1ef12c src/plugins/plugin_sec_otr.py --- a/src/plugins/plugin_sec_otr.py Mon Aug 25 21:32:23 2014 +0200 +++ b/src/plugins/plugin_sec_otr.py Mon Aug 25 21:32:29 2014 +0200 @@ -130,7 +130,9 @@ def savePrivkey(self): log.debug(u"savePrivkey") - priv_key = self.getPrivkey().serializePrivateKey() + if self.privkey is None: + raise exceptions.InternalError(_("Save is called but privkey is None !")) + priv_key = self.privkey.serializePrivateKey().encode('hex') d = self.host.memory.encryptValue(priv_key, self.client.profile) def save_encrypted_key(encrypted_priv_key): self.client.otr_data[PRIVATE_KEY] = encrypted_priv_key @@ -193,7 +195,7 @@ encrypted_priv_key = client.otr_data.get(PRIVATE_KEY, None) if encrypted_priv_key is not None: priv_key = yield self.host.memory.decryptValue(encrypted_priv_key, profile) - client.otr_priv_key = potr.crypt.PK.parsePrivateKey(priv_key)[0] + client.otr_priv_key = potr.crypt.PK.parsePrivateKey(priv_key.decode('hex'))[0] else: client.otr_priv_key = None