summaryrefslogtreecommitdiff
path: root/src/include/taler_crypto_lib.h
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2018-10-06 15:05:06 +0200
committerChristian Grothoff <christian@grothoff.org>2018-10-06 15:05:06 +0200
commita56e2e34bce77d41a6d3a2cbbcb89119b98ef750 (patch)
treef71989d1aa318d62d2e0e4acd94f6b6454329535 /src/include/taler_crypto_lib.h
parent81ce7abe190751da205bced8ca340e1cdc83e4f0 (diff)
downloadexchange-a56e2e34bce77d41a6d3a2cbbcb89119b98ef750.tar.gz
exchange-a56e2e34bce77d41a6d3a2cbbcb89119b98ef750.tar.bz2
exchange-a56e2e34bce77d41a6d3a2cbbcb89119b98ef750.zip
fix #5434 (no more salt in exchange wire replies)
Diffstat (limited to 'src/include/taler_crypto_lib.h')
-rw-r--r--src/include/taler_crypto_lib.h68
1 files changed, 54 insertions, 14 deletions
diff --git a/src/include/taler_crypto_lib.h b/src/include/taler_crypto_lib.h
index b22c55ce3..f12516177 100644
--- a/src/include/taler_crypto_lib.h
+++ b/src/include/taler_crypto_lib.h
@@ -738,43 +738,83 @@ TALER_refresh_get_commitment (struct TALER_RefreshCommitmentP *rc,
* hash is what is put into the contract.
*
* @param payto_url bank account
- * @param salt salt used to eliminate brute-force inversion
* @param hc[out] set to the hash
*/
void
-TALER_wire_signature_hash (const char *payto_url,
- const char *salt,
- struct GNUNET_HashCode *hc);
+TALER_exchange_wire_signature_hash (const char *payto_url,
+ struct GNUNET_HashCode *hc);
+
/**
* Check the signature in @a wire_s.
*
* @param payto_url URL that is signed
- * @param salt the salt used to salt the @a payto_url when hashing
* @param master_pub master public key of the exchange
* @param master_sig signature of the exchange
* @return #GNUNET_OK if signature is valid
*/
int
-TALER_wire_signature_check (const char *payto_url,
- const char *salt,
- const struct TALER_MasterPublicKeyP *master_pub,
- const struct TALER_MasterSignatureP *master_sig);
+TALER_exchange_wire_signature_check (const char *payto_url,
+ const struct TALER_MasterPublicKeyP *master_pub,
+ const struct TALER_MasterSignatureP *master_sig);
/**
* Create a signed wire statement for the given account.
*
* @param payto_url account specification
- * @param salt the salt used to salt the @a payto_url when hashing
* @param master_priv private key to sign with
* @param master_sig[out] where to write the signature
*/
void
-TALER_wire_signature_make (const char *payto_url,
- const char *salt,
- const struct TALER_MasterPrivateKeyP *master_priv,
- struct TALER_MasterSignatureP *master_sig);
+TALER_exchange_wire_signature_make (const char *payto_url,
+ const struct TALER_MasterPrivateKeyP *master_priv,
+ struct TALER_MasterSignatureP *master_sig);
+
+
+/**
+ * Compute the hash of the given wire details. The resulting
+ * hash is what is put into the contract.
+ *
+ * @param payto_url bank account
+ * @param salt salt used to eliminate brute-force inversion
+ * @param hc[out] set to the hash
+ */
+void
+TALER_merchant_wire_signature_hash (const char *payto_url,
+ const char *salt,
+ struct GNUNET_HashCode *hc);
+
+
+/**
+ * Check the signature in @a wire_s.
+ *
+ * @param payto_url URL that is signed
+ * @param salt the salt used to salt the @a payto_url when hashing
+ * @param merch_pub public key of the merchant
+ * @param merch_sig signature of the merchant
+ * @return #GNUNET_OK if signature is valid
+ */
+int
+TALER_merchant_wire_signature_check (const char *payto_url,
+ const char *salt,
+ const struct TALER_MerchantPublicKeyP *merch_pub,
+ const struct TALER_MerchantSignatureP *merch_sig);
+
+
+/**
+ * Create a signed wire statement for the given account.
+ *
+ * @param payto_url account specification
+ * @param salt the salt used to salt the @a payto_url when hashing
+ * @param merch_priv private key to sign with
+ * @param merch_sig[out] where to write the signature
+ */
+void
+TALER_merchant_wire_signature_make (const char *payto_url,
+ const char *salt,
+ const struct TALER_MerchantPrivateKeyP *merch_priv,
+ struct TALER_MerchantSignatureP *merch_sig);
#endif