Abstract class of PIB implementation. More...
#include <pib-impl.hpp>
Classes | |
class | Error |
represents a non-semantic error More... | |
Public Member Functions | |
virtual | ~PibImpl ()=default |
virtual void | addCertificate (const v2::Certificate &certificate)=0 |
Add a certificate. More... | |
virtual void | addIdentity (const Name &identity)=0 |
Add an identity. More... | |
virtual void | addKey (const Name &identity, const Name &keyName, const uint8_t *key, size_t keyLen)=0 |
Add a key. More... | |
virtual void | clearIdentities ()=0 |
Erasing all certificates, keys, and identities. More... | |
virtual v2::Certificate | getCertificate (const Name &certName) const =0 |
Get a certificate with name certName . More... | |
virtual std::set< Name > | getCertificatesOfKey (const Name &keyName) const =0 |
Get a list of certificate names of a key with id keyName . More... | |
virtual v2::Certificate | getDefaultCertificateOfKey (const Name &keyName) const =0 |
virtual Name | getDefaultIdentity () const =0 |
Get the default identity. More... | |
virtual Name | getDefaultKeyOfIdentity (const Name &identity) const =0 |
virtual std::set< Name > | getIdentities () const =0 |
Get the name of all the identities. More... | |
virtual Buffer | getKeyBits (const Name &keyName) const =0 |
Get the key bits of a key with name keyName . More... | |
virtual std::set< Name > | getKeysOfIdentity (const Name &identity) const =0 |
Get all the key names of an identity with name identity . More... | |
virtual std::string | getTpmLocator () const =0 |
Get TPM Locator. More... | |
virtual bool | hasCertificate (const Name &certName) const =0 |
Check the existence of a certificate with name certName . More... | |
virtual bool | hasIdentity (const Name &identity) const =0 |
Check the existence of an identity. More... | |
virtual bool | hasKey (const Name &keyName) const =0 |
Check the existence of a key with keyName . More... | |
virtual void | removeCertificate (const Name &certName)=0 |
Remove a certificate with name certName . More... | |
virtual void | removeIdentity (const Name &identity)=0 |
Remove an identity and related keys and certificates. More... | |
virtual void | removeKey (const Name &keyName)=0 |
Remove a key with keyName and related certificates. More... | |
virtual void | setDefaultCertificateOfKey (const Name &keyName, const Name &certName)=0 |
Set a cert with name certName as the default of a key with keyName . More... | |
virtual void | setDefaultIdentity (const Name &identityName)=0 |
Set an identity with name identityName as the default identity. More... | |
virtual void | setDefaultKeyOfIdentity (const Name &identity, const Name &keyName)=0 |
Set an key with keyName as the default key of an identity with name identity . More... | |
virtual void | setTpmLocator (const std::string &tpmLocator)=0 |
Set the corresponding TPM information to tpmLocator . More... | |
Abstract class of PIB implementation.
This class defines the interface that an actual PIB (e.g., one based on sqlite3) implementation should provide.
Definition at line 39 of file pib-impl.hpp.
|
virtualdefault |
|
pure virtual |
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. |
Implemented in ndn::security::pib::PibSqlite3, and ndn::security::pib::PibMemory.
|
pure virtual |
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. |
Implemented in ndn::security::pib::PibSqlite3, and ndn::security::pib::PibMemory.
|
pure virtual |
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. |
Implemented in ndn::security::pib::PibSqlite3, and ndn::security::pib::PibMemory.
|
pure virtual |
Erasing all certificates, keys, and identities.
Implemented in ndn::security::pib::PibSqlite3, and ndn::security::pib::PibMemory.
|
pure virtual |
Get a certificate with name certName
.
certName | The name of the certificate. |
Pib::Error | the certificate does not exist. |
Implemented in ndn::security::pib::PibSqlite3, and ndn::security::pib::PibMemory.
|
pure virtual |
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.
Implemented in ndn::security::pib::PibSqlite3, and ndn::security::pib::PibMemory.
|
pure virtual |
keyName
.Pib::Error | the default certificate does not exist. |
Implemented in ndn::security::pib::PibSqlite3, and ndn::security::pib::PibMemory.
|
pure virtual |
Get the default identity.
Pib::Error | no default identity. |
Implemented in ndn::security::pib::PibSqlite3, and ndn::security::pib::PibMemory.
|
pure virtual |
identity
.Pib::Error | no default key or the identity does not exist. |
Implemented in ndn::security::pib::PibSqlite3, and ndn::security::pib::PibMemory.
|
pure virtual |
Get the name of all the identities.
Implemented in ndn::security::pib::PibSqlite3, and ndn::security::pib::PibMemory.
Get the key bits of a key with name keyName
.
Pib::Error | the key does not exist. |
Implemented in ndn::security::pib::PibSqlite3, and ndn::security::pib::PibMemory.
|
pure virtual |
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.
Implemented in ndn::security::pib::PibSqlite3, and ndn::security::pib::PibMemory.
|
pure virtual |
Get TPM Locator.
Implemented in ndn::security::pib::PibSqlite3, and ndn::security::pib::PibMemory.
|
pure virtual |
Check the existence of a certificate with name certName
.
certName | The name of the certificate. |
Implemented in ndn::security::pib::PibSqlite3, and ndn::security::pib::PibMemory.
|
pure virtual |
Check the existence of an identity.
identity | The name of the identity. |
Implemented in ndn::security::pib::PibSqlite3, and ndn::security::pib::PibMemory.
|
pure virtual |
Check the existence of a key with keyName
.
Implemented in ndn::security::pib::PibSqlite3, and ndn::security::pib::PibMemory.
|
pure virtual |
Remove a certificate with name certName
.
If the certificate does not exist, do nothing.
certName | The name of the certificate. |
Implemented in ndn::security::pib::PibSqlite3, and ndn::security::pib::PibMemory.
|
pure virtual |
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. |
Implemented in ndn::security::pib::PibSqlite3, and ndn::security::pib::PibMemory.
|
pure virtual |
Remove a key with keyName
and related certificates.
If the key does not exist, do nothing.
Implemented in ndn::security::pib::PibSqlite3, and ndn::security::pib::PibMemory.
|
pure virtual |
Set a cert with name certName
as the default of a key with keyName
.
Pib::Error | the certificate with name certName does not exist. |
Implemented in ndn::security::pib::PibSqlite3, and ndn::security::pib::PibMemory.
|
pure virtual |
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. |
Implemented in ndn::security::pib::PibSqlite3, and ndn::security::pib::PibMemory.
|
pure virtual |
Set an key with keyName
as the default key of an identity with name identity
.
Pib::Error | the key does not exist. |
Implemented in ndn::security::pib::PibSqlite3, and ndn::security::pib::PibMemory.
|
pure virtual |
Set the corresponding TPM information to tpmLocator
.
This method does not reset contents of the PIB
Implemented in ndn::security::pib::PibSqlite3, and ndn::security::pib::PibMemory.