summaryrefslogtreecommitdiff
path: root/src/include/taler_signatures.h
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2015-03-24 17:53:13 +0100
committerChristian Grothoff <christian@grothoff.org>2015-03-24 17:53:13 +0100
commit324bf3f980542cb9f209ee7edc6f142c5c34e5a2 (patch)
treedf399447258fc9233706575f72a5f3d9df91c30c /src/include/taler_signatures.h
parentd5acf537323bc8c2e04844b4d0c2521406011db8 (diff)
downloadexchange-324bf3f980542cb9f209ee7edc6f142c5c34e5a2.tar.gz
exchange-324bf3f980542cb9f209ee7edc6f142c5c34e5a2.tar.bz2
exchange-324bf3f980542cb9f209ee7edc6f142c5c34e5a2.zip
fix #3484: sign over full key set as well
Diffstat (limited to 'src/include/taler_signatures.h')
-rw-r--r--src/include/taler_signatures.h32
1 files changed, 31 insertions, 1 deletions
diff --git a/src/include/taler_signatures.h b/src/include/taler_signatures.h
index 3ad97a577..007a309f3 100644
--- a/src/include/taler_signatures.h
+++ b/src/include/taler_signatures.h
@@ -83,6 +83,11 @@
*/
#define TALER_SIGNATURE_MINT_DEPOSIT 7
+/**
+ * Signature where the Mint confirms the full /keys response set.
+ */
+#define TALER_SIGNATURE_KEYS_SET 8
+
/***********************/
/* Merchant signatures */
@@ -346,6 +351,31 @@ struct TALER_MINT_SignKeyIssue
/**
+ * Signature made by the mint over the full set of keys, used
+ * to detect cheating mints that give out different sets to
+ * different users.
+ */
+struct TALER_MINT_KeySetSignature
+{
+
+ /**
+ * Purpose is #TALER_SIGNATURE_KEYS_SET
+ */
+ struct GNUNET_CRYPTO_EccSignaturePurpose purpose;
+
+ /**
+ * Time of the key set issue.
+ */
+ struct GNUNET_TIME_AbsoluteNBO list_issue_date;
+
+ /**
+ * Hash over the "inner" JSON with the key set.
+ */
+ struct GNUNET_HashCode hc;
+};
+
+
+/**
* Information about a denomination key. Denomination keys
* are used to sign coins of a certain value into existence.
*/
@@ -358,7 +388,7 @@ struct TALER_MINT_DenomKeyIssue
struct TALER_MasterSignature signature;
/**
- * Purpose ist #TALER_SIGNATURE_MASTER_DENOM.
+ * Purpose is #TALER_SIGNATURE_MASTER_DENOM.
*/
struct GNUNET_CRYPTO_EccSignaturePurpose purpose;