aboutsummaryrefslogtreecommitdiff
path: root/src/lib/exchange_api_link.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2021-11-05 22:48:11 +0100
committerChristian Grothoff <christian@grothoff.org>2021-11-05 22:48:11 +0100
commiteaf9d728f54681be4e9ed3467ff9d10e71ad2b04 (patch)
tree3fc06dfc4a1dca958f3b810b740f915215503d1d /src/lib/exchange_api_link.c
parentba627bf84c89ea93a117bce8563b30a3d460e633 (diff)
more crypto refactoring
Diffstat (limited to 'src/lib/exchange_api_link.c')
-rw-r--r--src/lib/exchange_api_link.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/lib/exchange_api_link.c b/src/lib/exchange_api_link.c
index f544e71e3..a9dc8852f 100644
--- a/src/lib/exchange_api_link.c
+++ b/src/lib/exchange_api_link.c
@@ -123,14 +123,16 @@ parse_link_coin (const struct TALER_EXCHANGE_LinkHandle *lh,
&fc);
/* extract coin and signature */
+ if (GNUNET_OK !=
+ TALER_denom_sig_unblind (sig,
+ &bsig,
+ &fc.blinding_key,
+ &rpub))
+ {
+ GNUNET_break_op (0);
+ return GNUNET_SYSERR;
+ }
*coin_priv = fc.coin_priv;
- // FIXME: use more generlized unblinding API!
- GNUNET_assert (TALER_DENOMINATION_RSA == bsig.cipher);
- sig->cipher = TALER_DENOMINATION_RSA;
- sig->details.rsa_signature
- = TALER_rsa_unblind (bsig.details.blinded_rsa_signature,
- &fc.blinding_key.rsa_bks,
- rpub.details.rsa_public_key);
/* verify link_sig */
{
struct TALER_PlanchetDetail pd;