represents the PIB More...
#include <pib.hpp>
Classes | |
class | Error |
represents a semantic error More... | |
Public Member Functions | |
~Pib () | |
std::string | getScheme () const |
return the scheme of the PibLocator More... | |
std::string | getPibLocator () const |
Get PIB Locator. More... | |
void | setTpmLocator (const std::string &tpmLocator) |
Set the corresponding TPM information to tpmLocator . More... | |
std::string | getTpmLocator () const |
Get TPM Locator. More... | |
Identity | getIdentity (const Name &identityName) const |
Get an identity with name identityName . More... | |
const IdentityContainer & | getIdentities () const |
Get all the identities. More... | |
Identity & | getDefaultIdentity () const |
Get the default identity. More... | |
void | removeIdentity (const Name &identityName) |
Identity & | setDefaultIdentity (const Name &identityName) |
Set an identity with name identityName as the default identity. More... | |
shared_ptr< PibImpl > | getImpl () |
Public Attributes | |
NDN_CXX_PUBLIC_WITH_TESTS_ELSE_PRIVATE | __pad0__: Identity addIdentity(const Name& identityName) |
NDN_CXX_PUBLIC_WITH_TESTS_ELSE_PRIVATE | __pad1__: Pib(const std::string scheme |
NDN_CXX_PUBLIC_WITH_TESTS_ELSE_PRIVATE const std::string & | location |
NDN_CXX_PUBLIC_WITH_TESTS_ELSE_PRIVATE const std::string shared_ptr< PibImpl > | impl |
Protected Attributes | |
std::string | m_scheme |
std::string | m_location |
bool | m_hasDefaultIdentity |
Identity | m_defaultIdentity |
bool | m_needRefreshIdentities |
IdentityContainer | m_identities |
shared_ptr< PibImpl > | m_impl |
Friends | |
class | KeyChain |
represents the PIB
The PIB (Public Information Base) stores the public portion of a user's cryptography keys. The format and location of stored information is indicated by the PibLocator. The PIB is designed to work with a TPM (Trusted Platform Module) which stores private keys. There is a one-to-one association between PIB and TPM, and therefore the TpmLocator is recorded by the PIB to enforce this association and prevent one from operating on mismatched PIB and TPM.
Information in the PIB is organized in a hierarchy of Identity-Key-Certificate. At the top level, the Pib class provides access to identities, and allows setting a default identity. Properties of an identity can be accessed after obtaining an Identity object.
PibImpl::Error | when underlying implementation has non-semantic error. |
ndn::security::Pib::~Pib | ( | ) |
Definition at line 37 of file pib.cpp.
Referenced by ndn::security::Pib::Error::Error().
|
inline |
return the scheme of the PibLocator
Definition at line 73 of file pib.hpp.
References getDefaultIdentity(), getIdentities(), getIdentity(), getPibLocator(), getTpmLocator(), m_scheme, NDN_CXX_PUBLIC_WITH_TESTS_ELSE_PRIVATE, and setTpmLocator().
std::string ndn::security::Pib::getPibLocator | ( | ) | const |
void ndn::security::Pib::setTpmLocator | ( | const std::string & | tpmLocator | ) |
Set the corresponding TPM information to tpmLocator
.
If the provided tpmLocator
is different from the existing one, the PIB will be reset, otherwise nothing will be changed.
tpmLocator | The name for the new TPM locator |
Definition at line 48 of file pib.cpp.
Referenced by getScheme().
std::string ndn::security::Pib::getTpmLocator | ( | ) | const |
Get an identity with name identityName
.
identityName | The name for the identity to get. |
Pib::Error | if the identity does not exist. |
Definition at line 81 of file pib.cpp.
Referenced by getScheme().
const IdentityContainer & ndn::security::Pib::getIdentities | ( | ) | const |
Identity & ndn::security::Pib::getDefaultIdentity | ( | ) | const |
Get the default identity.
Pib::Error | if no default identity. |
Definition at line 108 of file pib.cpp.
Referenced by getScheme().
void ndn::security::Pib::removeIdentity | ( | const Name & | identityName | ) |
Set an identity with name identityName
as the default identity.
Also create the identity if it does not exist.
identityName | The name for the default identity. |
Definition at line 98 of file pib.cpp.
References ndn::security::PibSqlite3::addIdentity().
|
inline |
NDN_CXX_PUBLIC_WITH_TESTS_ELSE_PRIVATE ndn::security::Pib::__pad0__ |
NDN_CXX_PUBLIC_WITH_TESTS_ELSE_PRIVATE ndn::security::Pib::__pad1__ |
NDN_CXX_PUBLIC_WITH_TESTS_ELSE_PRIVATE const std::string& ndn::security::Pib::location |
NDN_CXX_PUBLIC_WITH_TESTS_ELSE_PRIVATE const std::string shared_ptr<PibImpl> ndn::security::Pib::impl |
|
protected |
Definition at line 172 of file pib.hpp.
Referenced by getScheme().
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
protected |