NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.5: NDN, CCN, CCNx, content centric networks
API Documentation
ndn::security::DummyPib Class Reference

#include <dummy-keychain.hpp>

Inheritance diagram for ndn::security::DummyPib:
Collaboration diagram for ndn::security::DummyPib:

Classes

class  Error
 

Public Member Functions

 DummyPib (const std::string &locator)
 
void setTpmLocator (const std::string &tpmLocator) override
 Set the corresponding TPM information to tpmLocator. More...
 
std::string getTpmLocator () const override
 Get TPM Locator. More...
 
bool hasIdentity (const Name &identityName) const override
 Check the existence of an identity. More...
 
void addIdentity (const Name &identityName) override
 Add an identity. More...
 
void removeIdentity (const Name &identity) override
 Remove an identity and related keys and certificates. More...
 
void clearIdentities () override
 Erasing all certificates, keys, and identities. More...
 
std::set< NamegetIdentities () const override
 Get the name of all the identities. More...
 
void setDefaultIdentity (const Name &identityName) override
 Set an identity with name identityName as the default identity. More...
 
Name getDefaultIdentity () const override
 Get the default identity. More...
 
bool hasKey (const Name &keyName) const override
 Check the existence of a key with keyName. More...
 
void addKey (const Name &identity, const Name &keyName, const uint8_t *key, size_t keyLen) override
 Add a key. More...
 
void removeKey (const Name &keyName) override
 Remove a key with keyName and related certificates. More...
 
Buffer getKeyBits (const Name &keyName) const override
 Get the key bits of a key with name keyName. More...
 
std::set< NamegetKeysOfIdentity (const Name &identity) const override
 Get all the key names of an identity with name 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...
 
Name getDefaultKeyOfIdentity (const Name &identity) const override
 
bool hasCertificate (const Name &certName) const override
 Check the existence of a certificate with name certName. More...
 
void addCertificate (const v2::Certificate &certificate) override
 Add a certificate. More...
 
void removeCertificate (const Name &certName) override
 Remove a certificate with name certName. More...
 
v2::Certificate getCertificate (const Name &certificateName) const override
 Get a certificate with name certName. More...
 
std::set< NamegetCertificatesOfKey (const Name &keyName) const override
 Get a list of certificate names of a key with id keyName. 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...
 
v2::Certificate getDefaultCertificateOfKey (const Name &keyName) const override
 
- Public Member Functions inherited from ndn::security::pib::PibImpl
virtual ~PibImpl ()=default
 

Static Public Member Functions

static std::string getScheme ()
 

Static Public Attributes

static const std::string SCHEME = "pib-dummy"
 

Detailed Description

Definition at line 36 of file dummy-keychain.hpp.

Constructor & Destructor Documentation

◆ DummyPib()

ndn::security::DummyPib::DummyPib ( const std::string &  locator)
explicit

Definition at line 72 of file dummy-keychain.cpp.

Member Function Documentation

◆ setTpmLocator()

void ndn::security::DummyPib::setTpmLocator ( const std::string &  tpmLocator)
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 77 of file dummy-keychain.cpp.

◆ getTpmLocator()

std::string ndn::security::DummyPib::getTpmLocator ( ) const
overridevirtual

Get TPM Locator.

Implements ndn::security::pib::PibImpl.

Definition at line 83 of file dummy-keychain.cpp.

◆ hasIdentity()

bool ndn::security::DummyPib::hasIdentity ( const Name identity) const
overridevirtual

Check the existence of an identity.

Parameters
identityThe name of the identity.
Returns
true if the identity exists, otherwise false.

Implements ndn::security::pib::PibImpl.

Definition at line 89 of file dummy-keychain.cpp.

◆ addIdentity()

void ndn::security::DummyPib::addIdentity ( const Name identity)
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.

Parameters
identityThe name of the identity to add.

Implements ndn::security::pib::PibImpl.

Definition at line 95 of file dummy-keychain.cpp.

◆ removeIdentity()

void ndn::security::DummyPib::removeIdentity ( const Name identity)
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.

Parameters
identityThe name of the identity to remove.

Implements ndn::security::pib::PibImpl.

Definition at line 100 of file dummy-keychain.cpp.

◆ clearIdentities()

void ndn::security::DummyPib::clearIdentities ( )
overridevirtual

Erasing all certificates, keys, and identities.

Implements ndn::security::pib::PibImpl.

Definition at line 105 of file dummy-keychain.cpp.

◆ getIdentities()

std::set< Name > ndn::security::DummyPib::getIdentities ( ) const
overridevirtual

Get the name of all the identities.

Implements ndn::security::pib::PibImpl.

Definition at line 110 of file dummy-keychain.cpp.

◆ setDefaultIdentity()

void ndn::security::DummyPib::setDefaultIdentity ( const Name identityName)
overridevirtual

Set an identity with name identityName as the default identity.

If identityName identity does not exist, it will be created.

Parameters
identityNameThe name for the default identity.

Implements ndn::security::pib::PibImpl.

Definition at line 118 of file dummy-keychain.cpp.

◆ getDefaultIdentity()

Name ndn::security::DummyPib::getDefaultIdentity ( ) const
overridevirtual

Get the default identity.

Returns
The name for the default identity.
Exceptions
Pib::Errorno default identity.

Implements ndn::security::pib::PibImpl.

Definition at line 123 of file dummy-keychain.cpp.

◆ hasKey()

