summaryrefslogtreecommitdiff
path: root/packages/taler-util/src/taler-crypto.ts
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2023-06-06 15:00:10 +0200
committerFlorian Dold <florian@dold.me>2023-06-06 15:00:15 +0200
commit474a171f5e6684ab7d11bb2987fc90fe6e1b37c8 (patch)
treefeb3184e1d8ad9a9edeea8a511fb4b9011a51d9a /packages/taler-util/src/taler-crypto.ts
parent9d35a7dc9b47701abf893987b5e0d3d1e99effb0 (diff)
downloadwallet-core-474a171f5e6684ab7d11bb2987fc90fe6e1b37c8.tar.gz
wallet-core-474a171f5e6684ab7d11bb2987fc90fe6e1b37c8.tar.bz2
wallet-core-474a171f5e6684ab7d11bb2987fc90fe6e1b37c8.zip
wallet-core: deterministic p2p contract encryption
Diffstat (limited to 'packages/taler-util/src/taler-crypto.ts')
-rw-r--r--packages/taler-util/src/taler-crypto.ts6
1 files changed, 4 insertions, 2 deletions
diff --git a/packages/taler-util/src/taler-crypto.ts b/packages/taler-util/src/taler-crypto.ts
index c4eb925f7..ed3b82cd0 100644
--- a/packages/taler-util/src/taler-crypto.ts
+++ b/packages/taler-util/src/taler-crypto.ts
@@ -1465,6 +1465,7 @@ export function encryptContractForMerge(
contractPriv: ContractPrivateKey,
mergePriv: MergePrivateKey,
contractTerms: any,
+ nonce: EncryptionNonce,
): Promise<OpaqueData> {
const contractTermsCanon = canonicalJson(contractTerms) + "\0";
const contractTermsBytes = stringToBytes(contractTermsCanon);
@@ -1476,13 +1477,14 @@ export function encryptContractForMerge(
contractTermsCompressed,
]);
const key = keyExchangeEcdhEddsa(contractPriv, pursePub);
- return encryptWithDerivedKey(getRandomBytesF(24), key, data, mergeSalt);
+ return encryptWithDerivedKey(nonce, key, data, mergeSalt);
}
export function encryptContractForDeposit(
pursePub: PursePublicKey,
contractPriv: ContractPrivateKey,
contractTerms: any,
+ nonce: EncryptionNonce,
): Promise<OpaqueData> {
const contractTermsCanon = canonicalJson(contractTerms) + "\0";
const contractTermsBytes = stringToBytes(contractTermsCanon);
@@ -1493,7 +1495,7 @@ export function encryptContractForDeposit(
contractTermsCompressed,
]);
const key = keyExchangeEcdhEddsa(contractPriv, pursePub);
- return encryptWithDerivedKey(getRandomBytesF(24), key, data, depositSalt);
+ return encryptWithDerivedKey(nonce, key, data, depositSalt);
}
export interface DecryptForMergeResult {