load eepsite keys

This commit is contained in:
orignal 2014-03-19 16:38:55 -04:00
parent 59d195c6da
commit c855d8b413
3 changed files with 26 additions and 2 deletions

View file

@ -1,4 +1,4 @@
#include <string>
#include <fstream>
#include <algorithm>
#include <cryptopp/gzip.h>
#include "Log.h"
@ -301,7 +301,6 @@ namespace stream
StreamingDestination::StreamingDestination (): m_LeaseSet (nullptr)
{
// TODO: read from file later
m_Keys = i2p::data::CreateRandomKeys ();
m_Identity = m_Keys;
m_IdentHash = i2p::data::CalculateIdentHash (m_Identity);
@ -310,6 +309,22 @@ namespace stream
m_Pool = i2p::tunnel::tunnels.CreateTunnelPool (this);
}
StreamingDestination::StreamingDestination (const std::string& fullPath): m_LeaseSet (nullptr)
{
std::ifstream s(fullPath.c_str (), std::ifstream::binary);
if (s.is_open ())
{
i2p::data::PrivateKeys keys;
s.read ((char *)&keys, sizeof (keys));
// TODO: use PrivateKeys
m_Identity = keys.pub;
memcpy (m_Keys.privateKey, keys.privateKey, 276);
}
else
LogPrint ("Can't open file ", fullPath);
m_Pool = i2p::tunnel::tunnels.CreateTunnelPool (this);
}
StreamingDestination::~StreamingDestination ()
{
if (m_LeaseSet)