Fix the bug when user type in NONE when selecting CAs

Change-Id: Ie12c058ec0685a537300f11dd227771f8e719c28
diff --git a/src/client-config.cpp b/src/client-config.cpp
index 47b75da..19f8a89 100644
--- a/src/client-config.cpp
+++ b/src/client-config.cpp
@@ -20,6 +20,7 @@
 
 #include "client-config.hpp"
 #include <ndn-cxx/util/io.hpp>
+#include <fstream>
 
 namespace ndn {
 namespace ndncert {
@@ -55,6 +56,32 @@
   m_localNdncertAnchor = configSection.get("local-ndncert-anchor", "");
 }
 
+void
+ClientConfig::save(const std::string& fileName)
+{
+  JsonSection configJson;
+  JsonSection caList;
+  std::stringstream ss;
+  for (const auto& item : m_caItems) {
+    JsonSection caItem;
+    caItem.put("ca-prefix", item.m_caName.toUri());
+    caItem.put("ca-info", item.m_caInfo);
+    caItem.put("probe", item.m_probe);
+    ss.str(std::string());
+    io::save(item.m_anchor, ss);
+    caItem.put("certificate", ss.str());
+    caList.push_back(std::make_pair("", caItem));
+  }
+  configJson.add_child("ca-list", caList);
+  ss.str(std::string());
+  boost::property_tree::write_json(ss, configJson);
+
+  std::ofstream configFile;
+  configFile.open(fileName, std::ios::trunc);
+  configFile << ss.str();
+  configFile.close();
+}
+
 ClientCaItem
 ClientConfig::extractCaItem(const JsonSection& configSection)
 {