aboutsummaryrefslogtreecommitdiff
path: root/src/or/hs_common.h
diff options
context:
space:
mode:
authorDavid Goulet <dgoulet@torproject.org>2017-05-11 10:16:28 -0400
committerNick Mathewson <nickm@torproject.org>2017-08-08 20:29:33 -0400
commitc4ba4d4cc8a1d31f78d1dc54c7851bed32a25e5c (patch)
treeaf7d5951bcea3bb7de2758c7f8c26c59bc9a10b4 /src/or/hs_common.h
parentf53b72baf7472423f662b49bebde1a88727901fb (diff)
downloadtor-c4ba4d4cc8a1d31f78d1dc54c7851bed32a25e5c.tar.gz
tor-c4ba4d4cc8a1d31f78d1dc54c7851bed32a25e5c.zip
prop224: Implement subcredential creation
Signed-off-by: David Goulet <dgoulet@torproject.org>
Diffstat (limited to 'src/or/hs_common.h')
-rw-r--r--src/or/hs_common.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/or/hs_common.h b/src/or/hs_common.h
index bda91515b1..6abcd98319 100644
--- a/src/or/hs_common.h
+++ b/src/or/hs_common.h
@@ -95,6 +95,12 @@
#define HS_KEYBLIND_NONCE_LEN \
(HS_KEYBLIND_NONCE_PREFIX_LEN + sizeof(uint64_t) + sizeof(uint64_t))
+/* Credential and subcredential prefix value. */
+#define HS_CREDENTIAL_PREFIX "credential"
+#define HS_CREDENTIAL_PREFIX_LEN (sizeof(HS_CREDENTIAL_PREFIX) - 1)
+#define HS_SUBCREDENTIAL_PREFIX "subcredential"
+#define HS_SUBCREDENTIAL_PREFIX_LEN (sizeof(HS_SUBCREDENTIAL_PREFIX) - 1)
+
/* Type of authentication key used by an introduction point. */
typedef enum {
HS_AUTH_KEY_TYPE_LEGACY = 1,
@@ -139,6 +145,10 @@ const char *rend_data_get_desc_id(const rend_data_t *rend_data,
const uint8_t *rend_data_get_pk_digest(const rend_data_t *rend_data,
size_t *len_out);
+void hs_get_subcredential(const ed25519_public_key_t *identity_pk,
+ const ed25519_public_key_t *blinded_pk,
+ uint8_t *subcred_out);
+
uint64_t hs_get_time_period_num(time_t now);
uint64_t hs_get_next_time_period_num(time_t now);