Backend instance of Key. More...
#include <key-impl.hpp>


Public Member Functions | |
| KeyImpl (const Name &keyName, const uint8_t *key, size_t keyLen, shared_ptr< PibImpl > pibImpl) | |
Create a KeyImpl with keyName. More... | |
| KeyImpl (const Name &keyName, shared_ptr< PibImpl > pibImpl) | |
Create a KeyImpl with keyName. More... | |
| const Name & | getName () const |
| Get the name of the key. More... | |
| const Name & | getIdentity () const |
| Get the name of the belonging identity. More... | |
| KeyType | getKeyType () const |
| Get key type. More... | |
| const Buffer & | getPublicKey () const |
| Get public key bits. More... | |
| void | addCertificate (const v2::Certificate &certificate) |
Add certificate. More... | |
| void | removeCertificate (const Name &certName) |
Remove a certificate with certName. More... | |
| v2::Certificate | getCertificate (const Name &certName) const |
Get a certificate with certName. More... | |
| const CertificateContainer & | getCertificates () const |
| Get all the certificates for this key. More... | |
| const v2::Certificate & | setDefaultCertificate (const Name &certName) |
Set an existing certificate with name certName as the default certificate. More... | |
| const v2::Certificate & | setDefaultCertificate (const v2::Certificate &certificate) |
Add certificate and set it as the default certificate for this key. More... | |
| const v2::Certificate & | getDefaultCertificate () const |
| Get the default certificate for this key. More... | |
Backend instance of Key.
An Key has only one backend instance, but may have multiple frontend handles. Each frontend handle is associated with the only one backend KeyImpl.
| PibImpl::Error | when underlying implementation has non-semantic error. |
Definition at line 44 of file key-impl.hpp.
| ndn::security::pib::detail::KeyImpl::KeyImpl | ( | const Name & | keyName, |
| const uint8_t * | key, | ||
| size_t | keyLen, | ||
| shared_ptr< PibImpl > | pibImpl | ||
| ) |
Create a KeyImpl with keyName.
If the key does not exist in the backend, it will be added. If a key with the same name already exists, it will be overwritten.
| keyName | The name of the key. |
| key | The public key to add. |
| keyLen | The length of the key. |
| pibImpl | The Pib backend implementation. |
| std::invalid_argument | key is invalid. |
Definition at line 32 of file key-impl.cpp.
References ndn::security::transform::PublicKey::getKeyType(), and ndn::security::transform::PublicKey::loadPkcs8().
| ndn::security::pib::detail::KeyImpl::KeyImpl | ( | const Name & | keyName, |
| shared_ptr< PibImpl > | pibImpl | ||
| ) |
Create a KeyImpl with keyName.
| keyName | The name of the key. |
| pibImpl | The Pib backend implementation. |
| Pib::Error | the key does not exist. |
Definition at line 54 of file key-impl.cpp.
References ndn::security::transform::PublicKey::getKeyType(), and ndn::security::transform::PublicKey::loadPkcs8().
|
inline |
Get the name of the key.
Definition at line 74 of file key-impl.hpp.
|
inline |
Get the name of the belonging identity.
Definition at line 83 of file key-impl.hpp.
|
inline |
Get key type.
Definition at line 92 of file key-impl.hpp.
|
inline |
Get public key bits.
Definition at line 101 of file key-impl.hpp.
| void ndn::security::pib::detail::KeyImpl::addCertificate | ( | const v2::Certificate & | certificate | ) |
Add certificate.
If no default certificate is set before, the new certificate will be set as the default certificate of the key.
If a certificate with the same name (without implicit digest) already exists, it will be overwritten.
| std::invalid_argument | the certificate name does not match the key name. |
Definition at line 71 of file key-impl.cpp.
References ndn::security::pib::CertificateContainer::add(), and ndn::security::pib::CertificateContainer::isConsistent().
Referenced by setDefaultCertificate().
| void ndn::security::pib::detail::KeyImpl::removeCertificate | ( | const Name & | certName | ) |
Remove a certificate with certName.
| std::invalid_argument | certName does not match the key name. |
Definition at line 78 of file key-impl.cpp.
References ndn::Data::getName(), ndn::security::pib::CertificateContainer::isConsistent(), and ndn::security::pib::CertificateContainer::remove().
| v2::Certificate ndn::security::pib::detail::KeyImpl::getCertificate | ( | const Name & | certName | ) | const |
Get a certificate with certName.
| std::invalid_argument | certName does not match the key name. |
| Pib::Error | the certificate does not exist. |
Definition at line 89 of file key-impl.cpp.
References ndn::security::pib::CertificateContainer::get(), and ndn::security::pib::CertificateContainer::isConsistent().
| const CertificateContainer & ndn::security::pib::detail::KeyImpl::getCertificates | ( | ) | const |
Get all the certificates for this key.
Definition at line 96 of file key-impl.cpp.
References ndn::security::pib::CertificateContainer::isConsistent().
| const v2::Certificate & ndn::security::pib::detail::KeyImpl::setDefaultCertificate | ( | const Name & | certName | ) |
Set an existing certificate with name certName as the default certificate.
| std::invalid_argument | certName does not match the key name. |
| Pib::Error | the certificate does not exist. |
Definition at line 103 of file key-impl.cpp.
References ndn::security::pib::CertificateContainer::get(), and ndn::security::pib::CertificateContainer::isConsistent().
Referenced by setDefaultCertificate().
| const v2::Certificate & ndn::security::pib::detail::KeyImpl::setDefaultCertificate | ( | const v2::Certificate & | certificate | ) |
Add certificate and set it as the default certificate for this key.
If a certificate with the same name (without implicit digest) already exists, it will be overwritten.
| std::invalid_argument | certificate does not match the key name. |
Definition at line 114 of file key-impl.cpp.
References addCertificate(), ndn::Data::getName(), and setDefaultCertificate().
| const v2::Certificate & ndn::security::pib::detail::KeyImpl::getDefaultCertificate | ( | ) | const |
Get the default certificate for this key.
| Pib::Error | the default certificate does not exist. |
Definition at line 121 of file key-impl.cpp.
References ndn::security::pib::CertificateContainer::isConsistent(), and ndn::Data::wireEncode().