diff options
author | Christian Grothoff <christian@grothoff.org> | 2020-12-10 11:49:20 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2020-12-10 11:49:20 +0100 |
commit | 35bec60894510a3833358183db02e0c1c9cc41a2 (patch) | |
tree | 5b9406863afc3b3d94c97d1e57a87944396f2035 /src/exchange/taler-exchange-httpd_keys.c | |
parent | 5a24334e83dabcb00e0e0f4292a678b6820ea370 (diff) | |
download | exchange-35bec60894510a3833358183db02e0c1c9cc41a2.tar.gz exchange-35bec60894510a3833358183db02e0c1c9cc41a2.tar.bz2 exchange-35bec60894510a3833358183db02e0c1c9cc41a2.zip |
implement POST /managment/keys
Diffstat (limited to 'src/exchange/taler-exchange-httpd_keys.c')
-rw-r--r-- | src/exchange/taler-exchange-httpd_keys.c | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/src/exchange/taler-exchange-httpd_keys.c b/src/exchange/taler-exchange-httpd_keys.c index d39af5933..5accf6e15 100644 --- a/src/exchange/taler-exchange-httpd_keys.c +++ b/src/exchange/taler-exchange-httpd_keys.c @@ -1924,10 +1924,12 @@ load_fees (const char *section_name, int TEH_keys_load_fees (const struct GNUNET_HashCode *h_denom_pub, + struct TALER_DenominationPublicKey *denom_pub, struct TALER_EXCHANGEDB_DenominationKeyMetaData *meta) { struct KeyStateHandle *ksh; struct HelperDenomination *hd; + int ok; ksh = get_key_state (); if (NULL == ksh) @@ -1941,16 +1943,21 @@ TEH_keys_load_fees (const struct GNUNET_HashCode *h_denom_pub, meta->start = hd->start_time; meta->expire_withdraw = GNUNET_TIME_absolute_add (meta->start, hd->validity_duration); - return load_fees (hd->section_name, - meta); + ok = load_fees (hd->section_name, + meta); + if (GNUNET_OK == ok) + denom_pub->rsa_public_key + = GNUNET_CRYPTO_rsa_public_key_dup (hd->denom_pub.rsa_public_key); + else + denom_pub->rsa_public_key + = NULL; + return ok; } int TEH_keys_get_timing (const struct TALER_ExchangePublicKeyP *exchange_pub, - struct GNUNET_TIME_Absolute *start_sign, - struct GNUNET_TIME_Absolute *end_sign, - struct GNUNET_TIME_Absolute *end_legal) + struct TALER_EXCHANGEDB_SignkeyMetaData *meta) { struct KeyStateHandle *ksh; struct HelperSignkey *hsk; @@ -1966,11 +1973,11 @@ TEH_keys_get_timing (const struct TALER_ExchangePublicKeyP *exchange_pub, pid.public_key = exchange_pub->eddsa_pub; hsk = GNUNET_CONTAINER_multipeermap_get (ksh->helpers.esign_keys, &pid); - *start_sign = hsk->start_time; - *end_sign = GNUNET_TIME_absolute_add (*start_sign, - hsk->validity_duration); - *end_legal = GNUNET_TIME_absolute_add (*end_sign, - signkey_legal_duration); + meta->start = hsk->start_time; + meta->expire_sign = GNUNET_TIME_absolute_add (meta->start, + hsk->validity_duration); + meta->expire_legal = GNUNET_TIME_absolute_add (meta->expire_sign, + signkey_legal_duration); return GNUNET_OK; } |