aboutsummaryrefslogtreecommitdiff
path: root/src/exchange/taler-exchange-httpd_keys.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/exchange/taler-exchange-httpd_keys.c')
-rw-r--r--src/exchange/taler-exchange-httpd_keys.c48
1 files changed, 17 insertions, 31 deletions
diff --git a/src/exchange/taler-exchange-httpd_keys.c b/src/exchange/taler-exchange-httpd_keys.c
index e5a54447..4b1a6213 100644
--- a/src/exchange/taler-exchange-httpd_keys.c
+++ b/src/exchange/taler-exchange-httpd_keys.c
@@ -2411,54 +2411,40 @@ TEH_keys_denomination_by_hash2 (
}
-struct TALER_BlindedDenominationSignature
+enum TALER_ErrorCode
TEH_keys_denomination_sign (const struct TALER_DenominationHash *h_denom_pub,
const struct TALER_BlindedPlanchet *bp,
- enum TALER_ErrorCode *ec)
+ struct TALER_BlindedDenominationSignature *bs)
{
struct TEH_KeyStateHandle *ksh;
- struct TALER_BlindedDenominationSignature none;
struct HelperDenomination *hd;
- memset (&none,
- 0,
- sizeof (none));
ksh = TEH_keys_get_state ();
if (NULL == ksh)
- {
- *ec = TALER_EC_EXCHANGE_GENERIC_KEYS_MISSING;
- return none;
- }
+ return TALER_EC_EXCHANGE_GENERIC_KEYS_MISSING;
hd = GNUNET_CONTAINER_multihashmap_get (ksh->helpers->denom_keys,
&h_denom_pub->hash);
if (NULL == hd)
- {
- *ec = TALER_EC_EXCHANGE_GENERIC_DENOMINATION_KEY_UNKNOWN;
- return none;
- }
+ return TALER_EC_EXCHANGE_GENERIC_DENOMINATION_KEY_UNKNOWN;
if (bp->cipher != hd->denom_pub.cipher)
- {
- *ec = TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE;
- return none;
- }
+ return TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE;
switch (hd->denom_pub.cipher)
{
case TALER_DENOMINATION_RSA:
- return TALER_CRYPTO_helper_rsa_sign (ksh->helpers->rsadh,
- &hd->h_details.h_rsa,
- bp->details.rsa_blinded_planchet.
- blinded_msg,
- bp->details.rsa_blinded_planchet.
- blinded_msg_size,
- ec);
+ return TALER_CRYPTO_helper_rsa_sign (
+ ksh->helpers->rsadh,
+ &hd->h_details.h_rsa,
+ bp->details.rsa_blinded_planchet.blinded_msg,
+ bp->details.rsa_blinded_planchet.blinded_msg_size,
+ bs);
case TALER_DENOMINATION_CS:
- return TALER_CRYPTO_helper_cs_sign (ksh->helpers->csdh,
- &hd->h_details.h_cs,
- &bp->details.cs_blinded_planchet,
- ec);
+ return TALER_CRYPTO_helper_cs_sign (
+ ksh->helpers->csdh,
+ &hd->h_details.h_cs,
+ &bp->details.cs_blinded_planchet,
+ bs);
default:
- *ec = TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE;
- return none;
+ return TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE;
}
}