Подпись ключа не может быть проверена с помощью набора ключей polkadot js и наоборот - PullRequest
0 голосов
/ 04 февраля 2020

Я хотел бы понять, почему невозможно проверить подпись подключа с помощью набора ключей polkadot Js.

Когда он подписан с помощью набора ключей, все хорошо:

    const msg = "message to be verified"
    const keyring_signature = alice.sign(msg)
    console.log("isvalid keyring: ", alice.verify(msg, keyring_signature)) // true
    console.log(u8aToHex(alice.publicKey)) // 0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d


Однако, когда я пытаюсь подписать его в подразделе с той же учетной записью Алисы, проверка возвращает false:

subkey inspect //Alice                                                                                   
Secret Key URI `//Alice` is account:
  Secret seed:      0xe5be9a5092b81bca64be81d212e7f2f9eba183bb7a90954f7b76361f6edb5c0a
  Public key (hex): 0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d
  Account ID:       0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d
  SS58 Address:     5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY


echo "message to be verified" | subkey sign 0xe5be9a5092b81bca64be81d212e7f2f9eba183bb7a90954f7b76361f6edb5c0a  
// this returned a 64bytes signature
    const msg = "message to be verified"
    const subkey_signature = "96c02390e077231595c4805aecdd242bbdd43456d289c6050ad819d42275032836eb5ea4a48a2aa2b1150219904b7de2b08f5b1a63e3ad8459c29d0e7dd00e8e"
    console.log("isvalid subkey : ", alice.verify(msg, subkey_signature)) // false

Кто-нибудь может помочь? спасибо!

1 Ответ

1 голос
/ 04 февраля 2020

echo добавляет символ новой строки, если вы не удалите его с флагом -n. Попробуйте:

echo -n "message to be verified" | subkey sign ...

Эта подпись должна корректно проверяться с помощью Polkadot JS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...