From 83a52fbc4e9f5b5a56899b0da07a330f8ac7b070 Mon Sep 17 00:00:00 2001 From: Milen Radkov Date: Wed, 14 Aug 2019 14:30:26 +0300 Subject: [PATCH] fix(Crypto): Fix `keypair` verification (#605) * convert test message to buffer in isValidKeypair fixes https://github.com/aeternity/aepp-base/issues/1090 * add test for keypair validity verification --- es/utils/crypto.js | 2 +- test/unit/crypto.js | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/es/utils/crypto.js b/es/utils/crypto.js index 7f5dbf1344..2cf364aae9 100644 --- a/es/utils/crypto.js +++ b/es/utils/crypto.js @@ -498,7 +498,7 @@ export function encodeTx (txData) { * @return {Boolean} Valid? */ export function isValidKeypair (privateKey, publicKey) { - const message = 'TheMessage' + const message = Buffer.from('TheMessage') const signature = sign(message, privateKey) return verify(message, signature, publicKey) } diff --git a/test/unit/crypto.js b/test/unit/crypto.js index 9852c5c2bf..6b0017dace 100644 --- a/test/unit/crypto.js +++ b/test/unit/crypto.js @@ -48,7 +48,16 @@ describe('crypto', () => { assert.isAtMost(keyPair.publicKey.length, 53) }) }) - + + describe('isValidKeypair', () => { + it('verify the generated key pair', () => { + const keyPair = Crypto.generateKeyPair(true) + assert.ok(keyPair) + const verifyResult = Crypto.isValidKeypair(keyPair.secretKey, keyPair.publicKey) + assert.isTrue(verifyResult) + }) + }) + describe('encryptPassword', () => { describe('generate a password encrypted key pair', () => { const keyPair = Crypto.generateKeyPair(true)