예제 #1
0
    def test_sing_verify_invalid(self):
        q = Qtum('1232131234324324324234321231')
        public_key = q.get_uncompressed_public_key()
        private_key = q.get_private_key()
        message = 'hello'

        signature = Qtum.sign_message(message, private_key)
        message = 'corrupted'
        with self.assertRaises(BadSignatureError):
            Qtum.verify_message(message, signature, public_key)
예제 #2
0
    def test_sing_verify(self):
        q = Qtum('1232131234324324324234321231')
        public_key = q.get_uncompressed_public_key()
        private_key = q.get_private_key()
        message = 'hello'

        signature = Qtum.sign_message(message, private_key)
        self.assertTrue(Qtum.verify_message(message, signature, public_key))
예제 #3
0
    async def wrapper(*args, **kwargs):
        import settings
        with open(os.path.join(settings.BASE_DIR, "keys.json")) as f:
            keys = json.load(f)

        pubkey = keys["pubkey"]

        message = kwargs.get("message")
        signature = kwargs.get("signature")
        try:
            flag = Qtum.verify_message(message, signature, pubkey)
        except:
            flag = None
        if not flag:
            result = {"error": 403, "reason": "Invalid signature"}
        else:
            result = await func(*args, **kwargs)
        return result
예제 #4
0
    async def wrapper(*args, **kwargs):

        # Keys.json is file with public and private keys at projects directory
        with open("keys.json") as f:
            keys = json.load(f)

        pubkey = keys["pubkey"]

        message = kwargs.get("message")
        signature = kwargs.get("signature")
        try:
            flag = Qtum.verify_message(message, signature, pubkey)
        except:
            flag = None
        if not flag:
            result = {"error": 403, "reason": "Invalid signature"}
        else:
            result = await func(*args, **kwargs)
            return result
        return wrapper
예제 #5
0
 def test_valid_verify(self):
     message = 'aaa'
     public_key = '040646d16f7bb84333446266a7237eed33866b3478caad3da040e0ca63e7b3f1c01f8c8ee50d8a57e2b9c35b48efdce495f0075560790bb8a87749b92ad8600239'
     signature = '304402201c1ee66e98a67e4da411eacc2388b4e33cfd6da37a11340119e2cb2c76064aa0022049c00a810b896445f7508d0499845eaf3b904661cd427e0a19ab54a50e9012ad'
     self.assertTrue(Qtum.verify_message(message, signature, public_key))
예제 #6
0
 def test_valid_signature4(self):
     message = 'Simple message'
     public_key = '995d52cbc1c5b96eebeeae16383dd7c41dd409fe9eef6e13a7ca2807911dd45fbd18005bfa2272e91b9f0ebd702226db3e5f7f17531087f3ac54c51bae100d6d'
     signature = '1d7cb366aa960c837bdaf7423054f8a8eb9f1dfd20ae277482f51231b1865eb24fd2bd336f6687a0e8854c600dce2f18606dfd5429f8551077bb4f6ab53b832a'
     self.assertTrue(Qtum.verify_message(message, signature, public_key))
예제 #7
0
 def test_valid_signature3(self):
     message = 'aaa'
     public_key = '030646d16f7bb84333446266a7237eed33866b3478caad3da040e0ca63e7b3f1c0'
     signature = '304402201c1ee66e98a67e4da411eacc2388b4e33cfd6da37a11340119e2cb2c76064aa0022049c00a810b896445f7508d0499845eaf3b904661cd427e0a19ab54a50e9012ad'
     self.assertTrue(Qtum.verify_message(message, signature, public_key))
예제 #8
0
    def test_der(self):
        message = 'aaa'
        signature = '3045022016cdbe36a5653336ff74a28cde1092c76886306b0fb9a86bbcd3b8ec15679a5602210091393fb0d4c43a461ff522ebfd8f22ef8ad412f51f29602ba7ca339c37880772'
        public_key = '0406838688de86e85a2a10f1c0986eeef3dadd7e8cf7bd8491dc9557132f75b655c9eb00d5fed251c7def677e1b67c49f5d4cff690282fcbd9fe97be29f4fef843'

        self.assertTrue(Qtum.verify_message(message, signature, public_key))