Add ECDSA actions to CryptMessage (#1984)

* Add ecdsaSign and ecdsaVerify

* Fix return

* Fix unicode

* Update CryptMessagePlugin.py
This commit is contained in:
Ivanq 2019-04-15 23:55:01 +03:00 committed by ZeroNet
parent 5ff2f792e6
commit bdb0dc32a7

View file

@ -2,7 +2,7 @@ import base64
import os
from Plugin import PluginManager
from Crypt import CryptBitcoin
from Crypt import CryptBitcoin, CryptHash
import lib.pybitcointools as btctools
from . import CryptMessage
@ -111,6 +111,19 @@ class UiWebsocketPlugin(object):
else:
self.response(to, texts)
# Sign data using ECDSA
# Return: Signature
def actionEcdsaSign(self, to, data, privatekey=0):
if type(privatekey) is int: # Decrypt using user's privatekey
privatekey = self.user.getEncryptPrivatekey(self.site.address, privatekey)
self.response(to, CryptBitcoin.sign(data.encode("utf8"), privatekey))
# Verify data using ECDSA (address is either a address or array of addresses)
# Return: bool
def actionEcdsaVerify(self, to, data, address, signature):
self.response(to, CryptBitcoin.verify(data.encode("utf8"), address, signature))
@PluginManager.registerTo("User")
class UserPlugin(object):