26 #include <ibrcommon/Logger.h>
32 const std::string KeyExchangeSession::TAG =
"KeyExchangeSession";
39 : _protocol(protocol), _unique_id(uniqueId), _peer(peer.getNode()), _state(state), _expiration(0)
51 if (_state != NULL)
delete _state;
71 std::stringstream sstm;
72 sstm << uniqueId <<
"." << peer.
getString();
99 unsigned int id = getUniqueId();
100 std::string prefix((
char*)&
id,
sizeof id);
108 std::string prefix((
char*)&
id,
sizeof id);
130 std::list<dtn::security::SecurityKey::KeyType> types;
135 for (std::list<dtn::security::SecurityKey::KeyType>::const_iterator it = types.begin(); it != types.end(); ++it)
141 IBRCOMMON_LOGGER_DEBUG_TAG(TAG, 25) << e.what() << IBRCOMMON_LOGGER_ENDL;
static SecurityKeyManager & getInstance()
KeyExchangeSession(int protocol, const dtn::data::EID &peer, unsigned int uniqueId, SessionState *state=NULL)
const dtn::data::EID & getPeer() const
dtn::security::SecurityKey getKey(const dtn::security::SecurityKey::KeyType type=dtn::security::SecurityKey::KEY_UNSPEC) const
unsigned int getUniqueId() const
const std::string & getSessionKey() const
void putKey(const std::string &data, const dtn::security::SecurityKey::KeyType type, const dtn::security::SecurityKey::TrustLevel trust) const
virtual ~KeyExchangeSession()
void remove(const SecurityKey &key)
dtn::security::SecurityKey get(const dtn::data::EID &ref, const dtn::security::SecurityKey::KeyType type=dtn::security::SecurityKey::KEY_UNSPEC) const
virtual ~SessionState()=0
dtn::data::SDNV< unsigned int > flags
std::string getString() const
static dtn::data::Timestamp getMonotonicTimestamp()
void store(const dtn::security::SecurityKey &key, const std::string &data)
dtn::data::Timestamp getExpiration() const