summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-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;