aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMITSUNARI Shigeo <herumi@nifty.com>2018-05-06 13:57:06 +0800
committerMITSUNARI Shigeo <herumi@nifty.com>2018-05-06 13:57:06 +0800
commitd8b46948459e94c5664afaae63eeca489f13e7b0 (patch)
tree0673875e85db281254995e782c16c8a56d17784f
parenta7cf9247a2afa13b78d25b7b52bddb095b512686 (diff)
downloaddexon-mcl-d8b46948459e94c5664afaae63eeca489f13e7b0.tar.gz
dexon-mcl-d8b46948459e94c5664afaae63eeca489f13e7b0.tar.zst
dexon-mcl-d8b46948459e94c5664afaae63eeca489f13e7b0.zip
add test of ecdsa::serializer
-rw-r--r--test/ecdsa_c_test.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/ecdsa_c_test.cpp b/test/ecdsa_c_test.cpp
index d3b360f..e0af381 100644
--- a/test/ecdsa_c_test.cpp
+++ b/test/ecdsa_c_test.cpp
@@ -2,6 +2,18 @@
#include <cybozu/test.hpp>
#include <string.h>
+template<class T, class Serializer, class Deserializer>
+void serializeTest(const T& x, const Serializer& serialize, const Deserializer& deserialize)
+{
+ char buf[128];
+ size_t n = serialize(buf, sizeof(buf), &x);
+ CYBOZU_TEST_ASSERT(n > 0);
+ T y;
+ size_t m = deserialize(&y, buf, n);
+ CYBOZU_TEST_EQUAL(m, n);
+ CYBOZU_TEST_ASSERT(memcmp(&x, &y, n) == 0);
+}
+
CYBOZU_TEST_AUTO(ecdsa)
{
int ret;
@@ -16,9 +28,12 @@ CYBOZU_TEST_AUTO(ecdsa)
ret = ecdsaSecretKeySetByCSPRNG(&sec);
CYBOZU_TEST_EQUAL(ret, 0);
+ serializeTest(sec, ecdsaSecretKeySerialize, ecdsaSecretKeyDeserialize);
ecdsaGetPublicKey(&pub, &sec);
+ serializeTest(pub, ecdsaPublicKeySerialize, ecdsaPublicKeyDeserialize);
ecdsaSign(&sig, &sec, msg, msgSize);
+ serializeTest(sig, ecdsaSignatureSerialize, ecdsaSignatureDeserialize);
CYBOZU_TEST_ASSERT(ecdsaVerify(&sig, &pub, msg, msgSize));
ppub = ecdsaPrecomputedPublicKeyCreate();