Browse Source

load eepsite keys

pull/48/head
orignal 11 years ago
parent
commit
c855d8b413
  1. 7
      Identity.h
  2. 19
      Streaming.cpp
  3. 2
      Streaming.h

7
Identity.h

@ -28,6 +28,13 @@ namespace data @@ -28,6 +28,13 @@ namespace data
Identity& operator=(const Keys& keys);
};
struct PrivateKeys // for eepsites
{
Identity pub;
uint8_t privateKey[256];
uint8_t signingPrivateKey[20];
};
#pragma pack()
class IdentHash

19
Streaming.cpp

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
#include <string>
#include <fstream>
#include <algorithm>
#include <cryptopp/gzip.h>
#include "Log.h"
@ -301,7 +301,6 @@ namespace stream @@ -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 @@ -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)

2
Streaming.h

@ -2,6 +2,7 @@ @@ -2,6 +2,7 @@
#define STREAMING_H__
#include <inttypes.h>
#include <string>
#include <map>
#include <set>
#include <cryptopp/dsa.h>
@ -106,6 +107,7 @@ namespace stream @@ -106,6 +107,7 @@ namespace stream
public:
StreamingDestination ();
StreamingDestination (const std::string& fullPath);
~StreamingDestination ();
const i2p::data::Keys& GetKeys () const { return m_Keys; };

Loading…
Cancel
Save