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)
{