From ee4077ef8001e0570a0333ed6b24c69eb2504760 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Mon, 28 Mar 2022 13:19:21 +0200 Subject: starting with purse creation client API --- src/util/Makefile.am | 1 + src/util/crypto_contract.c | 47 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 src/util/crypto_contract.c (limited to 'src/util') diff --git a/src/util/Makefile.am b/src/util/Makefile.am index a24f081b5..8ef9e146d 100644 --- a/src/util/Makefile.am +++ b/src/util/Makefile.am @@ -80,6 +80,7 @@ libtalerutil_la_SOURCES = \ auditor_signatures.c \ config.c \ crypto.c \ + crypto_contract.c \ crypto_helper_common.c crypto_helper_common.h \ crypto_helper_rsa.c \ crypto_helper_cs.c \ diff --git a/src/util/crypto_contract.c b/src/util/crypto_contract.c new file mode 100644 index 000000000..7f684d80a --- /dev/null +++ b/src/util/crypto_contract.c @@ -0,0 +1,47 @@ +/* + This file is part of TALER + Copyright (C) 2022 Taler Systems SA + + TALER is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + TALER; see the file COPYING. If not, see +*/ +/** + * @file util/crypto_contract.c + * @brief functions for encrypting and decrypting contracts for P2P payments + * @author Christian Grothoff + */ +#include "platform.h" +#include "taler_util.h" + + +void +TALER_CRYPTO_contract_encrypt_for_merge ( + const struct TALER_PurseContractPublicKeyP *purse_pub, + const struct TALER_ContractDiffiePrivateP *contract_priv, + const struct TALER_PurseMergePrivateKeyP *merge_priv, + const json_t *contract_terms, + void **econtract, + + size_t *econtract_size) +{ +} + + +json_t * +TALER_CRYPTO_contract_decrypt_for_merge ( + const struct TALER_ContractDiffiePrivateP *contract_priv, + const struct TALER_PurseContractPublicKeyP *purse_pub, + const void *econtract, + size_t econtract_size, + struct TALER_PurseMergePrivateKeyP *merge_priv) +{ + return NULL; +} -- cgit v1.2.3