diff --git a/src/ca-config.cpp b/src/ca-config.cpp
index 8d3f309..1032709 100644
--- a/src/ca-config.cpp
+++ b/src/ca-config.cpp
@@ -52,8 +52,7 @@
   for (; it != caList.end(); it++) {
     CaItem item;
     item.m_caName = Name(it->second.get<std::string>("ca-prefix"));
-    item.m_caInfo = it->second.get<std::string>("ca-info");
-    item.m_probe = it->second.get("probe", "");
+    item.m_probe = it->second.get("probe", false);
     item.m_freshnessPeriod = time::seconds(it->second.get<uint64_t>("issuing-freshness"));
     item.m_validityPeriod = time::days(it->second.get<uint64_t>("validity-period"));
 
@@ -65,7 +64,7 @@
 }
 
 std::list<std::string>
-CaConfig::parseChallengeList(const ConfigSection& section)
+CaConfig::parseChallengeList(const JsonSection& section)
 {
   std::list<std::string> result;
   auto it = section.begin();
diff --git a/src/ca-config.hpp b/src/ca-config.hpp
index ed95cb2..12cc396 100644
--- a/src/ca-config.hpp
+++ b/src/ca-config.hpp
@@ -21,20 +21,17 @@
 #ifndef NDNCERT_CA_CONFIG_HPP
 #define NDNCERT_CA_CONFIG_HPP
 
-#include "ndncert-common.hpp"
+#include "certificate-request.hpp"
 #include <ndn-cxx/security/v2/certificate.hpp>
 
 namespace ndn {
 namespace ndncert {
 
-typedef boost::property_tree::ptree ConfigSection;
-
 class CaItem
 {
 public:
   Name m_caName;
-  std::string m_caInfo;
-  std::string m_probe;
+  bool m_probe;
   time::seconds m_freshnessPeriod;
   time::days m_validityPeriod;
   std::list<std::string> m_supportedChallenges;
@@ -65,13 +62,13 @@
   parse();
 
   std::list<std::string>
-  parseChallengeList(const ConfigSection& configSection);
+  parseChallengeList(const JsonSection& configSection);
 
 public:
   std::list<CaItem> m_caItems;
 
 PUBLIC_WITH_TESTS_ELSE_PRIVATE:
-  ConfigSection m_config;
+  JsonSection m_config;
 };
 
 } // namespace ndncert
diff --git a/src/client-config.cpp b/src/client-config.cpp
index c75615d..7fd5280 100644
--- a/src/client-config.cpp
+++ b/src/client-config.cpp
@@ -19,6 +19,7 @@
  */
 
 #include "client-config.hpp"
+#include <ndn-cxx/util/io.hpp>
 
 namespace ndn {
 namespace ndncert {
@@ -48,11 +49,14 @@
   auto caList = m_config.get_child("ca-list");
   auto it = caList.begin();
   for (; it != caList.end(); it++) {
-    CaItem item;
+    ClientCaItem item;
     item.m_caName = Name(it->second.get<std::string>("ca-prefix"));
     item.m_caInfo = it->second.get<std::string>("ca-info");
     item.m_probe = it->second.get("probe", "");
 
+    std::istringstream ss(it->second.get<std::string>("certificate"));
+    item.m_anchor = *(io::load<security::v2::Certificate>(ss));
+
     auto challengeList = it->second.get_child("supported-challenges");
     item.m_supportedChallenges = parseChallengeList(challengeList);
 
@@ -61,7 +65,7 @@
 }
 
 std::list<std::string>
-ClientConfig::parseChallengeList(const ConfigSection& section)
+ClientConfig::parseChallengeList(const JsonSection& section)
 {
   std::list<std::string> result;
   auto it = section.begin();
@@ -72,43 +76,15 @@
 }
 
 void
-ClientConfig::addNewCaItem(const CaItem& item)
+ClientConfig::addNewCaItem(const ClientCaItem& item)
 {
-  auto& caList = m_config.get_child("ca-list");
-
-  ConfigSection newCaItem;
-  ConfigSection newCaChallengeList;
-  newCaItem.put("ca-prefix", item.m_caName.toUri());
-  newCaItem.put("ca-info", item.m_caInfo);
-  if (item.m_probe != "") {
-    newCaItem.put("probe", item.m_probe);
-  }
-  for (const auto& challengeType : item.m_supportedChallenges) {
-    ConfigSection challengeSection;
-    challengeSection.put("type", challengeType);
-    newCaChallengeList.push_back(std::make_pair("", challengeSection));
-  }
-  newCaItem.add_child("supported-challenges", newCaChallengeList);
-  caList.push_back(std::make_pair("", newCaItem));
-
-  parse();
+  m_caItems.push_back(item);
 }
 
 void
 ClientConfig::removeCaItem(const Name& caName)
 {
-  auto& caList = m_config.get_child("ca-list");
-  auto it = caList.begin();
-  while (it != caList.end()) {
-    if (it->second.get<std::string>("ca-prefix") == caName.toUri()) {
-      it = caList.erase(it);
-      break;
-    }
-    else {
-      it++;
-    }
-  }
-  parse();
+  m_caItems.remove_if([&] (const ClientCaItem& item) {return item.m_caName == caName;});
 }
 
 } // namespace ndncert
diff --git a/src/client-config.hpp b/src/client-config.hpp
index fbb703b..8234c01 100644
--- a/src/client-config.hpp
+++ b/src/client-config.hpp
@@ -21,12 +21,22 @@
 #ifndef NDNCERT_CLIENT_CONFIG_HPP
 #define NDNCERT_CLIENT_CONFIG_HPP
 
-#include "ca-config.hpp"
-#include <boost/filesystem.hpp>
+#include "certificate-request.hpp"
+#include <ndn-cxx/security/v2/certificate.hpp>
 
 namespace ndn {
 namespace ndncert {
 
+class ClientCaItem
+{
+public:
+  Name m_caName;
+  std::string m_caInfo;
+  std::string m_probe;
+  std::list<std::string> m_supportedChallenges;
+  security::v2::Certificate m_anchor;
+};
+
 class ClientConfig
 {
 public:
@@ -41,7 +51,7 @@
   load(const std::string& fileName);
 
   void
-  addNewCaItem(const CaItem& item);
+  addNewCaItem(const ClientCaItem& item);
 
   void
   removeCaItem(const Name& caName);
@@ -51,13 +61,13 @@
   parse();
 
   std::list<std::string>
-  parseChallengeList(const ConfigSection& section);
+  parseChallengeList(const JsonSection& section);
 
 public:
-  std::list<CaItem> m_caItems;
+  std::list<ClientCaItem> m_caItems;
 
 PUBLIC_WITH_TESTS_ELSE_PRIVATE:
-  ConfigSection m_config;
+  JsonSection m_config;
 };
 
 } // namespace ndncert
diff --git a/tests/unit-tests/ca-config.t.cpp b/tests/unit-tests/ca-config.t.cpp
index e803254..532aeeb 100644
--- a/tests/unit-tests/ca-config.t.cpp
+++ b/tests/unit-tests/ca-config.t.cpp
@@ -36,7 +36,7 @@
   config.load("tests/unit-tests/ca.conf.test");
   auto itemA = config.m_caItems.front();
   BOOST_CHECK_EQUAL(itemA.m_caName.toUri(), "/ndn/edu/ucla/cs/zhiyi");
-  BOOST_CHECK_EQUAL(itemA.m_probe, "true");
+  BOOST_CHECK(!itemA.m_probe);
   BOOST_CHECK_EQUAL(itemA.m_freshnessPeriod, time::seconds(720));
   BOOST_CHECK_EQUAL(itemA.m_validityPeriod, time::days(360));
   BOOST_CHECK_EQUAL(itemA.m_anchor.toUri(),
@@ -45,7 +45,7 @@
 
   auto itemB = config.m_caItems.back();
   BOOST_CHECK_EQUAL(itemB.m_caName.toUri(), "/ndn/site1");
-  BOOST_CHECK_EQUAL(itemB.m_probe, "true");
+  BOOST_CHECK(itemB.m_probe);
   BOOST_CHECK_EQUAL(itemB.m_freshnessPeriod, time::seconds(720));
   BOOST_CHECK_EQUAL(itemB.m_validityPeriod, time::days(360));
   BOOST_CHECK_EQUAL(itemB.m_anchor.toUri(),
diff --git a/tests/unit-tests/ca.conf.test b/tests/unit-tests/ca.conf.test
index 838d9c4..87db072 100644
--- a/tests/unit-tests/ca.conf.test
+++ b/tests/unit-tests/ca.conf.test
@@ -3,8 +3,6 @@
   [
     {
         "ca-prefix": "/ndn/edu/ucla/cs/zhiyi",
-        "ca-info": "UCLA's ceritificate authority, located in BH4805.",
-        "probe": "true",
         "issuing-freshness": "720",
         "validity-period": "360",
         "ca-anchor": "/ndn/edu/ucla/cs/zhiyi/KEY/%9A%E0%C6%C6%09%7C%92i/self/%FD%00%00%01Z%B0%2AJ%B4",
@@ -15,7 +13,6 @@
     },
     {
         "ca-prefix": "/ndn/site1",
-        "ca-info": "UCLA's ceritificate authority, located in BH4805.",
         "probe": "true",
         "issuing-freshness": "720",
         "validity-period": "360",
diff --git a/tests/unit-tests/client-config.t.cpp b/tests/unit-tests/client-config.t.cpp
index f9c7530..e1ad082 100644
--- a/tests/unit-tests/client-config.t.cpp
+++ b/tests/unit-tests/client-config.t.cpp
@@ -39,6 +39,8 @@
   BOOST_CHECK_EQUAL(item.m_probe, "Please use your email address to apply a namespace first. UCLA email is preferred.");
   BOOST_CHECK_EQUAL(item.m_supportedChallenges.size(), 2);
   BOOST_CHECK_EQUAL(item.m_supportedChallenges.front(), "PIN");
+  BOOST_CHECK_EQUAL(item.m_anchor.getName().toUri(),
+                    "/ndn/site1/KEY/%11%BC%22%F4c%15%FF%17/self/%FD%00%00%01Y%C8%14%D9%A5");
 }
 
 BOOST_AUTO_TEST_CASE(AddAndRemoveCaItem)
@@ -46,7 +48,7 @@
   ClientConfig config;
   config.load("tests/unit-tests/client.conf.test");
 
-  CaItem item;
+  ClientCaItem item;
   item.m_caName = Name("/test");
   item.m_caInfo = "test";
   item.m_probe = "test";
diff --git a/tests/unit-tests/client.conf.test b/tests/unit-tests/client.conf.test
index 745a43b..7c2dbf1 100644
--- a/tests/unit-tests/client.conf.test
+++ b/tests/unit-tests/client.conf.test
@@ -5,6 +5,7 @@
         "ca-prefix": "/ndn/edu/ucla/CA",
         "ca-info": "UCLA's ceritificate authority, located in BH4805.",
         "probe": "Please use your email address to apply a namespace first. UCLA email is preferred.",
+        "certificate": "Bv0CJAcsCANuZG4IBXNpdGUxCANLRVkICBG8IvRjFf8XCARzZWxmCAn9AAABWcgU2aUUCRgBAhkEADbugBX9AU8wggFLMIIBAwYHKoZIzj0CATCB9wIBATAsBgcqhkjOPQEBAiEA/////wAAAAEAAAAAAAAAAAAAAAD///////////////8wWwQg/////wAAAAEAAAAAAAAAAAAAAAD///////////////wEIFrGNdiqOpPns+u9VXaYhrxlHQawzFOw9jvOPD4n0mBLAxUAxJ02CIbnBJNqZnjhE50mt4GffpAEQQRrF9Hy4SxCR/i85uVjpEDydwN9gS3rM6D0oTlF2JjClk/jQuL+Gn+bjufrSnwPnhYrzjNXazFezsu2QGg3v1H1AiEA/////wAAAAD//////////7zm+q2nF56E87nKwvxjJVECAQEDQgAES9Cb9iANUNYmwt5bjwNW1mZgjzIkDJb6FTCdiYWnkMMIVxh2YDllphoWDEAPS6kqJczzCuhnGYpZCp9tTaYKGxZMGwEDHB0HGwgDbmRuCAVzaXRlMQgDS0VZCAgRvCL0YxX/F/0A/Sb9AP4PMTk3MDAxMDFUMDAwMDAw/QD/DzIwMzcwMTE3VDIxMjg0NhdIMEYCIQDXkR1hF3GiP7yLXq+0JBJfi9QC+hhAu/1Bykx+MWz6RAIhANwelBTxxZr2C5bD15mjfhWudK4I1tOb4b/9xWCHyM7F",
         "supported-challenges":
         [
             { "type": "PIN" },
@@ -14,6 +15,7 @@
     {
         "ca-prefix": "/ndn/edu/ucla/zhiyi/CA",
         "ca-info": "Zhiyi's own ceritificate authority",
+        "certificate": "Bv0CJAcsCANuZG4IBXNpdGUxCANLRVkICBG8IvRjFf8XCARzZWxmCAn9AAABWcgU2aUUCRgBAhkEADbugBX9AU8wggFLMIIBAwYHKoZIzj0CATCB9wIBATAsBgcqhkjOPQEBAiEA/////wAAAAEAAAAAAAAAAAAAAAD///////////////8wWwQg/////wAAAAEAAAAAAAAAAAAAAAD///////////////wEIFrGNdiqOpPns+u9VXaYhrxlHQawzFOw9jvOPD4n0mBLAxUAxJ02CIbnBJNqZnjhE50mt4GffpAEQQRrF9Hy4SxCR/i85uVjpEDydwN9gS3rM6D0oTlF2JjClk/jQuL+Gn+bjufrSnwPnhYrzjNXazFezsu2QGg3v1H1AiEA/////wAAAAD//////////7zm+q2nF56E87nKwvxjJVECAQEDQgAES9Cb9iANUNYmwt5bjwNW1mZgjzIkDJb6FTCdiYWnkMMIVxh2YDllphoWDEAPS6kqJczzCuhnGYpZCp9tTaYKGxZMGwEDHB0HGwgDbmRuCAVzaXRlMQgDS0VZCAgRvCL0YxX/F/0A/Sb9AP4PMTk3MDAxMDFUMDAwMDAw/QD/DzIwMzcwMTE3VDIxMjg0NhdIMEYCIQDXkR1hF3GiP7yLXq+0JBJfi9QC+hhAu/1Bykx+MWz6RAIhANwelBTxxZr2C5bD15mjfhWudK4I1tOb4b/9xWCHyM7F",
         "supported-challenges":
         [
             { "type": "PIN" }
