IBR-DTN
1.0.0
|
#include <SecurityKeyManager.h>
Classes | |
class | PathNotFoundException |
Static Public Member Functions | |
static SecurityKeyManager & | getInstance () |
Definition at line 37 of file SecurityKeyManager.h.
|
virtual |
Definition at line 52 of file SecurityKeyManager.cpp.
dtn::security::SecurityKey dtn::security::SecurityKeyManager::get | ( | const dtn::data::EID & | ref, |
const dtn::security::SecurityKey::KeyType | type = dtn::security::SecurityKey::KEY_UNSPEC |
||
) | const | ||
throw | ( | SecurityKey::KeyNotFoundException | |
) |
Get a security key from the standard key path
Definition at line 165 of file SecurityKeyManager.cpp.
References dtn::security::SecurityKey::file, dtn::daemon::Configuration::Security::getBABDefaultKey(), dtn::daemon::Configuration::getInstance(), dtn::data::EID::getNode(), dtn::daemon::Configuration::getSecurity(), dtn::security::SecurityKey::KEY_SHARED, dtn::security::SecurityKey::reference, and dtn::security::SecurityKey::type.
Referenced by dtn::security::SecurityManager::auth(), dtn::security::QRCodeProtocol::begin(), dtn::security::NoneProtocol::begin(), dtn::security::HashProtocol::begin(), dtn::security::SecurityManager::decrypt(), dtn::security::SecurityManager::encrypt(), dtn::security::KeyExchanger::finish(), dtn::security::KeyExchangeSession::getKey(), dtn::daemon::NativeDaemon::getKeyInfo(), dtn::daemon::NativeDaemon::removeKey(), dtn::security::SecurityManager::sign(), dtn::security::NoneProtocol::step(), dtn::security::HashProtocol::step(), dtn::security::JPAKEProtocol::step(), dtn::security::DHProtocol::step(), dtn::security::SecurityManager::verifyAuthentication(), and dtn::security::SecurityManager::verifyIntegrity().
dtn::security::SecurityKey dtn::security::SecurityKeyManager::get | ( | const std::string & | prefix, |
const dtn::data::EID & | ref, | ||
const dtn::security::SecurityKey::KeyType | type = dtn::security::SecurityKey::KEY_UNSPEC |
||
) | const | ||
throw | ( | SecurityKey::KeyNotFoundException | |
) |
Get a security key from the prefixed path
Definition at line 152 of file SecurityKeyManager.cpp.
References dtn::security::SecurityKey::file, dtn::data::EID::getNode(), dtn::security::SecurityKey::reference, and dtn::security::SecurityKey::type.
const ibrcommon::File dtn::security::SecurityKeyManager::getFilePath | ( | const std::string & | keyword, |
const std::string & | extension | ||
) | const |
Returns the path to a security related file based on the keyword.
Definition at line 294 of file SecurityKeyManager.cpp.
Referenced by dtn::security::DHProtocol::initialize().
|
static |
Definition at line 42 of file SecurityKeyManager.cpp.
Referenced by dtn::security::SecurityManager::auth(), dtn::security::NoneProtocol::begin(), dtn::security::QRCodeProtocol::begin(), dtn::security::HashProtocol::begin(), dtn::security::KeyExchangeSession::clearKeys(), dtn::security::SecurityManager::decrypt(), dtn::security::SecurityManager::encrypt(), dtn::security::KeyExchanger::finish(), dtn::security::KeyExchangeSession::getKey(), dtn::daemon::NativeDaemon::getKeyInfo(), dtn::security::DHProtocol::initialize(), dtn::security::KeyExchangeSession::putKey(), dtn::daemon::NativeDaemon::removeKey(), dtn::daemon::NativeDaemon::setConfigFile(), dtn::security::SecurityManager::sign(), dtn::security::NoneProtocol::step(), dtn::security::HashProtocol::step(), dtn::security::JPAKEProtocol::step(), dtn::security::DHProtocol::step(), dtn::security::SecurityManager::verifyAuthentication(), and dtn::security::SecurityManager::verifyIntegrity().
const ibrcommon::File dtn::security::SecurityKeyManager::getKeyFile | ( | const std::string & | prefix, |
const dtn::data::EID & | peer, | ||
const dtn::security::SecurityKey::KeyType | type = dtn::security::SecurityKey::KEY_UNSPEC |
||
) | const |
Returns the prefixes path to the key of given type
Definition at line 276 of file SecurityKeyManager.cpp.
References dtn::security::SecurityKey::KEY_PRIVATE, dtn::security::SecurityKey::KEY_PUBLIC, and dtn::security::SecurityKey::KEY_SHARED.
const ibrcommon::File dtn::security::SecurityKeyManager::getKeyFile | ( | const dtn::data::EID & | peer, |
const dtn::security::SecurityKey::KeyType | type = dtn::security::SecurityKey::KEY_UNSPEC |
||
) | const |
Returns the path to the key of given type
Definition at line 258 of file SecurityKeyManager.cpp.
References dtn::security::SecurityKey::KEY_PRIVATE, dtn::security::SecurityKey::KEY_PUBLIC, and dtn::security::SecurityKey::KEY_SHARED.
bool dtn::security::SecurityKeyManager::hasKey | ( | const dtn::data::EID & | ref, |
const dtn::security::SecurityKey::KeyType | type = dtn::security::SecurityKey::KEY_UNSPEC |
||
) | const |
Checks if a security key exists
Definition at line 102 of file SecurityKeyManager.cpp.
References getKeyFile().
|
virtual |
Listen for changes of the configuration
Implements dtn::daemon::Configuration::OnChangeListener.
Definition at line 56 of file SecurityKeyManager.cpp.
References dtn::daemon::Configuration::Security::enabled(), dtn::daemon::Configuration::Security::getCertificate(), dtn::daemon::Configuration::Security::getKey(), dtn::daemon::Configuration::Security::getPath(), dtn::data::EID::getString(), dtn::security::SecurityKey::KEY_PUBLIC, and dtn::core::BundleCore::local.
Referenced by dtn::daemon::NativeDaemon::setConfigFile().
void dtn::security::SecurityKeyManager::remove | ( | const SecurityKey & | key | ) |
Remove a security key
Definition at line 248 of file SecurityKeyManager.cpp.
References dtn::security::SecurityKey::file, and dtn::security::SecurityKey::getMetaFilename().
Referenced by dtn::security::KeyExchangeSession::clearKeys(), and dtn::daemon::NativeDaemon::removeKey().
void dtn::security::SecurityKeyManager::store | ( | const dtn::security::SecurityKey & | key, |
const std::string & | data | ||
) |
Store a security key in the standard key path
Definition at line 216 of file SecurityKeyManager.cpp.
References dtn::security::SecurityKey::file, getKeyFile(), dtn::security::SecurityKey::getMetaFilename(), dtn::security::SecurityKey::reference, and dtn::security::SecurityKey::type.
Referenced by dtn::security::KeyExchanger::finish(), dtn::security::KeyExchangeSession::putKey(), and store().
void dtn::security::SecurityKeyManager::store | ( | const std::string & | prefix, |
const dtn::security::SecurityKey & | key, | ||
const std::string & | data | ||
) |
Store a security key in the prefixed path
Definition at line 232 of file SecurityKeyManager.cpp.
References dtn::security::SecurityKey::file, getKeyFile(), dtn::security::SecurityKey::getMetaFilename(), dtn::security::SecurityKey::reference, and dtn::security::SecurityKey::type.
void dtn::security::SecurityKeyManager::store | ( | const dtn::security::SecurityKey & | key | ) |
Store a security key object in the standard key path
Definition at line 206 of file SecurityKeyManager.cpp.
References dtn::security::SecurityKey::file, and store().