summaryrefslogtreecommitdiff
path: root/src/include/taler_crypto_lib.h
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2023-01-01 18:36:54 +0100
committerChristian Grothoff <christian@grothoff.org>2023-01-01 18:36:54 +0100
commit4f0d85935f5577b9fc6feea5603ac7a0fa210625 (patch)
tree286a8df6bfac8e482de2bf8b8d908107f9839e74 /src/include/taler_crypto_lib.h
parentc5ad98da9812a05d078b6b017a545959ada96a3d (diff)
downloadexchange-4f0d85935f5577b9fc6feea5603ac7a0fa210625.tar.gz
exchange-4f0d85935f5577b9fc6feea5603ac7a0fa210625.tar.bz2
exchange-4f0d85935f5577b9fc6feea5603ac7a0fa210625.zip
-crypto for AML decision signatures
Diffstat (limited to 'src/include/taler_crypto_lib.h')
-rw-r--r--src/include/taler_crypto_lib.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/include/taler_crypto_lib.h b/src/include/taler_crypto_lib.h
index ca80c6cca..35a6bd6da 100644
--- a/src/include/taler_crypto_lib.h
+++ b/src/include/taler_crypto_lib.h
@@ -2354,6 +2354,58 @@ TALER_CRYPTO_contract_decrypt_for_deposit (
size_t econtract_size);
+/* **************** AML officer signatures **************** */
+
+
+/**
+ * Sign AML decision.
+ *
+ * @param justification human-readable justification
+ * @param decision_time when was the decision made
+ * @param new_threshold at what monthly amount threshold
+ * should a revision be triggered
+ * @param h_payto payto URI hash of the account the
+ * decision is about
+ * @param new_state updated AML state
+ * @param officer_priv private key of AML officer
+ * @param[out] officer_sig where to write the signature
+ */
+void
+TALER_officer_aml_decision_sign (
+ const char *justification,
+ struct GNUNET_TIME_Timestamp decision_time,
+ const struct TALER_Amount *new_threshold,
+ const struct TALER_PaytoHashP *h_payto,
+ enum TALER_AmlDecisionState new_state,
+ const struct TALER_AmlOfficerPrivateKeyP *officer_priv,
+ struct TALER_AmlOfficerSignatureP *officer_sig);
+
+
+/**
+ * Verify AML decision.
+ *
+ * @param justification human-readable justification
+ * @param decision_time when was the decision made
+ * @param new_threshold at what monthly amount threshold
+ * should a revision be triggered
+ * @param h_payto payto URI hash of the account the
+ * decision is about
+ * @param new_state updated AML state
+ * @param officer_pub public key of AML officer
+ * @param officer_sig signature to verify
+ * @return #GNUNET_OK if the signature is valid
+ */
+enum GNUNET_GenericReturnValue
+TALER_officer_aml_decision_verify (
+ const char *justification,
+ struct GNUNET_TIME_Timestamp decision_time,
+ const struct TALER_Amount *new_threshold,
+ const struct TALER_PaytoHashP *h_payto,
+ enum TALER_AmlDecisionState new_state,
+ const struct TALER_AmlOfficerPublicKeyP *officer_pub,
+ const struct TALER_AmlOfficerSignatureP *officer_sig);
+
+
/* **************** Helper-based RSA operations **************** */
/**
@@ -2522,6 +2574,7 @@ void
TALER_CRYPTO_helper_rsa_disconnect (
struct TALER_CRYPTO_RsaDenominationHelper *dh);
+
/* **************** Helper-based CS operations **************** */
/**