diff options
author | MITSUNARI Shigeo <herumi@nifty.com> | 2018-05-06 13:57:06 +0800 |
---|---|---|
committer | MITSUNARI Shigeo <herumi@nifty.com> | 2018-05-06 13:57:06 +0800 |
commit | d8b46948459e94c5664afaae63eeca489f13e7b0 (patch) | |
tree | 0673875e85db281254995e782c16c8a56d17784f | |
parent | a7cf9247a2afa13b78d25b7b52bddb095b512686 (diff) | |
download | dexon-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.cpp | 15 |
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(); |