PHP WebShell
Текущая директория: /opt/BitGoJS/modules/sdk-coin-cspr/test/unit/lib
Просмотр файла: signMessage.ts
import { randomBytes } from 'crypto';
import assert from 'assert';
import { KeyPair } from '../../../src/lib/keyPair';
import { isValidMessageSignature, signMessage } from '../../../src/lib/utils';
import * as testData from '../../fixtures/resources';
describe('Sign Message', () => {
it('should be performed', async () => {
const keyPair = new KeyPair();
const messageToSign = Buffer.from(randomBytes(32)).toString('hex');
const { signature } = signMessage(keyPair, messageToSign);
isValidMessageSignature(Buffer.from(signature).toString('hex'), messageToSign, keyPair.getKeys().pub).should.equals(
true
);
});
it('should be performed using extended key', async () => {
const keyPair = new KeyPair({ prv: testData.ACCOUNT_1.xPrivateKey });
const messageToSign = Buffer.from(randomBytes(32)).toString('hex');
const { signature } = signMessage(keyPair, messageToSign);
isValidMessageSignature(Buffer.from(signature).toString('hex'), messageToSign, keyPair.getKeys().pub).should.equals(
true
);
});
it('should fail with missing private key', async () => {
const keyPair = new KeyPair({ pub: testData.ACCOUNT_1.publicKey });
const messageToSign = Buffer.from(randomBytes(32)).toString('hex');
assert.throws(
() => signMessage(keyPair, messageToSign),
(e: Error) => e.message === testData.ERROR_MISSING_PRIVATE_KEY
);
});
it('should fail with missing private key using extended key', async () => {
const keyPair = new KeyPair({ pub: testData.ACCOUNT_1.xPublicKey });
const messageToSign = Buffer.from(randomBytes(32)).toString('hex');
assert.throws(
() => signMessage(keyPair, messageToSign),
(e: Error) => e.message === testData.ERROR_MISSING_PRIVATE_KEY
);
});
});
Выполнить команду
Для локальной разработки. Не используйте в интернете!