gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] [gnunet] 88/171: -add serialization


From: gnunet
Subject: [GNUnet-SVN] [gnunet] 88/171: -add serialization
Date: Thu, 04 Jan 2018 16:09:56 +0100

This is an automated email from the git hooks/post-receive script.

martin-schanzenbach pushed a commit to branch master
in repository gnunet.

commit f3a84ebcd657b369792667bb1c1bd5ca2e53ee35
Author: Schanzenbach, Martin <address@hidden>
AuthorDate: Sat Jul 8 20:14:49 2017 +0200

    -add serialization
---
 src/include/gnunet_crypto_lib.h | 14 ++++++++++++
 src/util/crypto_abe.c           | 48 +++++++++++++++++++++++++++++++++++++++++
 2 files changed, 62 insertions(+)

diff --git a/src/include/gnunet_crypto_lib.h b/src/include/gnunet_crypto_lib.h
index 6f2870c37..8a2763894 100644
--- a/src/include/gnunet_crypto_lib.h
+++ b/src/include/gnunet_crypto_lib.h
@@ -2185,7 +2185,21 @@ GNUNET_CRYPTO_cpabe_decrypt (const void *block,
                              const struct GNUNET_CRYPTO_AbeKey *key,
                              void **result);
 
+ssize_t
+GNUNET_CRYPTO_cpabe_serialize_key (struct GNUNET_CRYPTO_AbeKey *key,
+                                   void **result);
+
+struct GNUNET_CRYPTO_AbeKey*
+GNUNET_CRYPTO_cpabe_deserialize_key (void *data,
+                                     size_t len);
+
+ssize_t
+GNUNET_CRYPTO_cpabe_serialize_master_key (struct GNUNET_CRYPTO_AbeMasterKey 
*key,
+                                          void **result);
 
+struct GNUNET_CRYPTO_AbeMasterKey*
+GNUNET_CRYPTO_cpabe_deserialize_master_key (void *data,
+                                            size_t len);
 
 
 #if 0                           /* keep Emacsens' auto-indent happy */
diff --git a/src/util/crypto_abe.c b/src/util/crypto_abe.c
index d004220d1..62b9b7108 100644
--- a/src/util/crypto_abe.c
+++ b/src/util/crypto_abe.c
@@ -303,3 +303,51 @@ GNUNET_CRYPTO_cpabe_decrypt (const void *block,
   
   return pt_size;
 }
+
+ssize_t
+GNUNET_CRYPTO_cpabe_serialize_key (struct GNUNET_CRYPTO_AbeKey *key,
+                                   void **result)
+{
+  ssize_t len;
+
+  len = key->pub->len + key->prv->len + 12;
+  write_cpabe (result, key->pub, len, key->prv);
+
+  return len;
+}
+
+struct GNUNET_CRYPTO_AbeKey*
+GNUNET_CRYPTO_cpabe_deserialize_key (void *data,
+                                     size_t len)
+{
+  struct GNUNET_CRYPTO_AbeKey *key;
+
+  key = GNUNET_new (struct GNUNET_CRYPTO_AbeKey);
+  read_cpabe (data, &key->pub, &key->prv);
+
+  return key;
+}
+
+ssize_t
+GNUNET_CRYPTO_cpabe_serialize_master_key (struct GNUNET_CRYPTO_AbeMasterKey 
*key,
+                                          void **result)
+{
+  ssize_t len;
+
+  len = key->pub->len + key->msk->len + 12;
+  write_cpabe (result, key->pub, len, key->msk);
+
+  return len;
+}
+
+struct GNUNET_CRYPTO_AbeMasterKey*
+GNUNET_CRYPTO_cpabe_deserialize_master_key (void *data,
+                                            size_t len)
+{
+  struct GNUNET_CRYPTO_AbeMasterKey *key;
+
+  key = GNUNET_new (struct GNUNET_CRYPTO_AbeMasterKey);
+  read_cpabe (data, &key->pub, &key->msk);
+
+  return key;
+}

-- 
To stop receiving notification emails like this one, please contact
address@hidden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]