40 return lock()->getName();
46 return lock()->getIdentity();
52 return lock()->getKeyType();
58 return lock()->getPublicKey();
62 Key::addCertificate(
const Certificate& certificate)
const 64 lock()->addCertificate(certificate);
70 lock()->removeCertificate(certName);
76 return lock()->getCertificate(certName);
82 return lock()->getCertificates();
88 return lock()->setDefaultCertificate(certName);
94 return lock()->setDefaultCertificate(certificate);
100 return lock()->getDefaultCertificate();
103 Key::operator bool()
const 105 return !m_impl.expired();
108 shared_ptr<detail::KeyImpl>
111 auto impl = m_impl.lock();
113 if (impl ==
nullptr) {
114 NDN_THROW(std::domain_error(
"Invalid key instance"));
123 return lhs.m_impl.owner_before(rhs.m_impl) || rhs.m_impl.owner_before(lhs.m_impl);
140 inline namespace v2 {
145 Name keyName = identity;
147 .
append(Certificate::KEY_COMPONENT)
155 return (keyName.
size() >= Certificate::MIN_KEY_NAME_LENGTH &&
156 keyName.
get(-Certificate::MIN_KEY_NAME_LENGTH) == Certificate::KEY_COMPONENT);
163 NDN_THROW(std::invalid_argument(
"Key name `" + keyName.
toUri() +
"` " 164 "does not respect the naming conventions"));
167 return keyName.
getPrefix(-Certificate::MIN_KEY_NAME_LENGTH);
std::ostream & operator<<(std::ostream &os, const Identity &id)
PartialName getPrefix(ssize_t nComponents) const
Returns a prefix of the name.
Copyright (c) 2011-2015 Regents of the University of California.
span< const uint8_t > getPublicKey() const
Get public key bits.
const Component & get(ssize_t i) const
Returns an immutable reference to the component at the specified index.
KeyType getKeyType() const
Get key type.
Name & append(const Component &component)
Append a component.
bool isValidKeyName(const Name &keyName)
Check if keyName follow the naming conventions for the key name.
const Certificate & setDefaultCertificate(const Name &certName) const
Set an existing certificate with certName as the default certificate.
KeyType
The type of a cryptographic key.
Certificate getCertificate(const Name &certName) const
Get a certificate with certName.
Container of certificates of a key.
A frontend handle of a key instance.
Represents an absolute name.
const Name & getName() const
Get key name.
size_t size() const
Returns the number of components.
Represents a name component.
Name constructKeyName(const Name &identity, const name::Component &keyId)
Construct key name based on the appropriate naming conventions.
void toUri(std::ostream &os, name::UriFormat format=name::UriFormat::DEFAULT) const
Write URI representation of the name to the output stream.
Name extractIdentityFromKeyName(const Name &keyName)
Extract identity namespace from the key name keyName.
void removeCertificate(const Name &certName) const
Remove a certificate with certName.
Key()
Default Constructor.
friend bool operator!=(const Key &, const Key &)
const Name & getIdentity() const
Get the name of the belonging identity.
const Certificate & getDefaultCertificate() const
Get the default certificate for this Key.
const CertificateContainer & getCertificates() const
Get all certificates for this key.