summaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorLucien Heuzeveldt <lucienclaude.heuzeveldt@students.bfh.ch>2022-01-04 17:26:01 +0100
committerGian Demarmels <gian@demarmels.org>2022-02-04 15:33:13 +0100
commit106664ed0c50621bd20568c948ad30fccd0689ea (patch)
tree9eee0d4afe84da5c93d03360422de5daf4c90546 /src/include
parent875a8b397ee4a83f1092151906ad041c4339e7b2 (diff)
downloadexchange-106664ed0c50621bd20568c948ad30fccd0689ea.tar.gz
exchange-106664ed0c50621bd20568c948ad30fccd0689ea.tar.bz2
exchange-106664ed0c50621bd20568c948ad30fccd0689ea.zip
implement TALER_CRYPTO_helper_cs_r_derive and related tests
Diffstat (limited to 'src/include')
-rw-r--r--src/include/taler_crypto_lib.h28
1 files changed, 26 insertions, 2 deletions
diff --git a/src/include/taler_crypto_lib.h b/src/include/taler_crypto_lib.h
index bd889b354..a20e51204 100644
--- a/src/include/taler_crypto_lib.h
+++ b/src/include/taler_crypto_lib.h
@@ -1800,7 +1800,7 @@ TALER_CRYPTO_helper_cs_sign (
/**
- * Ask the helper to revoke the public key associated with @param h_denom_pub .
+ * Ask the helper to revoke the public key associated with @param h_cs .
* Will cause the helper to tell all clients that the key is now unavailable,
* and to create a replacement key.
*
@@ -1812,7 +1812,7 @@ TALER_CRYPTO_helper_cs_sign (
* callback.
*
* @param dh helper to process connection
- * @param h_rsa hash of the RSA public key to revoke
+ * @param h_cs hash of the CS public key to revoke
*/
void
TALER_CRYPTO_helper_cs_revoke (
@@ -1821,6 +1821,30 @@ TALER_CRYPTO_helper_cs_revoke (
/**
+ * Ask the helper to derive R using the @param nonce and denomination key
+ * associated with @param h_cs.
+ *
+ * This operation will block until the R has been obtained. Should
+ * this process receive a signal (that is not ignored) while the operation is
+ * pending, the operation will fail. Note that the helper may still believe
+ * that it created the signature. Thus, signals may result in a small
+ * differences in the signature counters. Retrying in this case may work.
+ *
+ * @param dh helper to process connection
+ * @param h_cs hash of the CS public key to revoke
+ * @param nonce witdhraw nonce
+ * @param[out] ec set to the error code (or #TALER_EC_NONE on success)
+ * @return R, the value inside the structure will be NULL on failure,
+ * see @a ec for details about the failure
+ */
+struct TALER_DenominationCsPublicR
+TALER_CRYPTO_helper_cs_r_derive (struct TALER_CRYPTO_CsDenominationHelper *dh,
+ const struct TALER_CsPubHashP *h_cs,
+ const struct TALER_WithdrawNonce *nonce,
+ enum TALER_ErrorCode *ec);
+
+
+/**
* Close connection to @a dh.
*
* @param[in] dh connection to close