ndn::security::pib::Key Class Reference

Frontend handle for a key in the PIB. More...

#include <ndn-cxx/security/pib/key.hpp>

Public Member Functions

 Key () noexcept
 Default constructor. More...
 
Certificate getCertificate (const Name &certName) const
 Return the certificate with the given name. More...
 
const CertificateContainer & getCertificates () const
 Return all the certificates of this key. More...
 
const Certificate & getDefaultCertificate () const
 Return the default certificate for this key. More...
 
const Name & getIdentity () const
 Return the name of the owning identity. More...
 
KeyType getKeyType () const
 Return the key type. More...
 
const Name & getName () const
 Return the name of the key. More...
 
span< const uint8_t > getPublicKey () const
 Return the raw public key bits. More...
 
 operator bool () const noexcept
 Returns true if the instance is valid. More...
 

Friends

bool operator!= (const Key &lhs, const Key &rhs)
 
std::ostream & operator<< (std::ostream &os, const Key &key)
 
bool operator== (const Key &lhs, const Key &rhs)
 

Detailed Description

Frontend handle for a key in the PIB.

Key is at the second level in PIB's Identity-Key-Certificate hierarchy. A key has the name /<Identity>/KEY/<KeyId>, and contains one or more certificates, one of which is set as default certificate of that key. Certificates can be directly accessed from a Key object.

Definition at line 50 of file key.hpp.

Constructor & Destructor Documentation

◆ Key()

ndn::security::pib::Key::Key ( )
defaultnoexcept

Default constructor.

A Key created using this default constructor is just a placeholder. You can obtain an actual instance from Identity::getKey(). A typical usage would be for exception handling:

Key key;
try {
key = identity.getKey(...);
}
catch (const Pib::Error&) {
...
}
Key() noexcept
Default constructor.

An instance created using this constructor is invalid. Calling a member function on an invalid Key instance may throw an std::domain_error.

Member Function Documentation

◆ getCertificate()

Certificate ndn::security::pib::Key::getCertificate ( const Name &  certName) const

Return the certificate with the given name.

Exceptions
std::invalid_argumentcertName does not match the key name.
Pib::Errorthe certificate does not exist.

Definition at line 73 of file key.cpp.

◆ getCertificates()

const CertificateContainer & ndn::security::pib::Key::getCertificates ( ) const

Return all the certificates of this key.

Definition at line 79 of file key.cpp.

◆ getDefaultCertificate()

const Certificate & ndn::security::pib::Key::getDefaultCertificate ( ) const

Return the default certificate for this key.

Exceptions
Pib::Errorthe default certificate does not exist.

Definition at line 97 of file key.cpp.

◆ getIdentity()

const Name & ndn::security::pib::Key::getIdentity ( ) const

Return the name of the owning identity.

Definition at line 43 of file key.cpp.

◆ getKeyType()

KeyType ndn::security::pib::Key::getKeyType ( ) const

Return the key type.

Definition at line 49 of file key.cpp.

◆ getName()

const Name & ndn::security::pib::Key::getName ( ) const

Return the name of the key.

Definition at line 37 of file key.cpp.

◆ getPublicKey()

span< const uint8_t > ndn::security::pib::Key::getPublicKey ( ) const

Return the raw public key bits.

Definition at line 55 of file key.cpp.

◆ operator bool()

ndn::security::pib::Key::operator bool ( ) const
explicitnoexcept

Returns true if the instance is valid.

Definition at line 102 of file key.cpp.

Friends And Related Function Documentation

◆ operator!=

bool operator!= ( const Key &  lhs,
const Key &  rhs 
)
friend

Definition at line 190 of file key.hpp.

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
const Key &  key 
)
friend

Definition at line 195 of file key.hpp.

◆ operator==

bool operator== ( const Key &  lhs,
const Key &  rhs 
)
friend

Definition at line 184 of file key.hpp.