diff options
author | Sree Harsha Totakura <sreeharsha@totakura.in> | 2015-03-09 15:35:35 +0100 |
---|---|---|
committer | Sree Harsha Totakura <sreeharsha@totakura.in> | 2015-03-09 19:50:58 +0100 |
commit | 1841c0e70313ae47b81276ccee2fd88e794866d2 (patch) | |
tree | ffdbd7a1a78f3a24905905a26ebbdab39641d135 /src/mint/test_mint_db.c | |
parent | 8eaeda99589fe5d0b43818033fc8871b62f50090 (diff) | |
download | exchange-1841c0e70313ae47b81276ccee2fd88e794866d2.tar.xz |
db: Cache denom key signatures to DB.
Diffstat (limited to 'src/mint/test_mint_db.c')
-rw-r--r-- | src/mint/test_mint_db.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/mint/test_mint_db.c b/src/mint/test_mint_db.c index c24ba33d3..b154e0bfe 100644 --- a/src/mint/test_mint_db.c +++ b/src/mint/test_mint_db.c @@ -124,6 +124,7 @@ run (void *cls, char *const *args, const char *cfgfile, db = NULL; dkp = NULL; + ZR_BLK (&cbc); ZR_BLK (&cbc2); if (GNUNET_OK != TALER_MINT_DB_init ("postgres:///taler")) { @@ -172,17 +173,18 @@ run (void *cls, char *const *args, const char *cfgfile, RND_BLK(&h_blind); RND_BLK(&cbc.reserve_sig); cbc.denom_pub = dkp->pub; - cbc.sig = NULL; + cbc.sig = GNUNET_CRYPTO_rsa_sign (dkp->priv, &h_blind, sizeof (h_blind)); memcpy (&cbc.reserve_pub, &reserve_pub, sizeof (reserve_pub)); - FAILIF (GNUNET_OK!= TALER_MINT_DB_insert_collectable_blindcoin (db, - &h_blind, - &cbc)); + FAILIF (GNUNET_OK != TALER_MINT_DB_insert_collectable_blindcoin (db, + &h_blind, + &cbc)); FAILIF (GNUNET_YES != TALER_MINT_DB_get_collectable_blindcoin (db, &h_blind, &cbc2)); FAILIF (NULL == cbc2.denom_pub); FAILIF (0 != memcmp (&cbc2.reserve_sig, &cbc.reserve_sig, sizeof (cbc2.reserve_sig))); FAILIF (0 != memcmp (&cbc2.reserve_pub, &cbc.reserve_pub, sizeof (cbc2.reserve_pub))); + FAILIF (GNUNET_OK != GNUNET_CRYPTO_rsa_verify (&h_blind, cbc2.sig, dkp->pub)); result = 0; drop: @@ -190,8 +192,12 @@ run (void *cls, char *const *args, const char *cfgfile, GNUNET_break (GNUNET_OK == TALER_MINT_DB_drop_temporary (db)); if (NULL != dkp) destroy_denon_key_pair (dkp); + if (NULL != cbc.sig) + GNUNET_CRYPTO_rsa_signature_free (cbc.sig); if (NULL != cbc2.denom_pub) GNUNET_CRYPTO_rsa_public_key_free (cbc2.denom_pub); + if (NULL != cbc2.sig) + GNUNET_CRYPTO_rsa_signature_free (cbc2.sig); dkp = NULL; } |