17 SecPublicInfoMemory::~SecPublicInfoMemory()
22 SecPublicInfoMemory::doesIdentityExist(
const Name& identityName)
24 string identityUri = identityName.
toUri();
25 return find(m_identityStore.begin(), m_identityStore.end(), identityUri) != m_identityStore.end();
29 SecPublicInfoMemory::addIdentity(
const Name& identityName)
31 string identityUri = identityName.
toUri();
32 if (find(m_identityStore.begin(), m_identityStore.end(), identityUri) != m_identityStore.end())
35 m_identityStore.push_back(identityUri);
39 SecPublicInfoMemory::revokeIdentity()
41 throw Error(
"SecPublicInfoMemory::revokeIdentity not implemented");
45 SecPublicInfoMemory::doesPublicKeyExist(
const Name& keyName)
47 return m_keyStore.find(keyName.
toUri()) != m_keyStore.end();
55 addIdentity(identityName);
57 m_keyStore[keyName.
toUri()] = make_shared<KeyRecord>(keyType, boost::cref(publicKey));
61 SecPublicInfoMemory::getPublicKey(
const Name& keyName)
63 KeyStore::iterator record = m_keyStore.find(keyName.
toUri());
64 if (record == m_keyStore.end())
65 throw Error(
"SecPublicInfoMemory::getPublicKey " + keyName.
toUri());
67 return make_shared<PublicKey>(record->second->getKey());
71 SecPublicInfoMemory::doesCertificateExist(
const Name& certificateName)
73 return m_certificateStore.find(certificateName.
toUri()) != m_certificateStore.end();
79 const Name& certificateName = certificate.
getName();
83 addIdentity(identity);
85 m_certificateStore[certificateName.
toUri()] = make_shared<IdentityCertificate>(certificate);
88 shared_ptr<IdentityCertificate>
89 SecPublicInfoMemory::getCertificate(
const Name& certificateName)
91 CertificateStore::iterator record = m_certificateStore.find(certificateName.
toUri());
92 if (record == m_certificateStore.end())
93 throw Error(
"SecPublicInfoMemory::getCertificate " + certificateName.
toUri());
95 return record->second;
99 SecPublicInfoMemory::getDefaultIdentity()
101 return Name(m_defaultIdentity);
105 SecPublicInfoMemory::setDefaultIdentityInternal(
const Name& identityName)
107 string identityUri = identityName.
toUri();
108 if (find(m_identityStore.begin(), m_identityStore.end(), identityUri) != m_identityStore.end())
109 m_defaultIdentity = identityUri;
112 m_defaultIdentity.clear();
116 SecPublicInfoMemory::getDefaultKeyNameForIdentity(
const Name& identityName)
118 return m_defaultKeyName;
122 SecPublicInfoMemory::setDefaultKeyNameForIdentityInternal(
const Name& keyName)
124 m_defaultKeyName = keyName;
128 SecPublicInfoMemory::getDefaultCertificateNameForKey(
const Name& keyName)
130 return m_defaultCert;
134 SecPublicInfoMemory::setDefaultCertificateNameForKeyInternal(
const Name& certificateName)
136 m_defaultCert = certificateName;
140 SecPublicInfoMemory::getAllIdentities(std::vector<Name>& nameList,
bool isDefault)
142 throw Error(
"SecPublicInfoMemory::getAllIdentities not implemented");
146 SecPublicInfoMemory::getAllKeyNames(std::vector<Name>& nameList,
bool isDefault)
148 throw Error(
"SecPublicInfoMemory::getAllKeyNames not implemented");
152 SecPublicInfoMemory::getAllKeyNamesOfIdentity(
const Name& identity,
153 std::vector<Name>& nameList,
156 throw Error(
"SecPublicInfoMemory::getAllKeyNamesOfIdentity not implemented");
160 SecPublicInfoMemory::getAllCertificateNames(std::vector<Name>& nameList,
bool isDefault)
162 throw Error(
"SecPublicInfoMemory::getAllCertificateNames not implemented");
166 SecPublicInfoMemory::getAllCertificateNamesOfKey(
const Name& keyName,
167 std::vector<Name>& nameList,
170 throw Error(
"SecPublicInfoMemory::getAllCertificateNamesOfKey not implemented");
174 SecPublicInfoMemory::deleteCertificateInfo(
const Name& certName)
176 throw Error(
"SecPublicInfoMemory::deleteCertificateInfo not implemented");
180 SecPublicInfoMemory::deletePublicKeyInfo(
const Name& keyName)
182 throw Error(
"SecPublicInfoMemory::deletePublicKeyInfo not implemented");
186 SecPublicInfoMemory::deleteIdentityInfo(
const Name& identityName)
188 throw Error(
"SecPublicInfoMemory::deleteIdentityInfo not implemented");
Name getPrefix(int nComponents) const
Return a new Name with the first nComponents components of this Name.
PublicKey & getPublicKeyInfo()
const Name & getName() const
std::string toUri() const
Encode this name as a URI.
A Name holds an array of Name::Component and represents an NDN name.
const Name & getPublicKeyName() const