taler-typescript-core

Wallet core logic and WebUIs for various components
Log | Files | Refs | Submodules | README | LICENSE

commit 8be3a041a40297ae1a54980bb4c73849ed2a040d
parent 506b5b61a8563e724bd02a207e072f2c594dcdd6
Author: Florian Dold <florian@dold.me>
Date:   Mon, 20 Oct 2025 17:09:21 +0200

harness: only delete denom keys in test

Diffstat:
Mpackages/taler-harness/src/harness/harness.ts | 23+++++++++++++++++++++++
Mpackages/taler-harness/src/integrationtests/test-denom-lost-complex.ts | 2+-
2 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/packages/taler-harness/src/harness/harness.ts b/packages/taler-harness/src/harness/harness.ts @@ -1750,6 +1750,9 @@ export class ExchangeService implements ExchangeServiceInterface { ); } + /** + * Purge all secmod keys, including message and coin signing keys. + */ async purgeSecmodKeys(): Promise<void> { const cfg = Configuration.load( this.configFilename, @@ -1766,6 +1769,26 @@ export class ExchangeService implements ExchangeServiceInterface { await sh(this.globalState, "rm-secmod-keys", `rm ${eddsaKeydir}/*`); } + + /** + * Purge denom signing keys. + * Keeps message signing keys (eddsa) in place. + */ + async purgeSecmodDenomKeys(): Promise<void> { + const cfg = Configuration.load( + this.configFilename, + ConfigSources["taler-exchange"], + ); + const rsaKeydir = cfg + .getPath("taler-exchange-secmod-rsa", "KEY_DIR") + .required(); + const eddsaKeydir = cfg + .getPath("taler-exchange-secmod-eddsa", "KEY_DIR") + .required(); + // Be *VERY* careful when changing this, or you will accidentally delete user data. + await sh(this.globalState, "rm-secmod-keys", `rm -rf ${rsaKeydir}/COIN_*`); + } + /** * Generate a new master public key for the exchange. */ diff --git a/packages/taler-harness/src/integrationtests/test-denom-lost-complex.ts b/packages/taler-harness/src/integrationtests/test-denom-lost-complex.ts @@ -79,7 +79,7 @@ export async function runDenomLostComplexTest(t: GlobalTestState) { await exchange.stop(); - await exchange.purgeSecmodKeys(); + await exchange.purgeSecmodDenomKeys(); t.logStep("before-skip-keyup"); await exchange.start({