Switch to std::filesystem

Change-Id: I3b8e8adfae9b063f97396d35a5f2296df56a3eb9
diff --git a/daemon/mgmt/command-authenticator.cpp b/daemon/mgmt/command-authenticator.cpp
index 1f1b036..b07d23d 100644
--- a/daemon/mgmt/command-authenticator.cpp
+++ b/daemon/mgmt/command-authenticator.cpp
@@ -34,8 +34,7 @@
 #include <ndn-cxx/tag.hpp>
 #include <ndn-cxx/util/io.hpp>
 
-#include <boost/filesystem/operations.hpp>
-#include <boost/filesystem/path.hpp>
+#include <filesystem>
 
 namespace security = ndn::security;
 
@@ -158,12 +157,12 @@
                    "SHOULD NOT be used in production environments");
     }
     else {
-      using namespace boost::filesystem;
-      path certfilePath = absolute(certfile, path(filename).parent_path());
-      cert = ndn::io::load<security::Certificate>(certfilePath.string());
+      auto certfilePath = std::filesystem::absolute(filename).parent_path() / certfile;
+      certfilePath = certfilePath.lexically_normal();
+      cert = ndn::io::load<security::Certificate>(certfilePath);
       if (cert == nullptr) {
-        NDN_THROW(ConfigFile::Error("cannot load certfile " + certfilePath.string() +
-                                    " for authorize[" + std::to_string(authSectionIndex) + "]"));
+        NDN_THROW(ConfigFile::Error("cannot load certfile '" + certfilePath.native() +
+                                    "' for authorize[" + std::to_string(authSectionIndex) + "]"));
       }
     }