Abstract class of PIB implementation. More...
#include <pib-impl.hpp>
Classes | |
class | Error |
represents a non-semantic error More... | |
Public Member Functions | |
virtual | ~PibImpl () |
virtual void | setTpmLocator (const std::string &tpmLocator)=0 |
Set the corresponding TPM information to tpmLocator . More... | |
virtual std::string | getTpmLocator () const =0 |
Get TPM Locator. More... | |
virtual bool | hasIdentity (const Name &identity) const =0 |
Check the existence of an identity. More... | |
virtual void | addIdentity (const Name &identity)=0 |
Add an identity. More... | |
virtual void | removeIdentity (const Name &identity)=0 |
Remove an identity. More... | |
virtual std::set< Name > | getIdentities () const =0 |
Get the name of all the identities. More... | |
virtual void | setDefaultIdentity (const Name &identityName)=0 |
Set an identity with name identityName as the default identity. More... | |
virtual Name | getDefaultIdentity () const =0 |
Get the default identity. More... | |
virtual bool | hasKey (const Name &identity, const name::Component &keyId) const =0 |
Check the existence of a key. More... | |
virtual void | addKey (const Name &identity, const name::Component &keyId, const PublicKey &publicKey)=0 |
Add a key. More... | |
virtual void | removeKey (const Name &identity, const name::Component &keyId)=0 |
Remove a key. More... | |
virtual PublicKey | getKeyBits (const Name &identity, const name::Component &keyId) const =0 |
Get the key bits of a key. More... | |
virtual std::set< name::Component > | getKeysOfIdentity (const Name &identity) const =0 |
Get all the key ids of an identity with name identity . More... | |
virtual void | setDefaultKeyOfIdentity (const Name &identity, const name::Component &keyId)=0 |
Set an key with id keyId as the default key of an identity with name identity . More... | |
virtual name::Component | getDefaultKeyOfIdentity (const Name &identity) const =0 |
Get the id of the default key of an identity with name identity . More... | |
virtual bool | hasCertificate (const Name &certName) const =0 |
Check the existence of a certificate with name certName . More... | |
virtual void | addCertificate (const IdentityCertificate &certificate)=0 |
Add a certificate. More... | |
virtual void | removeCertificate (const Name &certName)=0 |
Remove a certificate with name certName . More... | |
virtual IdentityCertificate | getCertificate (const Name &certName) const =0 |
Get a certificate with name certName . More... | |
virtual std::set< Name > | getCertificatesOfKey (const Name &identity, const name::Component &keyId) const =0 |
Get a list of certificate names of a key with id keyId of identity . More... | |
virtual void | setDefaultCertificateOfKey (const Name &identity, const name::Component &keyId, const Name &certName)=0 |
Set a cert with name certName as the default of a key with id keyId of identity . More... | |
virtual IdentityCertificate | getDefaultCertificateOfKey (const Name &identity, const name::Component &keyId) const =0 |
Get the default certificate of a key with id keyId of identity . 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 37 of file pib-impl.hpp.
|
inlinevirtual |
Definition at line 59 of file pib-impl.hpp.
References addCertificate(), addIdentity(), addKey(), getCertificate(), getCertificatesOfKey(), getDefaultCertificateOfKey(), getDefaultIdentity(), getDefaultKeyOfIdentity(), getIdentities(), getKeyBits(), getKeysOfIdentity(), getTpmLocator(), hasCertificate(), hasIdentity(), hasKey(), removeCertificate(), removeIdentity(), removeKey(), setDefaultCertificateOfKey(), setDefaultIdentity(), setDefaultKeyOfIdentity(), and setTpmLocator().
|
pure virtual |
Set the corresponding TPM information to tpmLocator
.
If the provided tpmLocator
is different from the existing one, the content in PIB will be cleaned up, otherwise nothing will be changed.
tpmLocator | The name for the new TPM locator |
Implemented in ndn::security::PibSqlite3, and ndn::security::PibMemory.
Referenced by ~PibImpl().
|
pure virtual |
Get TPM Locator.
Implemented in ndn::security::PibSqlite3, and ndn::security::PibMemory.
Referenced by ~PibImpl().
|
pure virtual |
Check the existence of an identity.
identity | The name of the identity. |
Implemented in ndn::security::PibSqlite3, and ndn::security::PibMemory.
Referenced by ~PibImpl().
|
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::PibSqlite3, and ndn::security::PibMemory.
Referenced by ~PibImpl().
|
pure virtual |
Remove an identity.
If the identity does not exist, do nothing. Remove related keys and certificates as well.
identity | The name of the identity to remove. |
Implemented in ndn::security::PibSqlite3, and ndn::security::PibMemory.
Referenced by ~PibImpl().
|
pure virtual |
Get the name of all the identities.
Implemented in ndn::security::PibSqlite3, and ndn::security::PibMemory.
Referenced by ~PibImpl().
|
pure virtual |
Set an identity with name identityName
as the default identity.
Since adding an identity only requires the identity name, create the identity if it does not exist.
identityName | The name for the default identity. |
Implemented in ndn::security::PibSqlite3, and ndn::security::PibMemory.
Referenced by ~PibImpl().
|
pure virtual |
Get the default identity.
Pib::Error | if no default identity. |
Implemented in ndn::security::PibSqlite3, and ndn::security::PibMemory.
Referenced by ~PibImpl().
|
pure virtual |
Check the existence of a key.
identity | The name of the belonged identity. |
keyId | The key id component. |
Implemented in ndn::security::PibSqlite3, and ndn::security::PibMemory.
Referenced by ~PibImpl().
|
pure virtual |
Add a key.
If the key already exists, do nothing. If the identity does not exist, add the identity as well. If no default key of the identity has been set, set the added one as default key of the identity.
identity | The name of the belonged identity. |
keyId | The key id component. |
publicKey | The public key bits. |
Implemented in ndn::security::PibSqlite3, and ndn::security::PibMemory.
Referenced by ~PibImpl().
|
pure virtual |
Remove a key.
If the key does not exist, do nothing. Remove related certificates as well.
identity | The name of the belonged identity. |
keyId | The key id component. |
Implemented in ndn::security::PibSqlite3, and ndn::security::PibMemory.
Referenced by ~PibImpl().
|
pure virtual |
Get the key bits of a key.
identity | The name of the belonged identity. |
keyId | The key id component. |
Pib::Error | if the key does not exist. |
Implemented in ndn::security::PibSqlite3, and ndn::security::PibMemory.
Referenced by ~PibImpl().
|
pure virtual |
Get all the key ids of an identity with name identity
.
The returned key ids can be used to create a KeyContainer. With key id, identity name, backend implementation, one can create a Key frontend instance.
Implemented in ndn::security::PibSqlite3, and ndn::security::PibMemory.
Referenced by ~PibImpl().
|
pure virtual |
Set an key with id keyId
as the default key of an identity with name identity
.
identity | The name of the belonged identity. |
keyId | The key id component. |
Pib::Error | if the key does not exist. |
Implemented in ndn::security::PibSqlite3, and ndn::security::PibMemory.
Referenced by ~PibImpl().
|
pure virtual |
Get the id of the default key of an identity with name identity
.
identity | The name of the belonged identity. |
Pib::Error | if no default key or the identity does not exist. |
Implemented in ndn::security::PibSqlite3, and ndn::security::PibMemory.
Referenced by ~PibImpl().
|
pure virtual |
Check the existence of a certificate with name certName
.
certName | The name of the certificate. |
Implemented in ndn::security::PibSqlite3, and ndn::security::PibMemory.
Referenced by ~PibImpl().
|
pure virtual |
Add a certificate.
If the certificate already exists, do nothing. If the key or identity do not exist, add them as well. If no default certificate of the key has been set, set the added one as default certificate of the key.
certificate | The certificate to add. |
Implemented in ndn::security::PibSqlite3, and ndn::security::PibMemory.
Referenced by ~PibImpl().
|
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::PibSqlite3, and ndn::security::PibMemory.
Referenced by ~PibImpl().
|
pure virtual |
Get a certificate with name certName
.
certName | The name of the certificate. |
Pib::Error | if the certificate does not exist. |
Implemented in ndn::security::PibSqlite3, and ndn::security::PibMemory.
Referenced by ~PibImpl().
|
pure virtual |
Get a list of certificate names of a key with id keyId
of identity
.
The returned certificate names can be used to create a CertificateContainer. With certificate name and backend implementation, one can obtain the certificate directly.
identity | The name of the belonging identity. |
keyId | The key id. |
Implemented in ndn::security::PibSqlite3, and ndn::security::PibMemory.
Referenced by ~PibImpl().
|
pure virtual |
Set a cert with name certName
as the default of a key with id keyId
of identity
.
identity | The name of the belonging identity. |
keyId | The key id. |
certName | The name of the certificate. |
Pib::Error | if the certificate with name certName does not exist. |
Implemented in ndn::security::PibSqlite3, and ndn::security::PibMemory.
Referenced by ~PibImpl().
|
pure virtual |
Get the default certificate of a key with id keyId
of identity
.
identity | The name of the belonging identity. |
keyId | The key id. |
Pib::Error | if the default certificate does not exist. |
Implemented in ndn::security::PibSqlite3, and ndn::security::PibMemory.
Referenced by ~PibImpl().