summaryrefslogtreecommitdiff
path: root/src/include/taler_json_lib.h
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2020-01-19 21:18:03 +0100
committerChristian Grothoff <christian@grothoff.org>2020-01-19 21:18:03 +0100
commitc48e4a8a06f5554ff484f1a60c8e5673e70a897a (patch)
treec1a044a461300beaf967e3f5abe098d431a38e7c /src/include/taler_json_lib.h
parent84fd3013138db335d34fb734608b43fe2b85641e (diff)
downloadexchange-c48e4a8a06f5554ff484f1a60c8e5673e70a897a.tar.gz
exchange-c48e4a8a06f5554ff484f1a60c8e5673e70a897a.tar.bz2
exchange-c48e4a8a06f5554ff484f1a60c8e5673e70a897a.zip
comment on JSON canonicalization
Diffstat (limited to 'src/include/taler_json_lib.h')
-rw-r--r--src/include/taler_json_lib.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/include/taler_json_lib.h b/src/include/taler_json_lib.h
index be98f2a7e..d5f6b0ba2 100644
--- a/src/include/taler_json_lib.h
+++ b/src/include/taler_json_lib.h
@@ -107,6 +107,12 @@ TALER_JSON_spec_denomination_signature (const char *field,
/**
* Hash a JSON for binary signing.
*
+ * See https://tools.ietf.org/html/draft-rundgren-json-canonicalization-scheme-15
+ * for fun JSON canonicalization problems. Callers must ensure that
+ * those are avoided in the input. We will use libjanson's "JSON_COMPACT"
+ * encoding for whitespace and "JSON_SORT_KEYS" to canonicalize as best
+ * as we can.
+ *
* @param[in] json some JSON value to hash
* @param[out] hc resulting hash code
* @return #GNUNET_OK on success, #GNUNET_SYSERR on error