An in-memory implementation of Pib. More...
#include <ndn-cxx/security/pib/pib-memory.hpp>
Public Member Functions | |
PibMemory (const std::string &location="") | |
Create memory based PIB backend. More... | |
void | addCertificate (const v2::Certificate &certificate) override |
Add a certificate. More... | |
void | addIdentity (const Name &identity) override |
Add an identity. More... | |
void | addKey (const Name &identity, const Name &keyName, const uint8_t *key, size_t keyLen) override |
Add a key. More... | |
void | clearIdentities () override |
Erasing all certificates, keys, and identities. More... | |
v2::Certificate | getCertificate (const Name &certName) const override |
Get a certificate with name certName . More... | |
std::set< Name > | getCertificatesOfKey (const Name &keyName) const override |
Get a list of certificate names of a key with id keyName . More... | |
v2::Certificate | getDefaultCertificateOfKey (const Name &keyName) const override |
Name | getDefaultIdentity () const override |
Get the default identity. More... | |
Name | getDefaultKeyOfIdentity (const Name &identity) const override |
std::set< Name > | getIdentities () const override |
Get the name of all the identities. More... | |
Buffer | getKeyBits (const Name &keyName) const override |
Get the key bits of a key with name keyName . More... | |
std::set< Name > | getKeysOfIdentity (const Name &identity) const override |
Get all the key names of an identity with name identity . More... | |
std::string | getTpmLocator () const override |
Get TPM Locator. More... | |
bool | hasCertificate (const Name &certName) const override |
Check the existence of a certificate with name certName . More... | |
bool | hasIdentity (const Name &identity) const override |
Check the existence of an identity. More... | |
bool | hasKey (const Name &keyName) const override |
Check the existence of a key with keyName . More... | |
void | removeCertificate (const Name &certName) override |
Remove a certificate with name certName . More... | |
void | removeIdentity (const Name &identity) override |
Remove an identity and related keys and certificates. More... | |
void | removeKey (const Name &keyName) override |
Remove a key with keyName and related certificates. More... | |
void | setDefaultCertificateOfKey (const Name &keyName, const Name &certName) override |
Set a cert with name certName as the default of a key with keyName . More... | |
void | setDefaultIdentity (const Name &identityName) override |
Set an identity with name identityName as the default identity. More... | |
void | setDefaultKeyOfIdentity (const Name &identity, const Name &keyName) override |
Set an key with keyName as the default key of an identity with name identity . More... | |
void | setTpmLocator (const std::string &tpmLocator) override |
Set the corresponding TPM information to tpmLocator . More... | |
Static Public Member Functions | |
static const std::string & | getScheme () |
An in-memory implementation of Pib.
All the contents in Pib are stored in memory and have the same lifetime as the implementation instance.
Definition at line 37 of file pib-memory.hpp.
|
explicit |
Create memory based PIB backend.
location | Not used (required by the PIB-registration interface) |
Definition at line 32 of file pib-memory.cpp.
|
overridevirtual |
Add a certificate.
If a certificate with the same name (without implicit digest) already exists, overwrite the certificate. If the key or identity does not exist, they will be created. If no default certificate of the key has been set, set the added one as default certificate of the key. If no default key was set for the identity, it will be set as default key for the identity. If no default identity was selected, the certificate's identity becomes default.
certificate | The certificate to add. |
Implements ndn::security::pib::PibImpl.
Definition at line 209 of file pib-memory.cpp.
|
overridevirtual |
Add an identity.
If the identity already exists, do nothing. If no default identity has been set, set the added one as default identity.
identity | The name of the identity to add. |
Implements ndn::security::pib::PibImpl.
Definition at line 63 of file pib-memory.cpp.
|
overridevirtual |
Add a key.
If a key with the same name already exists, overwrite the key. If the identity does not exist, it will be created. If no default key of the identity has been set, set the added one as default key of the identity. If no default identity has been set, identity
becomes the default.
identity | The name of the belonged identity. |
keyName | The key name. |
key | The public key bits. |
keyLen | The length of the public key. |
Implements ndn::security::pib::PibImpl.
Definition at line 131 of file pib-memory.cpp.
|
overridevirtual |
Erasing all certificates, keys, and identities.
Implements ndn::security::pib::PibImpl.
Definition at line 89 of file pib-memory.cpp.
|
overridevirtual |
Get a certificate with name certName
.
certName | The name of the certificate. |
Pib::Error | the certificate does not exist. |
Implements ndn::security::pib::PibImpl.
Definition at line 234 of file pib-memory.cpp.
|
overridevirtual |
Get a list of certificate names of a key with id keyName
.
The returned certificate names can be used to create a CertificateContainer. With certificate name and backend implementation, one can obtain the certificate.
Implements ndn::security::pib::PibImpl.
Definition at line 245 of file pib-memory.cpp.
|
overridevirtual |
keyName
.Pib::Error | the default certificate does not exist. |
Implements ndn::security::pib::PibImpl.
Definition at line 267 of file pib-memory.cpp.
|
overridevirtual |
Get the default identity.
Pib::Error | no default identity. |
Implements ndn::security::pib::PibImpl.
Definition at line 115 of file pib-memory.cpp.
|
overridevirtual |
identity
.Pib::Error | no default key or the identity does not exist. |
Implements ndn::security::pib::PibImpl.
Definition at line 192 of file pib-memory.cpp.
|
overridevirtual |
Get the name of all the identities.
Implements ndn::security::pib::PibImpl.
Definition at line 101 of file pib-memory.cpp.
Get the key bits of a key with name keyName
.
Pib::Error | the key does not exist. |
Implements ndn::security::pib::PibImpl.
Definition at line 158 of file pib-memory.cpp.
|
overridevirtual |
Get all the key names of an identity with name identity
.
The returned key names can be used to create a KeyContainer. With key name and backend implementation, one can create a Key frontend instance.
Implements ndn::security::pib::PibImpl.
Definition at line 170 of file pib-memory.cpp.
|
static |
Definition at line 38 of file pib-memory.cpp.
|
overridevirtual |
Get TPM Locator.
Implements ndn::security::pib::PibImpl.
Definition at line 51 of file pib-memory.cpp.
|
overridevirtual |
Check the existence of a certificate with name certName
.
certName | The name of the certificate. |
Implements ndn::security::pib::PibImpl.
Definition at line 203 of file pib-memory.cpp.
|
overridevirtual |
Check the existence of an identity.
identity | The name of the identity. |
Implements ndn::security::pib::PibImpl.
Definition at line 57 of file pib-memory.cpp.
|
overridevirtual |
Check the existence of a key with keyName
.
Implements ndn::security::pib::PibImpl.
Definition at line 125 of file pib-memory.cpp.
|
overridevirtual |
Remove a certificate with name certName
.
If the certificate does not exist, do nothing.
certName | The name of the certificate. |
Implements ndn::security::pib::PibImpl.
Definition at line 224 of file pib-memory.cpp.
|
overridevirtual |
Remove an identity and related keys and certificates.
If the default identity is being removed, no default identity will be selected. If the identity does not exist, do nothing.
identity | The name of the identity to remove. |
Implements ndn::security::pib::PibImpl.
Definition at line 74 of file pib-memory.cpp.
|
overridevirtual |
Remove a key with keyName
and related certificates.
If the key does not exist, do nothing.
Implements ndn::security::pib::PibImpl.
Definition at line 144 of file pib-memory.cpp.
|
overridevirtual |
Set a cert with name certName
as the default of a key with keyName
.
Pib::Error | the certificate with name certName does not exist. |
Implements ndn::security::pib::PibImpl.
Definition at line 257 of file pib-memory.cpp.
|
overridevirtual |
Set an identity with name identityName
as the default identity.
If identityName
identity does not exist, it will be created.
identityName | The name for the default identity. |
Implements ndn::security::pib::PibImpl.
Definition at line 107 of file pib-memory.cpp.
|
overridevirtual |
Set an key with keyName
as the default key of an identity with name identity
.
Pib::Error | the key does not exist. |
Implements ndn::security::pib::PibImpl.
Definition at line 182 of file pib-memory.cpp.
|
overridevirtual |
Set the corresponding TPM information to tpmLocator
.
This method does not reset contents of the PIB
Implements ndn::security::pib::PibImpl.
Definition at line 45 of file pib-memory.cpp.