- typescript 5.9 업데이트: Uint8Array 문제 해결 - jest -> vitest (이후엔 그냥 node.test ?) - @trpc 준비 - node 24
34 lines
1.1 KiB
TypeScript
34 lines
1.1 KiB
TypeScript
import { expect, test } from "vitest";
|
|
import { ECDSA_sign_bson, ECDSA_verify_bson } from "./ECDSA.js";
|
|
import { genKey } from "./ECKey.js";
|
|
import { randomBytes } from "./utils.js";
|
|
test('basic sign', async () => {
|
|
const [signKey, verifyKey] = await genKey();
|
|
|
|
const misVerifyKey = Buffer.alloc(verifyKey.length);
|
|
verifyKey.copy(misVerifyKey);
|
|
misVerifyKey[misVerifyKey.length - 2] ^= 1; //1bit
|
|
|
|
const msg = randomBytes(100);
|
|
const misMsg = Buffer.alloc(msg.length);
|
|
msg.copy(misMsg);
|
|
misMsg[1] ^= 1;
|
|
|
|
const signature = await ECDSA_sign_bson(signKey, msg);
|
|
expect(signature.length).toEqual(96);
|
|
|
|
const misSignature = Buffer.alloc(signature.length);
|
|
signature.copy(misSignature);
|
|
misSignature[misSignature.length - 2] ^= 3;
|
|
|
|
const t0P = ECDSA_verify_bson(verifyKey, msg, signature);
|
|
const f1P = ECDSA_verify_bson(misVerifyKey, msg, signature);
|
|
const f2P = ECDSA_verify_bson(verifyKey, misMsg, signature);
|
|
const f3P = ECDSA_verify_bson(verifyKey, msg, misSignature);
|
|
|
|
expect(await t0P).toEqual(true);
|
|
expect(await f1P).toEqual(false);
|
|
expect(await f2P).toEqual(false);
|
|
expect(await f3P).toEqual(false);
|
|
})
|