fix: signature checking
parent
d9b03d60e0
commit
d5e33f4eec
|
@ -479,7 +479,13 @@ export class TonhubConnector {
|
|||
const cellRes = Cell.fromBoc(Buffer.from(result.result, 'base64'))[0];
|
||||
let slice = cellRes.beginParse();
|
||||
const resSignature = slice.readBuffer(64);
|
||||
let correct = verifySignatureResponse({ signature: resSignature.toString('base64'), config: session.wallet });
|
||||
let correct = verifySignatureResponse({
|
||||
signature: resSignature.toString('base64'),
|
||||
config: session.wallet,
|
||||
payload: request.payload,
|
||||
text: request.text,
|
||||
});
|
||||
|
||||
if (correct) {
|
||||
return { type: 'success', signature: resSignature.toString('base64') };
|
||||
} else {
|
||||
|
|
|
@ -24,11 +24,14 @@ export function verifySignatureResponse(args: {
|
|||
let publicKey: Buffer = extracted.publicKey;
|
||||
|
||||
// Package
|
||||
const textCell = new Cell();
|
||||
const payloadCell = new Cell();
|
||||
let textCell = new Cell();
|
||||
let payloadCell = new Cell();
|
||||
if (typeof args.text === 'string') {
|
||||
new CommentMessage(args.text).writeTo(textCell);
|
||||
}
|
||||
if (typeof args.payload === 'string') {
|
||||
payloadCell = Cell.fromBoc(Buffer.from(args.payload, 'base64'))[0];
|
||||
}
|
||||
|
||||
// Check signature
|
||||
const data = beginCell()
|
||||
|
|
Loading…
Reference in New Issue