more RSA abstraction work

This commit is contained in:
Christian Grothoff 2021-11-05 17:19:47 +01:00
parent 9668e2e4fb
commit 2549fb6dc7
No known key found for this signature in database
GPG Key ID: 939E6BE1E29FC3CC
3 changed files with 21 additions and 27 deletions

View File

@ -875,8 +875,8 @@ setup_key (struct DenominationKey *dk,
"write",
dk->filename);
GNUNET_free (buf);
GNUNET_CRYPTO_rsa_private_key_free (priv.details.rsa_private_key);
GNUNET_CRYPTO_rsa_public_key_free (pub.details.rsa_public_key);
TALER_denom_priv_free (&priv);
TALER_denom_pub_free (&pub);
return GNUNET_SYSERR;
}
GNUNET_free (buf);

View File

@ -103,12 +103,11 @@ test_planchets (void)
&ps,
&c_hash,
&pd));
blind_sig.cipher = TALER_DENOMINATION_RSA;
blind_sig.details.blinded_rsa_signature
= GNUNET_CRYPTO_rsa_sign_blinded (dk_priv.details.rsa_private_key,
pd.coin_ev,
pd.coin_ev_size);
GNUNET_assert (NULL != blind_sig.details.blinded_rsa_signature);
GNUNET_assert (GNUNET_OK ==
TALER_denom_sign_blinded (&blind_sig,
&dk_priv,
pd.coin_ev,
pd.coin_ev_size));
GNUNET_assert (GNUNET_OK ==
TALER_planchet_to_coin (&dk_pub,
&blind_sig,

View File

@ -309,10 +309,10 @@ test_signing (struct TALER_CRYPTO_DenominationHelper *dh)
{
/* signature invalid */
GNUNET_break (0);
GNUNET_CRYPTO_rsa_signature_free (rs.details.rsa_signature);
TALER_denom_sig_free (&rs);
return 7;
}
GNUNET_CRYPTO_rsa_signature_free (rs.details.rsa_signature);
TALER_denom_sig_free (&rs);
}
GNUNET_log (GNUNET_ERROR_TYPE_INFO,
"Received valid signature for key %s\n",
@ -386,12 +386,10 @@ perf_signing (struct TALER_CRYPTO_DenominationHelper *dh)
struct TALER_BlindedDenominationSignature ds;
enum TALER_ErrorCode ec;
struct TALER_CoinPubHash m_hash;
struct GNUNET_CRYPTO_RsaBlindingKeySecret bks;
struct GNUNET_TIME_Relative duration;
struct TALER_PlanchetSecretsP ps;
GNUNET_CRYPTO_random_block (GNUNET_CRYPTO_QUALITY_WEAK,
&bks,
sizeof (bks));
TALER_planchet_setup_random (&ps);
GNUNET_CRYPTO_hash ("Hello",
strlen ("Hello"),
&m_hash.hash);
@ -410,15 +408,14 @@ perf_signing (struct TALER_CRYPTO_DenominationHelper *dh)
keys[i].validity_duration.rel_value_us)
continue;
{
void *buf;
size_t buf_size;
struct TALER_CoinPubHash c_hash;
struct TALER_PlanchetDetail pd;
GNUNET_assert (GNUNET_YES ==
TALER_rsa_blind (&m_hash,
&bks,
keys[i].denom_pub.details.rsa_public_key,
&buf,
&buf_size));
TALER_planchet_prepare (&keys[i].denom_pub,
&ps,
&c_hash,
&pd));
/* use this key as long as it works */
while (1)
{
@ -427,8 +424,8 @@ perf_signing (struct TALER_CRYPTO_DenominationHelper *dh)
ds = TALER_CRYPTO_helper_denom_sign (dh,
&keys[i].h_denom_pub,
buf,
buf_size,
pd.coin_ev,
pd.coin_ev_size,
&ec);
if (TALER_EC_NONE != ec)
break;
@ -440,7 +437,7 @@ perf_signing (struct TALER_CRYPTO_DenominationHelper *dh)
if (NUM_SIGN_TESTS == j)
break;
}
GNUNET_free (buf);
GNUNET_free (pd.coin_ev);
}
} /* for i */
} /* for j */
@ -527,9 +524,7 @@ run_test (void)
for (unsigned int i = 0; i<MAX_KEYS; i++)
if (keys[i].valid)
{
GNUNET_CRYPTO_rsa_public_key_free (
keys[i].denom_pub.details.rsa_public_key);
keys[i].denom_pub.details.rsa_public_key = NULL;
TALER_denom_pub_free (&keys[i].denom_pub);
GNUNET_assert (num_keys > 0);
num_keys--;
}