security: Separate TPM locator modification and database resetting in PIB
Change-Id: I80c2805b6e1204b95d59a090a6a04e1ee62fb6e5
Refs: #3203
diff --git a/src/security/pib/pib-memory.cpp b/src/security/pib/pib-memory.cpp
index 719d0c4..edf2ce9 100644
--- a/src/security/pib/pib-memory.cpp
+++ b/src/security/pib/pib-memory.cpp
@@ -35,14 +35,13 @@
void
PibMemory::setTpmLocator(const std::string& tpmLocator)
{
- // The locator of PibMemory is always 'tpm-memory:'
- BOOST_THROW_EXCEPTION(Error("PibMemory does not need a locator"));
+ m_tpmLocator = tpmLocator;
}
std::string
PibMemory::getTpmLocator() const
{
- return "tpm-memory:";
+ return m_tpmLocator;
}
bool
@@ -75,6 +74,18 @@
}
}
+void
+PibMemory::clearIdentities()
+{
+ m_hasDefaultIdentity = false;
+ m_defaultIdentity.clear();
+ m_identities.clear();
+ m_defaultKey.clear();
+ m_keys.clear();
+ m_defaultCert.clear();
+ m_certs.clear();
+}
+
std::set<Name>
PibMemory::getIdentities() const
{