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;
 }
diff --git a/src/requester.cpp b/src/requester.cpp
index f62ad4c..5ca6aaa 100644
--- a/src/requester.cpp
+++ b/src/requester.cpp
@@ -55,11 +55,19 @@
 shared_ptr<Interest>
 Requester::genCaProfileInterestFromDiscoveryResponse(const Data& reply)
 {
+  // set naming convention to be typed
+  auto convention = name::getConventionEncoding();
+  name::setConventionEncoding(name::Convention::TYPED);
+
   auto metaData = MetadataObject(reply);
   auto interestName= metaData.getVersionedName();
   interestName.appendSegment(0);
   auto interest = std::make_shared<Interest>(interestName);
   interest->setCanBePrefix(false);
+
+  // set back the convention
+  name::setConventionEncoding(convention);
+
   return interest;
 }
 
