Skip to content

Commit

Permalink
Completed PersonalKeyStorage
Browse files Browse the repository at this point in the history
  • Loading branch information
GamePad64 committed Mar 3, 2013
1 parent 067b5da commit c49de8a
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 6 deletions.
27 changes: 23 additions & 4 deletions src/daemon/databases/PersonalKeyStorage.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,37 @@
*/

#include "PersonalKeyStorage.h"
#include "../../common/crypto/CurrentCipherSet.h"
#include <string>

namespace p2pnet {
namespace databases {

PersonalKeyStorage::PersonalKeyStorage() {
// TODO Auto-generated constructor stub
PersonalKeyStorage::PersonalKeyStorage() {}
PersonalKeyStorage::~PersonalKeyStorage() {}

void PersonalKeyStorage::regenerateKeys() {
crypto::CurrentCipherSet cs;
my_key_pair = cs.generateKeyPair();
my_transport_hash = cs.computeHash(std::string(my_key_pair.key_public.begin(), my_key_pair.key_public.end()));
}

PersonalKeyStorage::~PersonalKeyStorage() {
// TODO Auto-generated destructor stub
crypto::hash_t PersonalKeyStorage::getMyTransportHash() {
return my_transport_hash;
}

crypto::key_public_t PersonalKeyStorage::getMyPublicKey() {
return my_key_pair.key_public;
}

crypto::key_private_t PersonalKeyStorage::getMyPrivateKey() {
return my_key_pair.key_private;
}

crypto::key_pair_t PersonalKeyStorage::getMyKeyPair() {
return my_key_pair;
}

} /* namespace databases */
} /* namespace p2pnet */

10 changes: 8 additions & 2 deletions src/daemon/databases/PersonalKeyStorage.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ namespace p2pnet {
namespace databases {

class PersonalKeyStorage {
crypto::key_pair_t my_keys;
crypto::key_pair_t my_key_pair;
crypto::hash_t my_transport_hash;

protected:
Expand All @@ -38,7 +38,13 @@ class PersonalKeyStorage {
return instance;
}

crypto::hash_t getMyTransportHash() {return my_transport_hash;};
void regenerateKeys();

/**
* This function returns own transport hash from cache. If there is no such hash, then regenerate keys and hashes.
* @return My transport hash
*/
crypto::hash_t getMyTransportHash();

crypto::key_public_t getMyPublicKey();
crypto::key_private_t getMyPrivateKey();
Expand Down

0 comments on commit c49de8a

Please sign in to comment.