diff options
author | Florian Dold <florian@dold.me> | 2023-06-06 15:00:10 +0200 |
---|---|---|
committer | Florian Dold <florian@dold.me> | 2023-06-06 15:00:15 +0200 |
commit | 474a171f5e6684ab7d11bb2987fc90fe6e1b37c8 (patch) | |
tree | feb3184e1d8ad9a9edeea8a511fb4b9011a51d9a /packages/taler-util | |
parent | 9d35a7dc9b47701abf893987b5e0d3d1e99effb0 (diff) | |
download | wallet-core-474a171f5e6684ab7d11bb2987fc90fe6e1b37c8.tar.xz |
wallet-core: deterministic p2p contract encryption
Diffstat (limited to 'packages/taler-util')
-rw-r--r-- | packages/taler-util/src/taler-crypto.ts | 6 |
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 { |