bool ndn::security::DummyPib::hasKey ( const Name keyName) const
overridevirtual

Check the existence of a key with keyName.

Returns
true if the key exists, otherwise false. Return false if the identity does not exist

Implements ndn::security::pib::PibImpl.

Definition at line 129 of file dummy-keychain.cpp.

◆ addKey()

void ndn::security::DummyPib::addKey ( const Name identity,
const Name keyName,
const uint8_t *  key,
size_t  keyLen 
)
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.

Parameters
identityThe name of the belonged identity.
keyNameThe key name.
keyThe public key bits.
keyLenThe length of the public key.

Implements ndn::security::pib::PibImpl.

Definition at line 135 of file dummy-keychain.cpp.

◆ removeKey()

void ndn::security::DummyPib::removeKey ( const Name keyName)
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 141 of file dummy-keychain.cpp.

◆ getKeyBits()

Buffer ndn::security::DummyPib::getKeyBits ( const Name keyName) const
overridevirtual

Get the key bits of a key with name keyName.

Returns
key bits
Exceptions
Pib::Errorthe key does not exist.

Implements ndn::security::pib::PibImpl.

Definition at line 146 of file dummy-keychain.cpp.

References ndn::io::BASE64, and ndn::security::DUMMY_CERT.

◆ getKeysOfIdentity()

std::set< Name > ndn::security::DummyPib::getKeysOfIdentity ( const Name identity) const
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.

Returns
the key name component set. If the identity does not exist, return an empty set.

Implements ndn::security::pib::PibImpl.

Definition at line 156 of file dummy-keychain.cpp.

◆ setDefaultKeyOfIdentity()

void ndn::security::DummyPib::setDefaultKeyOfIdentity ( const Name identity,
const Name keyName 
)
overridevirtual

Set an key with keyName as the default key of an identity with name identity.

Exceptions
Pib::Errorthe key does not exist.

Implements ndn::security::pib::PibImpl.

Definition at line 164 of file dummy-keychain.cpp.

◆ getDefaultKeyOfIdentity()

Name ndn::security::DummyPib::getDefaultKeyOfIdentity ( const Name identity) const
overridevirtual
Returns
The name of the default key of an identity with name identity.
Exceptions
Pib::Errorno default key or the identity does not exist.

Implements ndn::security::pib::PibImpl.

Definition at line 169 of file dummy-keychain.cpp.

◆ hasCertificate()

bool ndn::security::DummyPib::hasCertificate ( const Name certName) const
overridevirtual

Check the existence of a certificate with name certName.

Parameters
certNameThe name of the certificate.
Returns
true if the certificate exists, otherwise false.

Implements ndn::security::pib::PibImpl.

Definition at line 175 of file dummy-keychain.cpp.

◆ addCertificate()

void ndn::security::DummyPib::addCertificate ( const v2::Certificate certificate)
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.

Parameters
certificateThe certificate to add.

Implements ndn::security::pib::PibImpl.

Definition at line 181 of file dummy-keychain.cpp.

◆ removeCertificate()

void ndn::security::DummyPib::removeCertificate ( const Name certName)
overridevirtual

Remove a certificate with name certName.

If the certificate does not exist, do nothing.

Parameters
certNameThe name of the certificate.

Implements ndn::security::pib::PibImpl.

Definition at line 186 of file dummy-keychain.cpp.

◆ getCertificate()

v2::Certificate ndn::security::DummyPib::getCertificate ( const Name certName) const
overridevirtual

Get a certificate with name certName.

Parameters
certNameThe name of the certificate.
Returns
the certificate.
Exceptions
Pib::Errorthe certificate does not exist.

Implements ndn::security::pib::PibImpl.

Definition at line 191 of file dummy-keychain.cpp.

References ndn::io::BASE64, and ndn::security::DUMMY_CERT.

◆ getCertificatesOfKey()

std::set< Name > ndn::security::DummyPib::getCertificatesOfKey ( const Name keyName) const
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.

Returns
The certificate name set. If the key does not exist, return an empty set.

Implements ndn::security::pib::PibImpl.

Definition at line 205 of file dummy-keychain.cpp.

◆ setDefaultCertificateOfKey()

void ndn::security::DummyPib::setDefaultCertificateOfKey ( const Name keyName,
const Name certName 
)
overridevirtual

Set a cert with name certName as the default of a key with keyName.

Exceptions
Pib::Errorthe certificate with name certName does not exist.

Implements ndn::security::pib::PibImpl.

Definition at line 213 of file dummy-keychain.cpp.

◆ getDefaultCertificateOfKey()

v2::Certificate ndn::security::DummyPib::getDefaultCertificateOfKey ( const Name keyName) const
overridevirtual
Returns
Get the default certificate of a key with keyName.
Exceptions
Pib::Errorthe default certificate does not exist.

Implements ndn::security::pib::PibImpl.

Definition at line 218 of file dummy-keychain.cpp.

References ndn::io::BASE64, and ndn::security::DUMMY_CERT.

◆ getScheme()

std::string ndn::security::DummyPib::getScheme ( )
static

Definition at line 232 of file dummy-keychain.cpp.

References SCHEME.

Member Data Documentation

◆ SCHEME

const std::string ndn::security::DummyPib::SCHEME = "pib-dummy"
static

Definition at line 129 of file dummy-keychain.hpp.

Referenced by getScheme().


The documentation for this class was generated from the following files: