diff --git a/src/name-assignment/assignment-param.cpp b/src/name-assignment/assignment-param.cpp
index 956b3d8..e1961e7 100644
--- a/src/name-assignment/assignment-param.cpp
+++ b/src/name-assignment/assignment-param.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2017-2021, Regents of the University of California.
+ * Copyright (c) 2017-2022, Regents of the University of California.
  *
  * This file is part of ndncert, a certificate management system based on NDN.
  *
@@ -35,13 +35,17 @@
   std::vector<ndn::PartialName> resultList;
   Name result;
   for (const auto& item : m_nameFormat) {
-    auto it = std::find_if(params.begin(), params.end(),
-                           [&](const std::tuple<std::string, std::string>& e) { return std::get<0>(e) == item; });
-    if (it != params.end() && !it->second.empty()) {
-      result.append(it->second);
+    if (item.size() >= 2 && item[0] == '"' && item[item.size() - 1] == '"') {
+      result.append(item.substr(1, item.size() - 2));
     }
     else {
-      return resultList;
+      auto it = params.find(item);
+      if (it != params.end() && !it->second.empty()) {
+        result.append(it->second);
+      }
+      else {
+        return resultList; // empty
+      }
     }
   }
   resultList.push_back(std::move(result));
