diff options
author | Lucien Heuzeveldt <lucienclaude.heuzeveldt@students.bfh.ch> | 2022-01-11 21:16:47 +0100 |
---|---|---|
committer | Gian Demarmels <gian@demarmels.org> | 2022-02-04 15:36:48 +0100 |
commit | 74ce114b832daf49cf51185c38949240de2e89cd (patch) | |
tree | 66d6c577b82006e9553cd32aaaaaa3d70ea70e13 /src/exchange/taler-exchange-httpd_keys.c | |
parent | 5b7e8f9ac55990823363edffa0e907256d15ce4f (diff) | |
download | exchange-74ce114b832daf49cf51185c38949240de2e89cd.tar.gz exchange-74ce114b832daf49cf51185c38949240de2e89cd.tar.bz2 exchange-74ce114b832daf49cf51185c38949240de2e89cd.zip |
change TEH_keys_denomination_sign message parameter
Diffstat (limited to 'src/exchange/taler-exchange-httpd_keys.c')
-rw-r--r-- | src/exchange/taler-exchange-httpd_keys.c | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/src/exchange/taler-exchange-httpd_keys.c b/src/exchange/taler-exchange-httpd_keys.c index 66c0f69e2..42f351b75 100644 --- a/src/exchange/taler-exchange-httpd_keys.c +++ b/src/exchange/taler-exchange-httpd_keys.c @@ -2410,8 +2410,7 @@ TEH_keys_denomination_by_hash2 ( struct TALER_BlindedDenominationSignature TEH_keys_denomination_sign (const struct TALER_DenominationHash *h_denom_pub, - const void *msg, - size_t msg_size, + const struct TEH_SignDetails *msg, enum TALER_ErrorCode *ec) { struct TEH_KeyStateHandle *ksh; @@ -2434,26 +2433,23 @@ TEH_keys_denomination_sign (const struct TALER_DenominationHash *h_denom_pub, *ec = TALER_EC_EXCHANGE_GENERIC_DENOMINATION_KEY_UNKNOWN; return none; } + if (msg->cipher != hd->denom_pub.cipher) + { + *ec = TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE; + return none; + } switch (hd->denom_pub.cipher) { case TALER_DENOMINATION_RSA: return TALER_CRYPTO_helper_rsa_sign (ksh->helpers->rsadh, &hd->h_details.h_rsa, - msg, - msg_size, + msg->details.rsa_message.msg, + msg->details.rsa_message.msg_size, ec); case TALER_DENOMINATION_CS: - if (sizeof (struct TALER_BlindedCsPlanchet) != msg_size) - { - *ec = TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE; - return none; - } - struct TALER_BlindedCsPlanchet *blinded_cs_planchet = ((struct - TALER_BlindedCsPlanchet - *) msg); return TALER_CRYPTO_helper_cs_sign (ksh->helpers->csdh, &hd->h_details.h_cs, - blinded_cs_planchet, + &msg->details.cs_message, ec); default: *ec = TALER_EC_GENERIC_INTERNAL_INVARIANT_FAILURE; |