Подписание сообщения в javascript и проверка подписи на бэкенде kotlin / java с ed25519 в качестве нашего алгоритма подписи - PullRequest
1 голос
/ 11 июня 2019

У меня есть код ниже, который я использую, чтобы подписать некоторые полезные данные в JavaScript, используя алгоритм подписи ed25519

var nacl=require("tweetnacl")
var keys=nacl.sign.keyPair()
var TextEncoder= require('util').TextEncoder;
var documentId = "77ccbf5e-4ddd-4092-b813-ac06084a3eb0"
const bs58 = require('bs58')
var bufferOutput=buf2hex(keys.publicKey.buffer)
const bytes = Buffer.from(bufferOutput, 'hex')
const pub = bs58.encode(bytes)
console.log("public key",pub)
var uri = "77ccbf5e-4ddd-4092-b813-ac06084a3eb0#keys-1"
var document = {
     "id": documentId,
      "publicKey": [
 {
     "id": uri,
     "type": "Ed25519VerificationKey2018",
     "controller": documentId,
     "publicKeyBase58": pub
 }
 ]
}
var uint8array = new TextEncoder("utf-8").encode(document);
var signature=nacl.sign(uint8array, keys.secretKey)
console.log("signature",bs58.encode(Buffer.from(buf2hex(signature),'hex')))

Но когда я пытаюсь проверить подпись внутри kotlin / java, используя net.i2p.crypto.eddsa.spec.EdDSAPublicKeySpec, это говорит о том, что моя спецификация ключей не поддерживается. Есть ли способ подписать пакет в javascript и проверить в java / kotlin?

...