diff --git a/src/configuration.cpp b/src/configuration.cpp
index aab0df5..78c7e61 100644
--- a/src/configuration.cpp
+++ b/src/configuration.cpp
@@ -53,7 +53,11 @@
   // CA max validity period
   m_maxValidityPeriod = time::seconds(configJson.get(CONFIG_MAX_VALIDITY_PERIOD, 86400));
   // CA max suffix length
-  m_maxSuffixLength = configJson.get_optional<size_t>(CONFIG_MAX_SUFFIX_LENGTH);
+  m_maxSuffixLength = nullopt;
+  auto maxSuffixLength = configJson.get_optional<size_t>(CONFIG_MAX_SUFFIX_LENGTH);
+  if (maxSuffixLength.has_value()) {
+    m_maxSuffixLength = *maxSuffixLength;
+  }
   // probe parameter keys
   m_probeParameterKeys.clear();
   auto probeParametersJson = configJson.get_child_optional(CONFIG_PROBE_PARAMETERS);
@@ -99,7 +103,9 @@
   caItem.put(CONFIG_CA_PREFIX, m_caPrefix.toUri());
   caItem.put(CONFIG_CA_INFO, m_caInfo);
   caItem.put(CONFIG_MAX_VALIDITY_PERIOD, m_maxValidityPeriod.count());
