From d26743cabc0d629c225b7367b17aab871daf768b Mon Sep 17 00:00:00 2001 From: Sebastian Date: Thu, 16 Nov 2023 18:52:41 -0300 Subject: send signature in request body --- packages/taler-util/src/http-client/exchange.ts | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'packages/taler-util') diff --git a/packages/taler-util/src/http-client/exchange.ts b/packages/taler-util/src/http-client/exchange.ts index 2d3e40863..f55be0043 100644 --- a/packages/taler-util/src/http-client/exchange.ts +++ b/packages/taler-util/src/http-client/exchange.ts @@ -104,15 +104,13 @@ export class TalerExchangeHttpClient { * https://docs.taler.net/core/api-exchange.html#post--aml-$OFFICER_PUB-decision * */ - async addDecisionDetails(auth: OfficerAccount, body: TalerExchangeApi.AmlDecision) { + async addDecisionDetails(auth: OfficerAccount, decision: Omit) { const url = new URL(`aml/${auth.id}/decision`, this.baseUrl); + const body = buildDecisionSignature(auth.signingKey, decision) const resp = await this.httpLib.fetch(url.href, { method: "POST", body, - headers: { - "Taler-AML-Officer-Signature": buildDecisionSignature(auth.signingKey, body) - }, }); switch (resp.status) { @@ -140,8 +138,8 @@ function buildQuerySignature(key: SigningKey): string { function buildDecisionSignature( key: SigningKey, - decision: TalerExchangeApi.AmlDecision, -): string { + decision: Omit, +): TalerExchangeApi.AmlDecision { const zero = new Uint8Array(new ArrayBuffer(64)) const sigBlob = buildSigPS(TalerSignaturePurpose.TALER_SIGNATURE_AML_DECISION) @@ -154,5 +152,9 @@ function buildDecisionSignature( .put(bufferForUint32(decision.new_state)) .build(); - return encodeCrock(eddsaSign(sigBlob, key)); + const officer_sig = encodeCrock(eddsaSign(sigBlob, key)); + return { + ...decision, + officer_sig + } } \ No newline at end of file -- cgit v1.2.3