diff options
author | Adam Ierymenko <adam.ierymenko@gmail.com> | 2013-09-16 15:06:17 -0400 |
---|---|---|
committer | Adam Ierymenko <adam.ierymenko@gmail.com> | 2013-09-16 15:06:17 -0400 |
commit | 77f8d75529e401ac7b45927f1d75b4df87bc0c55 (patch) | |
tree | 8da195cf4a75b26a81240b0923bc0fc6ba199f11 | |
parent | 94bf3e9a0e0bb14becf3102baec3620b34b648e6 (diff) | |
download | infinitytier-77f8d75529e401ac7b45927f1d75b4df87bc0c55.tar.gz infinitytier-77f8d75529e401ac7b45927f1d75b4df87bc0c55.zip |
Fix idtool build, tweak address derivation again.
-rw-r--r-- | idtool.cpp | 14 | ||||
-rw-r--r-- | node/Identity.cpp | 2 |
2 files changed, 6 insertions, 10 deletions
@@ -33,6 +33,7 @@ #include "node/Identity.hpp" #include "node/Utils.hpp" +#include "node/C25519.hpp" using namespace ZeroTier; @@ -131,13 +132,8 @@ int main(int argc,char **argv) std::cerr << argv[3] << " is not readable" << std::endl; return -1; } - std::string signature = id.sign(inf.data(),inf.length()); - if (!signature.length()) { - std::cerr << "Error computing SHA256 or signature (bug?)" << std::endl; - return -1; - } - - std::cout << Utils::base64Encode(signature.data(),signature.length()); + C25519::Signature signature = id.sign(inf.data(),inf.length()); + std::cout << Utils::hex(signature.data,signature.size()); } else if (!strcmp(argv[1],"verify")) { if (argc < 4) { printHelp(argv[0]); @@ -156,8 +152,8 @@ int main(int argc,char **argv) return -1; } - std::string signature(Utils::base64Decode(argv[4],strlen(argv[4]))); - if ((signature.length() > ZT_ADDRESS_LENGTH)&&(id.verifySignature(inf.data(),inf.length(),signature.data(),signature.length()))) { + std::string signature(Utils::unhex(argv[4])); + if ((signature.length() > ZT_ADDRESS_LENGTH)&&(id.verify(inf.data(),inf.length(),signature.data(),signature.length()))) { std::cout << argv[3] << " signature valid" << std::endl; } else { std::cerr << argv[3] << " signature check FAILED" << std::endl; diff --git a/node/Identity.cpp b/node/Identity.cpp index db56716a..161ec659 100644 --- a/node/Identity.cpp +++ b/node/Identity.cpp @@ -132,7 +132,7 @@ bool Identity::fromString(const char *str) // These are fixed parameters and can't be changed without a new // identity type. #define ZT_IDENTITY_DERIVEADDRESS_MEMORY 33554432 -#define ZT_IDENTITY_DERIVEADDRESS_ROUNDS 64 +#define ZT_IDENTITY_DERIVEADDRESS_ROUNDS 50 Address Identity::deriveAddress(const void *keyBytes,unsigned int keyLen) { |