Browse Source

sign/verify: do unicode conversion only for messages sent by the gui

283
thomasv 12 years ago
parent
commit
b08bc514db
  1. 8
      gui/gui_classic/main_window.py
  2. 2
      lib/bitcoin.py

8
gui/gui_classic/main_window.py

@ -1495,8 +1495,10 @@ class ElectrumWindow(QMainWindow):
@protected
def do_sign(self, address, message, signature, password):
message = unicode(message.toPlainText())
message = message.encode('utf-8')
try:
sig = self.wallet.sign_message(str(address.text()), unicode(message.toPlainText()), password)
sig = self.wallet.sign_message(str(address.text()), message, password)
signature.setText(sig)
except BaseException, e:
self.show_message(str(e))
@ -1558,7 +1560,9 @@ class ElectrumWindow(QMainWindow):
layout.setRowStretch(3,1)
def do_verify():
if self.wallet.verify_message(verify_address.text(), str(verify_signature.toPlainText()), unicode(verify_message.toPlainText())):
message = unicode(verify_message.toPlainText()
message = message.encode('utf-8')
if self.wallet.verify_message(verify_address.text(), str(verify_signature.toPlainText()), message)):
self.show_message(_("Signature verified"))
else:
self.show_message(_("Error: wrong signature"))

2
lib/bitcoin.py

@ -287,8 +287,6 @@ SECP256k1 = ecdsa.curves.Curve("SECP256k1", curve_secp256k1, generator_secp256k1
from ecdsa.util import string_to_number, number_to_string
def msg_magic(message):
message = message.encode('utf-8')
print_error(("message", message))
varint = var_int(len(message))
encoded_varint = "".join([chr(int(varint[i:i+2], 16)) for i in xrange(0, len(varint), 2)])

Loading…
Cancel
Save