switch to typed name components
Change-Id: I30da90c11bbe90d197ed4f05b14df83d80c77c3b
diff --git a/src/ca-module.cpp b/src/ca-module.cpp
index 300f0ed..0593610 100644
--- a/src/ca-module.cpp
+++ b/src/ca-module.cpp
@@ -124,12 +124,21 @@
const auto& cert = identity.getDefaultKey().getDefaultCertificate();
Block contentTLV = infotlv::encodeDataContent(m_config.caProfile, cert);
- Name infoPacketName( m_config.caProfile.caPrefix);
- infoPacketName.append("CA").append("INFO").appendVersion().appendSegment(0);
+ // set naming convention to be typed
+ auto convention = name::getConventionEncoding();
+ name::setConventionEncoding(name::Convention::TYPED);
+
+ Name infoPacketName(m_config.caProfile.caPrefix);
+ auto segmentComp = name::Component::fromSegment(0);
+ infoPacketName.append("CA").append("INFO").appendVersion().append(segmentComp);
m_profileData = std::make_unique<Data>(infoPacketName);
+ m_profileData->setFinalBlock(segmentComp);
m_profileData->setContent(contentTLV);
m_profileData->setFreshnessPeriod(DEFAULT_DATA_FRESHNESS_PERIOD);
m_keyChain.sign(*m_profileData, signingByIdentity( m_config.caProfile.caPrefix));
+
+ // set back the convention
+ name::setConventionEncoding(convention);
}
return *m_profileData;
}