diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/emscriptif-test.ts | 18 | ||||
| -rw-r--r-- | src/emscriptif.ts | 3 | 
2 files changed, 21 insertions, 0 deletions
| diff --git a/src/emscriptif-test.ts b/src/emscriptif-test.ts index ddafa32bc..ba83a9707 100644 --- a/src/emscriptif-test.ts +++ b/src/emscriptif-test.ts @@ -13,9 +13,27 @@ test("string hashing", (t: TestLib) => {  test("signing", (t: TestLib) => {    let x = native.ByteArray.fromStringWithNull("hello taler");    let priv = native.EddsaPrivateKey.create(); +  console.log("priv", priv.toCrock())    let pub = priv.getPublicKey();    let purpose = new native.EccSignaturePurpose(native.SignaturePurpose.TEST, x);    let sig = native.eddsaSign(purpose, priv); +  console.log("sig", sig.toCrock()) +  t.assert(native.eddsaVerify(native.SignaturePurpose.TEST, purpose, sig, pub)); +  t.pass(); +}); + +test("signing-fixed-data", (t: TestLib) => { +  let x = native.ByteArray.fromStringWithNull("hello taler"); +  let purpose = new native.EccSignaturePurpose(native.SignaturePurpose.TEST, x); +  const privStr = "G9R8KRRCAFKPD0KW7PW48CC2T03VQ8K2AN9J6J6K2YW27J5MHN90"; +  const sigStr = "7V6XY4QGC1406GPMT305MZQ1HDCR7R0S5BP02GTGDQFPSXB6YD2YDN5ZS7NJQCNP61Y39MRHXNXQ1Z15JY4CJY4CPDA6CKQ3313WG38"; +  let priv = native.EddsaPrivateKey.fromCrock(privStr); +  t.assert(privStr == priv.toCrock()) +  let pub = priv.getPublicKey(); +  let sig = native.EddsaSignature.fromCrock(sigStr); +  t.assert(sigStr == sig.toCrock()) +  let sig2 = native.eddsaSign(purpose, priv); +  t.assert(sig.toCrock() == sig2.toCrock());    t.assert(native.eddsaVerify(native.SignaturePurpose.TEST, purpose, sig, pub));    t.pass();  }); diff --git a/src/emscriptif.ts b/src/emscriptif.ts index cf519a366..aeb645c70 100644 --- a/src/emscriptif.ts +++ b/src/emscriptif.ts @@ -1159,6 +1159,9 @@ export class EddsaSignature extends PackedArenaObject {    size() {      return 64;    } +  static fromCrock(s: string): EddsaSignature { +    return fromCrock(s, this); +  }  } | 