-  caItem.put(CONFIG_MAX_SUFFIX_LENGTH, m_maxSuffixLength);
+  if (m_maxSuffixLength) {
+    caItem.put(CONFIG_MAX_SUFFIX_LENGTH, *m_maxSuffixLength);
+  }
   if (!m_probeParameterKeys.empty()) {
     JsonSection probeParametersJson;
     for (const auto& key : m_probeParameterKeys) {
@@ -144,7 +150,7 @@
     NDN_THROW(std::runtime_error("At least one challenge should be specified."));
   }
   // parse redirection section if appears
-  m_redirection = boost::none;
+  m_redirection = nullopt;
   auto redirectionItems = configJson.get_child_optional(CONFIG_REDIRECTION);
   if (redirectionItems) {
     for (const auto& item : *redirectionItems) {
diff --git a/src/configuration.hpp b/src/configuration.hpp
index c881786..8fc3c74 100644
--- a/src/configuration.hpp
+++ b/src/configuration.hpp
@@ -53,7 +53,7 @@
    * E.g., When its value is 2, at most 2 name components can be assigned after m_caPrefix.
    * Default: none.
    */
-  boost::optional<size_t> m_maxSuffixLength;
+  optional<size_t> m_maxSuffixLength = nullopt;
   /**
    * A list of supported challenges. Only CA side will have m_supportedChallenges.
    * Default: empty list.
@@ -127,7 +127,7 @@
    * Used for CA redirection as specified in
    * https://github.com/named-data/ndncert/wiki/NDNCERT-Protocol-0.3-PROBE-Extensions#probe-extension-for-redirection
    */
-  boost::optional<std::vector<std::shared_ptr<security::Certificate>>> m_redirection;
+  optional<std::vector<std::shared_ptr<security::Certificate>>> m_redirection = nullopt;
   /**
    * StatusUpdate Callback function
    */
diff --git a/src/detail/ca-state.hpp b/src/detail/ca-state.hpp
index 23ad6db..994d185 100644
--- a/src/detail/ca-state.hpp
+++ b/src/detail/ca-state.hpp
@@ -135,7 +135,7 @@
   /**
    * @brief The challenge state.
    */
-  boost::optional<ChallengeState> m_challengeState;
+  optional<ChallengeState> m_challengeState;
 };
 
 std::ostream&
diff --git a/src/detail/ndncert-common.hpp b/src/detail/ndncert-common.hpp
index 77f6ca2..0e1b392 100644
--- a/src/detail/ndncert-common.hpp
+++ b/src/detail/ndncert-common.hpp
@@ -48,6 +48,7 @@
 #include <ndn-cxx/security/certificate.hpp>
 #include <ndn-cxx/security/key-chain.hpp>
 #include <ndn-cxx/util/logger.hpp>
+#include <ndn-cxx/util/nonstd/optional.hpp>
 #include <tuple>
 #include <boost/algorithm/string.hpp>
 #include <boost/assert.hpp>
diff --git a/src/detail/probe-encoder.cpp b/src/detail/probe-encoder.cpp
index 2908922..5141ba1 100644
--- a/src/detail/probe-encoder.cpp
+++ b/src/detail/probe-encoder.cpp
@@ -49,8 +49,8 @@
 }
 
 Block
-ProbeEncoder::encodeDataContent(const std::vector<Name>& identifiers, boost::optional<size_t> maxSuffixLength,
-                         boost::optional<std::vector<std::shared_ptr<security::Certificate>>> redirectionItems)
+ProbeEncoder::encodeDataContent(const std::vector<Name>& identifiers, optional<size_t> maxSuffixLength,
+                         optional<std::vector<std::shared_ptr<security::Certificate>>> redirectionItems)
 {
   Block content = makeEmptyBlock(ndn::tlv::Content);
   for (const auto& name : identifiers) {
diff --git a/src/detail/probe-encoder.hpp b/src/detail/probe-encoder.hpp
index 2e47e76..0a991c3 100644
--- a/src/detail/probe-encoder.hpp
+++ b/src/detail/probe-encoder.hpp
@@ -40,8 +40,8 @@
   // For CA use
   static Block
   encodeDataContent(const std::vector<Name>& identifiers,
-                    boost::optional<size_t> maxSuffixLength = boost::none,
-                    boost::optional<std::vector<std::shared_ptr<security::Certificate>>> redirectionItems = boost::none);
+                    optional<size_t> maxSuffixLength = nullopt,
+                    optional<std::vector<std::shared_ptr<security::Certificate>>> redirectionItems = nullopt);
 
   static std::vector<std::tuple<std::string, std::string>>
   decodeApplicationParameters(const Block& block);
diff --git a/src/identity-challenge/challenge-module.cpp b/src/identity-challenge/challenge-module.cpp
index 0570ed5..03feeeb 100644
--- a/src/identity-challenge/challenge-module.cpp
+++ b/src/identity-challenge/challenge-module.cpp
@@ -77,7 +77,7 @@
 {
   request.m_status = Status::FAILURE;
   request.m_challengeType = "";
-  request.m_challengeState = boost::none;
+  request.m_challengeState = nullopt;
   return std::make_tuple(errorCode, std::move(errorInfo));
 }
 
@@ -96,7 +96,7 @@
 {
   request.m_status = Status::PENDING;
   request.m_challengeType = CHALLENGE_TYPE;
-  request.m_challengeState = boost::none;
+  request.m_challengeState = nullopt;
   return std::make_tuple(ErrorCode::NO_ERROR, "");
 }
 
diff --git a/src/requester.cpp b/src/requester.cpp
index 8ae64eb..af3f6c4 100644
--- a/src/requester.cpp
+++ b/src/requester.cpp
@@ -62,7 +62,7 @@
   return interest;
 }
 
-boost::optional<CaProfile>
+optional<CaProfile>
 Requester::onCaProfileResponse(const Data& reply)
 {
   auto caItem = InfoEncoder::decodeDataContent(reply.getContent());
@@ -74,7 +74,7 @@
 }
 
 
-boost::optional<CaProfile>
+optional<CaProfile>
 Requester::onCaProfileResponseAfterRedirection(const Data& reply, const Name& caCertFullName)
 {
   auto caItem = InfoEncoder::decodeDataContent(reply.getContent());
diff --git a/src/requester.hpp b/src/requester.hpp
index b3c7901..cb3d10d 100644
--- a/src/requester.hpp
+++ b/src/requester.hpp
@@ -61,7 +61,7 @@
    * @return the CaProfile if decoding is successful
    * @throw std::runtime_error if the decoding fails or receiving an error packet.
    */
-  static boost::optional<CaProfile>
+  static optional<CaProfile>
   onCaProfileResponse(const Data& reply);
 
   /**
@@ -76,7 +76,7 @@
    * @return the CaProfile if decoding is successful
    * @throw std::runtime_error if the decoding fails or receiving an error packet.
    */
-  static boost::optional<CaProfile>
+  static optional<CaProfile>
   onCaProfileResponseAfterRedirection(const Data& reply, const Name& caCertFullName);
 
   /**
diff --git a/tests/unit-tests/configuration.t.cpp b/tests/unit-tests/configuration.t.cpp
index 7d5c901..e887165 100644
--- a/tests/unit-tests/configuration.t.cpp
+++ b/tests/unit-tests/configuration.t.cpp
@@ -45,7 +45,7 @@
   BOOST_CHECK_EQUAL(config.m_caItem.m_caPrefix, "/ndn");
   BOOST_CHECK_EQUAL(config.m_caItem.m_caInfo, "missing max validity period, max suffix length, and probe");
   BOOST_CHECK_EQUAL(config.m_caItem.m_maxValidityPeriod, time::seconds(86400));
-  BOOST_CHECK(!config.m_caItem.m_maxSuffixLength);
+  BOOST_CHECK(!config.m_caItem.m_maxSuffixLength.has_value());
   BOOST_CHECK_EQUAL(config.m_caItem.m_probeParameterKeys.size(), 0);
   BOOST_CHECK_EQUAL(config.m_caItem.m_supportedChallenges.size(), 2);
   BOOST_CHECK_EQUAL(config.m_caItem.m_supportedChallenges.front(), "pin");
diff --git a/tools/ndncert-client.cpp b/tools/ndncert-client.cpp
index fc074a0..0807edc 100644
--- a/tools/ndncert-client.cpp
+++ b/tools/ndncert-client.cpp
@@ -190,7 +190,7 @@
 static void
 InfoCb(const Data& reply, const Name& certFullName)
 {
-  boost::optional<CaProfile> profile;
+  optional<CaProfile> profile;
   try {
     if (certFullName.empty()) {
       profile = Requester::onCaProfileResponse(reply);
