aboutsummaryrefslogtreecommitdiffstats
path: root/TestHelperCrypto.h
diff options
context:
space:
mode:
Diffstat (limited to 'TestHelperCrypto.h')
-rw-r--r--TestHelperCrypto.h56
1 files changed, 56 insertions, 0 deletions
diff --git a/TestHelperCrypto.h b/TestHelperCrypto.h
new file mode 100644
index 00000000..6feeeb97
--- /dev/null
+++ b/TestHelperCrypto.h
@@ -0,0 +1,56 @@
+/*
+ This file is part of cpp-ethereum.
+
+ cpp-ethereum is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ cpp-ethereum is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with cpp-ethereum. If not, see <http://www.gnu.org/licenses/>.
+ */
+/** @file TestHelperCrypto.h
+ * @author Alex Leverington <nessence@gmail.com>
+ * @date 2014
+ */
+
+#pragma once
+
+//#include <ostream>
+#include <eccrypto.h>
+#include <ecp.h>
+#include <files.h>
+#include <osrng.h>
+#include <oids.h>
+
+using namespace std;
+using namespace CryptoPP;
+
+void SavePrivateKey(const PrivateKey& key, const string& file = "ecies.private.key")
+{
+ FileSink sink(file.c_str());
+ key.Save(sink);
+}
+
+void SavePublicKey(const PublicKey& key, const string& file = "ecies.public.key")
+{
+ FileSink sink(file.c_str());
+ key.Save(sink);
+}
+
+void LoadPrivateKey(PrivateKey& key, const string& file = "ecies.private.key")
+{
+ FileSource source(file.c_str(), true);
+ key.Load(source);
+}
+
+void LoadPublicKey(PublicKey& key, const string& file = "ecies.public.key")
+{
+ FileSource source(file.c_str(), true);
+ key.Load(source);
+}