ca: fallback to CA identity key to sign prefix registrations
Change-Id: I19968754b5693a664fd92a28dddd636535b81fa6
diff --git a/src/ca-module.cpp b/src/ca-module.cpp
index 09c0b9c..b5547e0 100644
--- a/src/ca-module.cpp
+++ b/src/ca-module.cpp
@@ -74,11 +74,18 @@
void
CaModule::registerPrefix()
{
- // register prefixes
Name prefix = m_config.caProfile.caPrefix;
prefix.append("CA");
- auto prefixId = m_face.registerPrefix(prefix,
+ ndn::security::pib::Identity identity;
+ try {
+ identity = m_keyChain.getPib().getDefaultIdentity();
+ }
+ catch (const ndn::security::Pib::Error&) {
+ identity = m_keyChain.getPib().getIdentity(m_config.caProfile.caPrefix);
+ }
+
+ auto prefixHandle = m_face.registerPrefix(prefix,
[&] (const Name& name) {
// register INFO RDR metadata prefix
const auto& metaDataComp = ndn::MetadataObject::getKeywordComponent();
@@ -108,8 +115,9 @@
NDN_LOG_TRACE("Prefix " << name << " got registered");
},
- [this] (auto&&, const auto& reason) { onRegisterFailed(reason); });
- m_registeredPrefixHandles.push_back(prefixId);
+ [this] (auto&&, const auto& reason) { onRegisterFailed(reason); },
+ ndn::signingByIdentity(identity));
+ m_registeredPrefixHandles.push_back(prefixHandle);
}
void