22 #ifndef NDN_MEMORY_IDENTITY_STORAGE_HPP
23 #define NDN_MEMORY_IDENTITY_STORAGE_HPP
27 #include "identity-storage.hpp"
83 addKey(
const Name& keyName, KeyType keyType,
const Blob& publicKeyDer);
130 virtual ptr_lib::shared_ptr<IdentityCertificate>
174 (
const Name& identityName, std::vector<Name>& nameList,
bool isDefault);
228 class IdentityRecord {
231 setDefaultKey(
const ptr_lib::shared_ptr<Name>& key) { defaultKey_ = key; }
234 hasDefaultKey()
const {
return !!defaultKey_; }
237 getDefaultKey()
const {
return *defaultKey_; }
240 ptr_lib::shared_ptr<Name> defaultKey_;
245 KeyRecord(KeyType keyType,
const Blob &keyDer)
246 : keyType_(keyType), keyDer_(keyDer)
250 const KeyType getKeyType()
const {
return keyType_; }
252 const Blob& getKeyDer() {
return keyDer_; }
255 setDefaultCertificate(
const ptr_lib::shared_ptr<Name>& certificate)
257 defaultCertificate_ = certificate;
261 hasDefaultCertificate()
const {
return !!defaultCertificate_; }
269 ptr_lib::shared_ptr<Name> defaultCertificate_;
272 std::map<std::string, IdentityRecord>
274 std::string defaultIdentity_;
275 std::map<std::string, ptr_lib::shared_ptr<KeyRecord> > keyStore_;
276 std::map<std::string, Blob> certificateStore_;
virtual Name getDefaultCertificateNameForKey(const Name &keyName)
Get the default certificate name for the specified key.
Definition: memory-identity-storage.cpp:179
Copyright (C) 2013-2016 Regents of the University of California.
Definition: common.hpp:35
virtual void setDefaultIdentity(const Name &identityName)
Set the default identity.
Definition: memory-identity-storage.cpp:204
virtual void getAllKeyNamesOfIdentity(const Name &identityName, std::vector< Name > &nameList, bool isDefault)
Append all the key names of a particular identity to the nameList.
Definition: memory-identity-storage.cpp:196
Definition: identity-certificate.hpp:30
virtual ptr_lib::shared_ptr< IdentityCertificate > getDefaultCertificate()
Get the certificate of the default identity.
Definition: identity-storage.cpp:76
virtual void setDefaultCertificateNameForKey(const Name &keyName, const Name &certificateName)
Set the default key name for the specified identity.
Definition: memory-identity-storage.cpp:231
virtual void deactivateKey(const Name &keyName)
Deactivate a key.
Definition: memory-identity-storage.cpp:101
virtual void deleteCertificateInfo(const Name &certificateName)
Delete a certificate.
Definition: memory-identity-storage.cpp:242
virtual bool revokeIdentity()
Revoke the identity.
Definition: memory-identity-storage.cpp:55
virtual bool doesKeyExist(const Name &keyName)
Check if the specified key already exists.
Definition: memory-identity-storage.cpp:63
MemoryIdentityStorage extends IdentityStorage and implements its methods to store identity...
Definition: memory-identity-storage.hpp:36
A Name holds an array of Name::Component and represents an NDN name.
Definition: name.hpp:40
IdentityStorage is a base class for the storage of identity, public keys and certificates.
Definition: identity-storage.hpp:39
A Blob holds a pointer to an immutable byte array implemented as const std::vector.
Definition: blob.hpp:42
virtual Name getDefaultIdentity()
Get the default identity.
Definition: memory-identity-storage.cpp:155
virtual bool doesCertificateExist(const Name &certificateName)
Check if the specified certificate already exists.
Definition: memory-identity-storage.cpp:109
virtual bool doesIdentityExist(const Name &identityName)
Check if the specified identity already exists.
Definition: memory-identity-storage.cpp:39
virtual Name getDefaultKeyNameForIdentity(const Name &identityName)
Get the default key name for the specified identity.
Definition: memory-identity-storage.cpp:164
virtual ptr_lib::shared_ptr< IdentityCertificate > getCertificate(const Name &certificateName, bool allowAny=false)
Get a certificate from the identity storage.
Definition: memory-identity-storage.cpp:138
virtual void addIdentity(const Name &identityName)
Add a new identity.
Definition: memory-identity-storage.cpp:45
virtual void setDefaultKeyNameForIdentity(const Name &keyName, const Name &identityNameCheck=Name())
Set a key as the default key of an identity.
Definition: memory-identity-storage.cpp:216
virtual ~MemoryIdentityStorage()
The virtual Destructor.
Definition: memory-identity-storage.cpp:34
virtual void deleteIdentityInfo(const Name &identity)
Delete an identity and related public keys and certificates.
Definition: memory-identity-storage.cpp:258
virtual void addKey(const Name &keyName, KeyType keyType, const Blob &publicKeyDer)
Add a public key to the identity storage.
Definition: memory-identity-storage.cpp:69
virtual void deletePublicKeyInfo(const Name &keyName)
Delete a public key and related certificates.
Definition: memory-identity-storage.cpp:250
virtual void addCertificate(const IdentityCertificate &certificate)
Add a certificate to the identity storage.
Definition: memory-identity-storage.cpp:115
virtual Blob getKey(const Name &keyName)
Get the public key DER blob from the identity storage.
Definition: memory-identity-storage.cpp:82
virtual void activateKey(const Name &keyName)
Activate a key.
Definition: memory-identity-storage.cpp:93