commit 9fe7376c4c6b41a30dc94ab45815dcf90e5ff23c
parent aacf7d4424d5d79b0f47882180603acd42e135f5
Author: Martin Schanzenbach <schanzen@gnunet.org>
Date: Fri, 7 Nov 2025 21:57:42 +0100
less magic numbers
Diffstat:
2 files changed, 5 insertions(+), 9 deletions(-)
diff --git a/packages/taler-util/src/taler-crypto.ts b/packages/taler-util/src/taler-crypto.ts
@@ -1122,6 +1122,8 @@ export enum TalerSignaturePurpose {
WALLET_PURSE_ECONTRACT = 1216,
WALLET_PURSE_DELETE = 1220,
WALLET_TOKEN_USE = 1222,
+ MAILBOX_MESSAGES_DELETE = 1223,
+ MAILBOX_KEYS_UPDATE = 1224,
WALLET_COIN_HISTORY = 1209,
EXCHANGE_CONFIRM_RECOUP = 1039,
EXCHANGE_CONFIRM_RECOUP_REFRESH = 1041,
diff --git a/packages/taler-wallet-core/src/mailbox.ts b/packages/taler-wallet-core/src/mailbox.ts
@@ -49,6 +49,7 @@ import {
Duration,
AbsoluteTime,
eddsaVerify,
+ TalerSignaturePurpose,
} from "@gnu-taler/taler-util";
import {
WalletExecutionContext,
@@ -153,10 +154,8 @@ export async function updateMailboxKeys(
...(new Uint8Array(expNboBuffer))]);
const digest = sha512(digestBuffer);
vMsg.setUint32(0, messageHeader.byteLength + digest.length);
- // FIXME: Where is gana?
- vMsg.setUint32(4, 1224);
+ vMsg.setUint32(4, TalerSignaturePurpose.MAILBOX_KEYS_UPDATE);
const msgToSign = new Uint8Array([...(new Uint8Array(messageHeader)), ...digest]);
- // FIXME sign
const signature = eddsaSign(msgToSign, privateSigningKey);
const keys: MailboxMessageKeys = {
signingKey: encodeCrock(signingKey),
@@ -308,15 +307,10 @@ export async function refreshMailbox(
const vMsg = new DataView(messageHeader);
const digest = sha512(new Uint8Array(messages));
vMsg.setUint32(0, 8 + 64);
- // FIXME: Where is gana?
- vMsg.setUint32(4, 1223);
+ vMsg.setUint32(4, TalerSignaturePurpose.MAILBOX_MESSAGES_DELETE);
const msgToSign: Uint8Array = new Uint8Array([...(new Uint8Array(messageHeader)), ...digest]);
const privateSigningKey: Uint8Array = decodeCrock(mailboxConf.privateKey);
const signature = eddsaSign(msgToSign, privateSigningKey);
- const mailboxPubkeyString = encodeCrock(eddsaGetPublic(decodeCrock(mailboxConf.privateKey)));
- if (!eddsaVerify(msgToSign, signature, decodeCrock(mailboxPubkeyString))) {
- logger.error("Signature invalid!");
- }
succeedOrThrow(await mailboxClient.deleteMessages({
mailboxConf: mailboxConf,
matchIf: res.body.etag,