Drop unnecessary v2 namespace qualifications

Change-Id: I6358bac6860ca8f2e9cdbd00bb2a929e3af5b2da
diff --git a/docs/specs/validation-error-code.rst b/docs/specs/validation-error-code.rst
index 4610cd4..dc2c18c 100644
--- a/docs/specs/validation-error-code.rst
+++ b/docs/specs/validation-error-code.rst
@@ -1,7 +1,7 @@
 Validation Error Code
 =====================
 
-The following table defines a list of known codes and their description, which can be returned from the :ndn-cxx:`v2::Validator` interface.
+The following table defines a list of known codes and their description, which can be returned from the :ndn-cxx:`Validator` interface.
 Other error codes can be returned by validator implementations outside ndn-cxx codebase.
 
 +------------+--------------------------+-----------------------------------------------------+
diff --git a/ndn-cxx/impl/face-impl.hpp b/ndn-cxx/impl/face-impl.hpp
index cbfb76b..d5acc86 100644
--- a/ndn-cxx/impl/face-impl.hpp
+++ b/ndn-cxx/impl/face-impl.hpp
@@ -417,7 +417,7 @@
 
   unique_ptr<boost::asio::io_service::work> m_ioServiceWork; // if thread needs to be preserved
 
-  friend class Face;
+  friend Face;
 };
 
 } // namespace ndn
diff --git a/ndn-cxx/mgmt/nfd/controller.cpp b/ndn-cxx/mgmt/nfd/controller.cpp
index 5a3ce12..dbc0014 100644
--- a/ndn-cxx/mgmt/nfd/controller.cpp
+++ b/ndn-cxx/mgmt/nfd/controller.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2020 Regents of the University of California.
+ * Copyright (c) 2013-2021 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -36,7 +36,7 @@
 const uint32_t Controller::ERROR_SERVER = 500;
 const uint32_t Controller::ERROR_LBOUND = 400;
 
-Controller::Controller(Face& face, KeyChain& keyChain, security::v2::Validator& validator)
+Controller::Controller(Face& face, KeyChain& keyChain, security::Validator& validator)
   : m_face(face)
   , m_keyChain(keyChain)
   , m_validator(validator)
diff --git a/ndn-cxx/mgmt/nfd/controller.hpp b/ndn-cxx/mgmt/nfd/controller.hpp
index 8e7446b..2071e71 100644
--- a/ndn-cxx/mgmt/nfd/controller.hpp
+++ b/ndn-cxx/mgmt/nfd/controller.hpp
@@ -67,7 +67,7 @@
    *         and uses the passed KeyChain to sign commands
    */
   Controller(Face& face, KeyChain& keyChain,
-             security::v2::Validator& validator = security::getAcceptAllValidator());
+             security::Validator& validator = security::getAcceptAllValidator());
 
   ~Controller();
 
@@ -173,7 +173,7 @@
 protected:
   Face& m_face;
   KeyChain& m_keyChain;
-  security::v2::Validator& m_validator;
+  security::Validator& m_validator;
   security::CommandInterestSigner m_signer;
 
 NDN_CXX_PUBLIC_WITH_TESTS_ELSE_PROTECTED:
diff --git a/ndn-cxx/security/certificate.cpp b/ndn-cxx/security/certificate.cpp
index b54c56d..1e93583 100644
--- a/ndn-cxx/security/certificate.cpp
+++ b/ndn-cxx/security/certificate.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2020 Regents of the University of California.
+ * Copyright (c) 2013-2021 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -153,7 +153,7 @@
   auto additionalDescription = cert.getSignatureInfo().getCustomTlv(tlv::AdditionalDescription);
   if (additionalDescription) {
     os << "Additional Description:\n";
-    for (const auto& item : v2::AdditionalDescription(*additionalDescription)) {
+    for (const auto& item : AdditionalDescription(*additionalDescription)) {
       os << "  " << item.first << ": " << item.second << "\n";
     }
   }
diff --git a/ndn-cxx/security/key-chain.hpp b/ndn-cxx/security/key-chain.hpp
index 8fe3dfe..a550d60 100644
--- a/ndn-cxx/security/key-chain.hpp
+++ b/ndn-cxx/security/key-chain.hpp
@@ -446,7 +446,7 @@
  * This macro should be placed once in the implementation file of the
  * Pib backend class within the namespace where the type is declared.
  *
- * @note This interface is implementation detail and may change without notice.
+ * @note This interface is an implementation detail and may change without notice.
  */
 #define NDN_CXX_KEYCHAIN_REGISTER_PIB_BACKEND(PibType)     \
 static class NdnCxxAuto ## PibType ## PibRegistrationClass    \
@@ -454,7 +454,7 @@
 public:                                                       \
   NdnCxxAuto ## PibType ## PibRegistrationClass()             \
   {                                                           \
-    ::ndn::security::v2::KeyChain::registerPibBackend<PibType>(PibType::getScheme()); \
+    ::ndn::security::KeyChain::registerPibBackend<PibType>(PibType::getScheme()); \
   }                                                           \
 } ndnCxxAuto ## PibType ## PibRegistrationVariable
 
@@ -464,7 +464,7 @@
  * This macro should be placed once in the implementation file of the
  * Tpm backend class within the namespace where the type is declared.
  *
- * @note This interface is implementation detail and may change without notice.
+ * @note This interface is an implementation detail and may change without notice.
  */
 #define NDN_CXX_KEYCHAIN_REGISTER_TPM_BACKEND(TpmType)     \
 static class NdnCxxAuto ## TpmType ## TpmRegistrationClass    \
@@ -472,14 +472,14 @@
 public:                                                       \
   NdnCxxAuto ## TpmType ## TpmRegistrationClass()             \
   {                                                           \
-    ::ndn::security::v2::KeyChain::registerTpmBackend<TpmType>(TpmType::getScheme()); \
+    ::ndn::security::KeyChain::registerTpmBackend<TpmType>(TpmType::getScheme()); \
   }                                                           \
 } ndnCxxAuto ## TpmType ## TpmRegistrationVariable
 
 } // inline namespace v2
 } // namespace security
 
-using security::v2::KeyChain;
+using security::KeyChain;
 
 } // namespace ndn
 
diff --git a/ndn-cxx/security/pib/certificate-container.cpp b/ndn-cxx/security/pib/certificate-container.cpp
index a2a6762..a3ced13 100644
--- a/ndn-cxx/security/pib/certificate-container.cpp
+++ b/ndn-cxx/security/pib/certificate-container.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2019 Regents of the University of California.
+ * Copyright (c) 2013-2021 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -41,7 +41,7 @@
 {
 }
 
-v2::Certificate
+Certificate
 CertificateContainer::const_iterator::operator*()
 {
   BOOST_ASSERT(m_container != nullptr);
@@ -91,19 +91,19 @@
 CertificateContainer::const_iterator
 CertificateContainer::begin() const
 {
-  return const_iterator(m_certNames.begin(), *this);
+  return {m_certNames.begin(), *this};
 }
 
 CertificateContainer::const_iterator
 CertificateContainer::end() const
 {
-  return const_iterator();
+  return {};
 }
 
 CertificateContainer::const_iterator
 CertificateContainer::find(const Name& certName) const
 {
-  return const_iterator(m_certNames.find(certName), *this);
+  return {m_certNames.find(certName), *this};
 }
 
 size_t
@@ -113,7 +113,7 @@
 }
 
 void
-CertificateContainer::add(const v2::Certificate& certificate)
+CertificateContainer::add(const Certificate& certificate)
 {
   if (m_keyName != certificate.getKeyName())
     NDN_THROW(std::invalid_argument("Certificate name `" + certificate.getKeyName().toUri() + "` "
@@ -128,8 +128,7 @@
 void
 CertificateContainer::remove(const Name& certName)
 {
-  if (!v2::Certificate::isValidName(certName) ||
-      v2::extractKeyNameFromCertName(certName) != m_keyName) {
+  if (!Certificate::isValidName(certName) || extractKeyNameFromCertName(certName) != m_keyName) {
     NDN_THROW(std::invalid_argument("Certificate name `" + certName.toUri() + "` "
                                     "is invalid or does not match key name"));
   }
@@ -139,7 +138,7 @@
   m_pib->removeCertificate(certName);
 }
 
-v2::Certificate
+Certificate
 CertificateContainer::get(const Name& certName) const
 {
   auto it = m_certs.find(certName);
@@ -147,8 +146,7 @@
   if (it != m_certs.end())
     return it->second;
 
-  if (!v2::Certificate::isValidName(certName) ||
-      v2::extractKeyNameFromCertName(certName) != m_keyName) {
+  if (!Certificate::isValidName(certName) || extractKeyNameFromCertName(certName) != m_keyName) {
     NDN_THROW(std::invalid_argument("Certificate name `" + certName.toUri() + "` "
                                     "is invalid or does not match key name"));
   }
diff --git a/ndn-cxx/security/pib/certificate-container.hpp b/ndn-cxx/security/pib/certificate-container.hpp
index d9bcbb1..3befdde 100644
--- a/ndn-cxx/security/pib/certificate-container.hpp
+++ b/ndn-cxx/security/pib/certificate-container.hpp
@@ -58,7 +58,7 @@
 
     const_iterator();
 
-    v2::Certificate
+    Certificate
     operator*();
 
     const_iterator&
@@ -83,7 +83,7 @@
     friend class CertificateContainer;
   };
 
-  typedef const_iterator iterator;
+  using iterator = const_iterator;
 
 public:
   const_iterator
@@ -103,7 +103,7 @@
    * @throw std::invalid_argument the name of @p certificate does not match the key name
    */
   void
-  add(const v2::Certificate& certificate);
+  add(const Certificate& certificate);
 
   /**
    * @brief Remove a certificate with @p certName from the container
@@ -117,7 +117,7 @@
    * @throw std::invalid_argument @p certName does not match the key name
    * @throw Pib::Error the certificate does not exist
    */
-  v2::Certificate
+  Certificate
   get(const Name& certName) const;
 
   /**
@@ -140,7 +140,7 @@
     return m_certNames;
   }
 
-  const std::unordered_map<Name, v2::Certificate>&
+  const std::unordered_map<Name, Certificate>&
   getCache() const
   {
     return m_certs;
@@ -150,11 +150,13 @@
   Name m_keyName;
   std::set<Name> m_certNames;
   /// @brief Cache of loaded certificates
-  mutable std::unordered_map<Name, v2::Certificate> m_certs;
+  mutable std::unordered_map<Name, Certificate> m_certs;
 
   shared_ptr<PibImpl> m_pib;
 
-  friend class detail::KeyImpl;
+#ifndef DOXYGEN
+  friend detail::KeyImpl;
+#endif
 };
 
 } // namespace pib
diff --git a/ndn-cxx/security/pib/identity.hpp b/ndn-cxx/security/pib/identity.hpp
index 968fb51..5ab5aa1 100644
--- a/ndn-cxx/security/pib/identity.hpp
+++ b/ndn-cxx/security/pib/identity.hpp
@@ -26,6 +26,11 @@
 
 namespace ndn {
 namespace security {
+
+inline namespace v2 {
+class KeyChain;
+} // inline namespace v2
+
 namespace pib {
 
 namespace detail {
@@ -151,7 +156,7 @@
 private:
   weak_ptr<detail::IdentityImpl> m_impl;
 
-  friend class v2::KeyChain;
+  friend KeyChain;
   friend bool operator!=(const Identity&, const Identity&);
 };
 
diff --git a/ndn-cxx/security/pib/impl/key-impl.cpp b/ndn-cxx/security/pib/impl/key-impl.cpp
index 79c0300..1447a98 100644
--- a/ndn-cxx/security/pib/impl/key-impl.cpp
+++ b/ndn-cxx/security/pib/impl/key-impl.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2019 Regents of the University of California.
+ * Copyright (c) 2013-2021 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -30,7 +30,7 @@
 namespace detail {
 
 KeyImpl::KeyImpl(const Name& keyName, const uint8_t* key, size_t keyLen, shared_ptr<PibImpl> pibImpl)
-  : m_identity(v2::extractIdentityFromKeyName(keyName))
+  : m_identity(extractIdentityFromKeyName(keyName))
   , m_keyName(keyName)
   , m_key(key, keyLen)
   , m_pib(std::move(pibImpl))
@@ -52,7 +52,7 @@
 }
 
 KeyImpl::KeyImpl(const Name& keyName, shared_ptr<PibImpl> pibImpl)
-  : m_identity(v2::extractIdentityFromKeyName(keyName))
+  : m_identity(extractIdentityFromKeyName(keyName))
   , m_keyName(keyName)
   , m_pib(std::move(pibImpl))
   , m_certificates(keyName, m_pib)
@@ -68,7 +68,7 @@
 }
 
 void
-KeyImpl::addCertificate(const v2::Certificate& certificate)
+KeyImpl::addCertificate(const Certificate& certificate)
 {
   BOOST_ASSERT(m_certificates.isConsistent());
   m_certificates.add(certificate);
@@ -85,7 +85,7 @@
   m_certificates.remove(certName);
 }
 
-v2::Certificate
+Certificate
 KeyImpl::getCertificate(const Name& certName) const
 {
   BOOST_ASSERT(m_certificates.isConsistent());
@@ -99,7 +99,7 @@
   return m_certificates;
 }
 
-const v2::Certificate&
+const Certificate&
 KeyImpl::setDefaultCertificate(const Name& certName)
 {
   BOOST_ASSERT(m_certificates.isConsistent());
@@ -110,14 +110,14 @@
   return m_defaultCertificate;
 }
 
-const v2::Certificate&
-KeyImpl::setDefaultCertificate(const v2::Certificate& certificate)
+const Certificate&
+KeyImpl::setDefaultCertificate(const Certificate& certificate)
 {
   addCertificate(certificate);
   return setDefaultCertificate(certificate.getName());
 }
 
-const v2::Certificate&
+const Certificate&
 KeyImpl::getDefaultCertificate() const
 {
   BOOST_ASSERT(m_certificates.isConsistent());
diff --git a/ndn-cxx/security/pib/impl/key-impl.hpp b/ndn-cxx/security/pib/impl/key-impl.hpp
index c95b5c6..64a00d7 100644
--- a/ndn-cxx/security/pib/impl/key-impl.hpp
+++ b/ndn-cxx/security/pib/impl/key-impl.hpp
@@ -115,7 +115,7 @@
    * @throw std::invalid_argument the certificate name does not match the key name.
    */
   void
-  addCertificate(const v2::Certificate& certificate);
+  addCertificate(const Certificate& certificate);
 
   /**
    * @brief Remove a certificate with @p certName.
@@ -129,7 +129,7 @@
    * @throw std::invalid_argument @p certName does not match the key name.
    * @throw Pib::Error the certificate does not exist.
    */
-  v2::Certificate
+  Certificate
   getCertificate(const Name& certName) const;
 
   /**
@@ -144,7 +144,7 @@
    * @throw Pib::Error the certificate does not exist.
    * @return the default certificate
    */
-  const v2::Certificate&
+  const Certificate&
   setDefaultCertificate(const Name& certName);
 
   /**
@@ -156,14 +156,14 @@
    * @throw std::invalid_argument @p certificate does not match the key name.
    * @return the default certificate
    */
-  const v2::Certificate&
-  setDefaultCertificate(const v2::Certificate& certificate);
+  const Certificate&
+  setDefaultCertificate(const Certificate& certificate);
 
   /**
    * @brief Get the default certificate for this key.
    * @throw Pib::Error the default certificate does not exist.
    */
-  const v2::Certificate&
+  const Certificate&
   getDefaultCertificate() const;
 
 private:
@@ -176,7 +176,7 @@
 
   CertificateContainer m_certificates;
   mutable bool m_isDefaultCertificateLoaded;
-  mutable v2::Certificate m_defaultCertificate;
+  mutable Certificate m_defaultCertificate;
 };
 
 } // namespace detail
diff --git a/ndn-cxx/security/pib/impl/pib-memory.cpp b/ndn-cxx/security/pib/impl/pib-memory.cpp
index 0e10861..22e7b48 100644
--- a/ndn-cxx/security/pib/impl/pib-memory.cpp
+++ b/ndn-cxx/security/pib/impl/pib-memory.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2020 Regents of the University of California.
+ * Copyright (c) 2013-2021 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -145,7 +145,7 @@
 void
 PibMemory::removeKey(const Name& keyName)
 {
-  Name identity = v2::extractIdentityFromKeyName(keyName);
+  Name identity = extractIdentityFromKeyName(keyName);
 
   m_keys.erase(keyName);
   m_defaultKeys.erase(identity);
@@ -173,7 +173,7 @@
 {
   std::set<Name> ids;
   for (const auto& keyName : m_keys | boost::adaptors::map_keys) {
-    if (identity == v2::extractIdentityFromKeyName(keyName)) {
+    if (identity == extractIdentityFromKeyName(keyName)) {
       ids.insert(keyName);
     }
   }
@@ -208,7 +208,7 @@
 }
 
 void
-PibMemory::addCertificate(const v2::Certificate& certificate)
+PibMemory::addCertificate(const Certificate& certificate)
 {
   Name certName = certificate.getName();
   Name keyName = certificate.getKeyName();
@@ -226,13 +226,13 @@
 PibMemory::removeCertificate(const Name& certName)
 {
   m_certs.erase(certName);
-  auto defaultCert = m_defaultCerts.find(v2::extractKeyNameFromCertName(certName));
+  auto defaultCert = m_defaultCerts.find(extractKeyNameFromCertName(certName));
   if (defaultCert != m_defaultCerts.end() && defaultCert->second == certName) {
     m_defaultCerts.erase(defaultCert);
   }
 }
 
-v2::Certificate
+Certificate
 PibMemory::getCertificate(const Name& certName) const
 {
   if (!hasCertificate(certName)) {
@@ -248,7 +248,7 @@
 {
   std::set<Name> certNames;
   for (const auto& it : m_certs) {
-    if (v2::extractKeyNameFromCertName(it.second.getName()) == keyName) {
+    if (extractKeyNameFromCertName(it.second.getName()) == keyName) {
       certNames.insert(it.first);
     }
   }
@@ -265,7 +265,7 @@
   m_defaultCerts[keyName] = certName;
 }
 
-v2::Certificate
+Certificate
 PibMemory::getDefaultCertificateOfKey(const Name& keyName) const
 {
   auto it = m_defaultCerts.find(keyName);
diff --git a/ndn-cxx/security/pib/impl/pib-memory.hpp b/ndn-cxx/security/pib/impl/pib-memory.hpp
index 110f720..63a3b49 100644
--- a/ndn-cxx/security/pib/impl/pib-memory.hpp
+++ b/ndn-cxx/security/pib/impl/pib-memory.hpp
@@ -103,12 +103,12 @@
   hasCertificate(const Name& certName) const override;
 
   void
-  addCertificate(const v2::Certificate& certificate) override;
+  addCertificate(const Certificate& certificate) override;
 
   void
   removeCertificate(const Name& certName) override;
 
-  v2::Certificate
+  Certificate
   getCertificate(const Name& certName) const override;
 
   std::set<Name>
@@ -117,7 +117,7 @@
   void
   setDefaultCertificateOfKey(const Name& keyName, const Name& certName) override;
 
-  v2::Certificate
+  Certificate
   getDefaultCertificateOfKey(const Name& keyName) const override;
 
 private:
@@ -138,7 +138,7 @@
   std::map<Name, Name> m_defaultCerts;
 
   /// @brief certificate Name => certificate
-  std::map<Name, v2::Certificate> m_certs;
+  std::map<Name, Certificate> m_certs;
 };
 
 } // namespace pib
diff --git a/ndn-cxx/security/pib/impl/pib-sqlite3.cpp b/ndn-cxx/security/pib/impl/pib-sqlite3.cpp
index a05fa16..d32c7aa 100644
--- a/ndn-cxx/security/pib/impl/pib-sqlite3.cpp
+++ b/ndn-cxx/security/pib/impl/pib-sqlite3.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2020 Regents of the University of California.
+ * Copyright (c) 2013-2021 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -482,7 +482,7 @@
 }
 
 void
-PibSqlite3::addCertificate(const v2::Certificate& certificate)
+PibSqlite3::addCertificate(const Certificate& certificate)
 {
   // ensure key exists
   const Block& content = certificate.getContent();
@@ -519,7 +519,7 @@
   statement.step();
 }
 
-v2::Certificate
+Certificate
 PibSqlite3::getCertificate(const Name& certName) const
 {
   Sqlite3Statement statement(m_database,
@@ -527,7 +527,7 @@
   statement.bind(1, certName.wireEncode(), SQLITE_TRANSIENT);
 
   if (statement.step() == SQLITE_ROW)
-    return v2::Certificate(statement.getBlock(0));
+    return Certificate(statement.getBlock(0));
   else
     NDN_THROW(Pib::Error("Certificate `" + certName.toUri() + "` does not exit"));
 }
@@ -562,7 +562,7 @@
   statement.step();
 }
 
-v2::Certificate
+Certificate
 PibSqlite3::getDefaultCertificateOfKey(const Name& keyName) const
 {
   Sqlite3Statement statement(m_database,
@@ -572,7 +572,7 @@
   statement.bind(1, keyName.wireEncode(), SQLITE_TRANSIENT);
 
   if (statement.step() == SQLITE_ROW)
-    return v2::Certificate(statement.getBlock(0));
+    return Certificate(statement.getBlock(0));
   else
     NDN_THROW(Pib::Error("No default certificate for key `" + keyName.toUri() + "`"));
 }
diff --git a/ndn-cxx/security/pib/impl/pib-sqlite3.hpp b/ndn-cxx/security/pib/impl/pib-sqlite3.hpp
index a6fd015..d5960c7 100644
--- a/ndn-cxx/security/pib/impl/pib-sqlite3.hpp
+++ b/ndn-cxx/security/pib/impl/pib-sqlite3.hpp
@@ -36,7 +36,7 @@
  * All the contents in Pib are stored in a SQLite3 database file.
  * This backend provides more persistent storage than PibMemory.
  */
-class PibSqlite3 : public PibImpl
+class PibSqlite3 final : public PibImpl
 {
 public:
   /**
@@ -57,7 +57,7 @@
   /**
    * @brief Destruct and cleanup internal state
    */
-  ~PibSqlite3();
+  ~PibSqlite3() final;
 
   static const std::string&
   getScheme();
@@ -119,12 +119,12 @@
   hasCertificate(const Name& certName) const final;
 
   void
-  addCertificate(const v2::Certificate& certificate) final;
+  addCertificate(const Certificate& certificate) final;
 
   void
   removeCertificate(const Name& certName) final;
 
-  v2::Certificate
+  Certificate
   getCertificate(const Name& certName) const final;
 
   std::set<Name>
@@ -133,7 +133,7 @@
   void
   setDefaultCertificateOfKey(const Name& keyName, const Name& certName) final;
 
-  v2::Certificate
+  Certificate
   getDefaultCertificateOfKey(const Name& keyName) const final;
 
 private:
diff --git a/ndn-cxx/security/pib/key-container.cpp b/ndn-cxx/security/pib/key-container.cpp
index ccf3ad0..ceae0a7 100644
--- a/ndn-cxx/security/pib/key-container.cpp
+++ b/ndn-cxx/security/pib/key-container.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2019 Regents of the University of California.
+ * Copyright (c) 2013-2021 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -20,8 +20,8 @@
  */
 
 #include "ndn-cxx/security/pib/key-container.hpp"
-#include "ndn-cxx/security/pib/pib-impl.hpp"
 #include "ndn-cxx/security/pib/impl/key-impl.hpp"
+#include "ndn-cxx/security/pib/pib-impl.hpp"
 #include "ndn-cxx/util/concepts.hpp"
 
 namespace ndn {
@@ -91,19 +91,19 @@
 KeyContainer::const_iterator
 KeyContainer::begin() const
 {
-  return const_iterator(m_keyNames.begin(), *this);
+  return {m_keyNames.begin(), *this};
 }
 
 KeyContainer::const_iterator
 KeyContainer::end() const
 {
-  return const_iterator();
+  return {};
 }
 
 KeyContainer::const_iterator
 KeyContainer::find(const Name& keyName) const
 {
-  return const_iterator(m_keyNames.find(keyName), *this);
+  return {m_keyNames.find(keyName), *this};
 }
 
 size_t
@@ -115,7 +115,7 @@
 Key
 KeyContainer::add(const uint8_t* key, size_t keyLen, const Name& keyName)
 {
-  if (m_identity != v2::extractIdentityFromKeyName(keyName)) {
+  if (m_identity != extractIdentityFromKeyName(keyName)) {
     NDN_THROW(std::invalid_argument("Key name `" + keyName.toUri() + "` does not match identity "
                                     "`" + m_identity.toUri() + "`"));
   }
@@ -129,7 +129,7 @@
 void
 KeyContainer::remove(const Name& keyName)
 {
-  if (m_identity != v2::extractIdentityFromKeyName(keyName)) {
+  if (m_identity != extractIdentityFromKeyName(keyName)) {
     NDN_THROW(std::invalid_argument("Key name `" + keyName.toUri() + "` does not match identity "
                                     "`" + m_identity.toUri() + "`"));
   }
@@ -142,7 +142,7 @@
 Key
 KeyContainer::get(const Name& keyName) const
 {
-  if (m_identity != v2::extractIdentityFromKeyName(keyName)) {
+  if (m_identity != extractIdentityFromKeyName(keyName)) {
     NDN_THROW(std::invalid_argument("Key name `" + keyName.toUri() + "` does not match identity "
                                     "`" + m_identity.toUri() + "`"));
   }
diff --git a/ndn-cxx/security/pib/key-container.hpp b/ndn-cxx/security/pib/key-container.hpp
index 616d88a..1db0bae 100644
--- a/ndn-cxx/security/pib/key-container.hpp
+++ b/ndn-cxx/security/pib/key-container.hpp
@@ -84,7 +84,7 @@
     friend class KeyContainer;
   };
 
-  typedef const_iterator iterator;
+  using iterator = const_iterator;
 
 public:
   const_iterator
@@ -158,7 +158,9 @@
 
   shared_ptr<PibImpl> m_pib;
 
-  friend class detail::IdentityImpl;
+#ifndef DOXYGEN
+  friend detail::IdentityImpl;
+#endif
 };
 
 } // namespace pib
diff --git a/ndn-cxx/security/pib/key.cpp b/ndn-cxx/security/pib/key.cpp
index 5eb011d..d6fe78a 100644
--- a/ndn-cxx/security/pib/key.cpp
+++ b/ndn-cxx/security/pib/key.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2020 Regents of the University of California.
+ * Copyright (c) 2013-2021 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -30,7 +30,7 @@
 Key::Key() = default;
 
 Key::Key(weak_ptr<detail::KeyImpl> impl)
-  : m_impl(impl)
+  : m_impl(std::move(impl))
 {
 }
 
@@ -59,18 +59,18 @@
 }
 
 void
-Key::addCertificate(const v2::Certificate& certificate) const
+Key::addCertificate(const Certificate& certificate) const
 {
-  return lock()->addCertificate(certificate);
+  lock()->addCertificate(certificate);
 }
 
 void
 Key::removeCertificate(const Name& certName) const
 {
-  return lock()->removeCertificate(certName);
+  lock()->removeCertificate(certName);
 }
 
-v2::Certificate
+Certificate
 Key::getCertificate(const Name& certName) const
 {
   return lock()->getCertificate(certName);
@@ -82,19 +82,19 @@
   return lock()->getCertificates();
 }
 
-const v2::Certificate&
+const Certificate&
 Key::setDefaultCertificate(const Name& certName) const
 {
   return lock()->setDefaultCertificate(certName);
 }
 
-const v2::Certificate&
-Key::setDefaultCertificate(const v2::Certificate& certificate) const
+const Certificate&
+Key::setDefaultCertificate(const Certificate& certificate) const
 {
   return lock()->setDefaultCertificate(certificate);
 }
 
-const v2::Certificate&
+const Certificate&
 Key::getDefaultCertificate() const
 {
   return lock()->getDefaultCertificate();
diff --git a/ndn-cxx/security/pib/key.hpp b/ndn-cxx/security/pib/key.hpp
index ead7693..0c4df65 100644
--- a/ndn-cxx/security/pib/key.hpp
+++ b/ndn-cxx/security/pib/key.hpp
@@ -106,7 +106,7 @@
    * @throw std::invalid_argument @p certName does not match key name
    * @throw Pib::Error the certificate does not exist.
    */
-  v2::Certificate
+  Certificate
   getCertificate(const Name& certName) const;
 
   /**
@@ -119,7 +119,7 @@
    * @brief Get the default certificate for this Key.
    * @throw Pib::Error the default certificate does not exist.
    */
-  const v2::Certificate&
+  const Certificate&
   getDefaultCertificate() const;
 
   /**
@@ -137,7 +137,7 @@
    * the certificate.
    */
   void
-  addCertificate(const v2::Certificate& certificate) const;
+  addCertificate(const Certificate& certificate) const;
 
   /**
    * @brief Remove a certificate with @p certName
@@ -152,7 +152,7 @@
    * @throw Pib::Error the certificate does not exist.
    * @return the default certificate
    */
-  const v2::Certificate&
+  const Certificate&
   setDefaultCertificate(const Name& certName) const;
 
   /**
@@ -160,8 +160,8 @@
    * @throw std::invalid_argument @p certificate does not match key name
    * @return the default certificate
    */
-  const v2::Certificate&
-  setDefaultCertificate(const v2::Certificate& certificate) const;
+  const Certificate&
+  setDefaultCertificate(const Certificate& certificate) const;
 
 private:
   /**
@@ -175,7 +175,7 @@
 private:
   weak_ptr<detail::KeyImpl> m_impl;
 
-  friend class v2::KeyChain;
+  friend KeyChain;
   friend bool operator!=(const Key&, const Key&);
 };
 
diff --git a/ndn-cxx/security/pib/pib-impl.hpp b/ndn-cxx/security/pib/pib-impl.hpp
index db3470a..99e4233 100644
--- a/ndn-cxx/security/pib/pib-impl.hpp
+++ b/ndn-cxx/security/pib/pib-impl.hpp
@@ -226,7 +226,7 @@
    * @param certificate The certificate to add.
    */
   virtual void
-  addCertificate(const v2::Certificate& certificate) = 0;
+  addCertificate(const Certificate& certificate) = 0;
 
   /**
    * @brief Remove a certificate with name @p certName.
@@ -245,7 +245,7 @@
    * @return the certificate.
    * @throw Pib::Error the certificate does not exist.
    */
-  virtual v2::Certificate
+  virtual Certificate
   getCertificate(const Name& certName) const = 0;
 
   /**
@@ -272,7 +272,7 @@
    *
    * @throw Pib::Error the default certificate does not exist.
    */
-  virtual v2::Certificate
+  virtual Certificate
   getDefaultCertificateOfKey(const Name& keyName) const = 0;
 };
 
diff --git a/ndn-cxx/security/pib/pib.hpp b/ndn-cxx/security/pib/pib.hpp
index d30146c..5fb38a3 100644
--- a/ndn-cxx/security/pib/pib.hpp
+++ b/ndn-cxx/security/pib/pib.hpp
@@ -43,8 +43,8 @@
  * the Pib class provides access to identities, and allows setting a default identity. Properties of
  * an identity can be accessed after obtaining an Identity object.
  *
- * @note Pib instance is created and managed only by v2::KeyChain.  v2::KeyChain::getPib()
- *       returns a const reference to the managed Pib instance, through which it is possible to
+ * @note Pib instance is created and managed only by KeyChain. KeyChain::getPib() returns
+ *       a const reference to the managed Pib instance, through which it is possible to
  *       retrieve information about identities, keys, and certificates.
  *
  * @throw PibImpl::Error when underlying implementation has non-semantic error.
@@ -174,7 +174,7 @@
 
   shared_ptr<PibImpl> m_impl;
 
-  friend class v2::KeyChain;
+  friend KeyChain;
 };
 
 } // namespace pib
diff --git a/ndn-cxx/security/signing-helpers.cpp b/ndn-cxx/security/signing-helpers.cpp
index 37851fa..a81097f 100644
--- a/ndn-cxx/security/signing-helpers.cpp
+++ b/ndn-cxx/security/signing-helpers.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2018 Regents of the University of California.
+ * Copyright (c) 2013-2021 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -55,7 +55,7 @@
 }
 
 SigningInfo
-signingByCertificate(const v2::Certificate& cert)
+signingByCertificate(const Certificate& cert)
 {
   return SigningInfo(SigningInfo::SIGNER_TYPE_CERT, cert.getName());
 }
diff --git a/ndn-cxx/security/signing-helpers.hpp b/ndn-cxx/security/signing-helpers.hpp
index 6be8ec8..55d8ad5 100644
--- a/ndn-cxx/security/signing-helpers.hpp
+++ b/ndn-cxx/security/signing-helpers.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2018 Regents of the University of California.
+ * Copyright (c) 2013-2021 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -62,7 +62,7 @@
  * \return a SigningInfo for signing with a certificate
  */
 SigningInfo
-signingByCertificate(const v2::Certificate& cert);
+signingByCertificate(const Certificate& cert);
 
 /**
  * \return a SigningInfo for signing with Sha256
diff --git a/ndn-cxx/security/tpm/back-end.cpp b/ndn-cxx/security/tpm/back-end.cpp
index ec25623..480ab03 100644
--- a/ndn-cxx/security/tpm/back-end.cpp
+++ b/ndn-cxx/security/tpm/back-end.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2019 Regents of the University of California.
+ * Copyright (c) 2013-2021 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -59,7 +59,7 @@
   switch (params.getKeyIdType()) {
     case KeyIdType::USER_SPECIFIED: {
       // check that the provided key id isn't already taken
-      Name keyName = v2::constructKeyName(identity, params.getKeyId());
+      Name keyName = constructKeyName(identity, params.getKeyId());
       if (hasKey(keyName)) {
         NDN_THROW(Error("Key `" + keyName.toUri() + "` already exists"));
       }
@@ -116,7 +116,7 @@
 {
   switch (params.getKeyIdType()) {
     case KeyIdType::USER_SPECIFIED: {
-      return v2::constructKeyName(identity, params.getKeyId());
+      return constructKeyName(identity, params.getKeyId());
     }
     case KeyIdType::SHA256: {
       using namespace transform;
@@ -124,13 +124,13 @@
       bufferSource(*keyHandle.derivePublicKey()) >>
         digestFilter(DigestAlgorithm::SHA256) >>
         streamSink(os);
-      return v2::constructKeyName(identity, name::Component(os.buf()));
+      return constructKeyName(identity, name::Component(os.buf()));
     }
     case KeyIdType::RANDOM: {
       Name keyName;
       do {
         auto keyId = name::Component::fromNumber(random::generateSecureWord64());
-        keyName = v2::constructKeyName(identity, keyId);
+        keyName = constructKeyName(identity, keyId);
       } while (hasKey(keyName));
       return keyName;
     }
diff --git a/ndn-cxx/security/tpm/tpm.hpp b/ndn-cxx/security/tpm/tpm.hpp
index 08400c6..d1da79b 100644
--- a/ndn-cxx/security/tpm/tpm.hpp
+++ b/ndn-cxx/security/tpm/tpm.hpp
@@ -57,10 +57,10 @@
  * A TPM consists of a unified front-end interface and a back-end implementation. The front-end
  * cache the handles of private keys which is provided by the back-end implementation.
  *
- * @note Tpm instance is created and managed only by v2::KeyChain.  v2::KeyChain::getTpm()
- *       returns a const reference to the managed Tpm instance, through which it is possible to
- *       check existence of private keys, get public keys for the private keys, sign, and decrypt
- *       the supplied buffers using managed private keys.
+ * @note Tpm instance is created and managed only by KeyChain. KeyChain::getTpm() returns
+ *       a const reference to the managed Tpm instance, through which it is possible to
+ *       check the existence of private keys, get the public key corresponding to a private
+ *       key, sign, and decrypt the supplied buffers using managed private keys.
  */
 class Tpm : noncopyable
 {
@@ -269,7 +269,7 @@
 
   const unique_ptr<BackEnd> m_backEnd;
 
-  friend class v2::KeyChain;
+  friend KeyChain;
 };
 
 } // namespace tpm
diff --git a/ndn-cxx/security/validation-state.hpp b/ndn-cxx/security/validation-state.hpp
index 739468c..83d7f94 100644
--- a/ndn-cxx/security/validation-state.hpp
+++ b/ndn-cxx/security/validation-state.hpp
@@ -150,9 +150,9 @@
    * Each certificate in the chain signs the next certificate.  The last certificate signs the
    * original packet.
    */
-  std::list<v2::Certificate> m_certificateChain;
+  std::list<Certificate> m_certificateChain;
 
-  friend class Validator;
+  friend Validator;
 };
 
 /**
diff --git a/ndn-cxx/security/verification-helpers.cpp b/ndn-cxx/security/verification-helpers.cpp
index 60bc7d1..2f5927e 100644
--- a/ndn-cxx/security/verification-helpers.cpp
+++ b/ndn-cxx/security/verification-helpers.cpp
@@ -214,7 +214,7 @@
 }
 
 bool
-verifySignature(const Data& data, const optional<v2::Certificate>& cert)
+verifySignature(const Data& data, const optional<Certificate>& cert)
 {
   auto parsed = parse(data);
   if (cert) {
@@ -232,7 +232,7 @@
 }
 
 bool
-verifySignature(const Interest& interest, const optional<v2::Certificate>& cert)
+verifySignature(const Interest& interest, const optional<Certificate>& cert)
 {
   auto parsed = parse(interest);
   if (cert) {
diff --git a/ndn-cxx/security/verification-helpers.hpp b/ndn-cxx/security/verification-helpers.hpp
index 8b96221..09b7b57 100644
--- a/ndn-cxx/security/verification-helpers.hpp
+++ b/ndn-cxx/security/verification-helpers.hpp
@@ -128,7 +128,7 @@
  * If @p cert is nullopt, @p data assumed to be self-verifiable (with digest or attributes)
  */
 bool
-verifySignature(const Data& data, const optional<v2::Certificate>& cert);
+verifySignature(const Data& data, const optional<Certificate>& cert);
 
 /**
  * @brief Verify @p interest using @p cert.
@@ -138,7 +138,7 @@
  * If @p cert is nullptr, @p interest assumed to be self-verifiable (with digest or attributes)
  */
 bool
-verifySignature(const Interest& interest, const optional<v2::Certificate>& cert);
+verifySignature(const Interest& interest, const optional<Certificate>& cert);
 
 /**
  * @brief Verify @p data using @p tpm and @p keyName with the @p digestAlgorithm.
diff --git a/ndn-cxx/util/scheduler.hpp b/ndn-cxx/util/scheduler.hpp
index ea8a0b8..547345a 100644
--- a/ndn-cxx/util/scheduler.hpp
+++ b/ndn-cxx/util/scheduler.hpp
@@ -104,7 +104,7 @@
 private:
   weak_ptr<EventInfo> m_info;
 
-  friend class Scheduler;
+  friend Scheduler;
   friend std::ostream& operator<<(std::ostream& os, const EventId& eventId);
 };
 
diff --git a/ndn-cxx/util/segment-fetcher.cpp b/ndn-cxx/util/segment-fetcher.cpp
index 0da0860..f435167 100644
--- a/ndn-cxx/util/segment-fetcher.cpp
+++ b/ndn-cxx/util/segment-fetcher.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2020 Regents of the University of California,
+ * Copyright (c) 2013-2021 Regents of the University of California,
  *                         Colorado State University,
  *                         University Pierre & Marie Curie, Sorbonne University.
  *
@@ -59,7 +59,7 @@
 }
 
 SegmentFetcher::SegmentFetcher(Face& face,
-                               security::v2::Validator& validator,
+                               security::Validator& validator,
                                const SegmentFetcher::Options& options)
   : m_options(options)
   , m_face(face)
@@ -76,7 +76,7 @@
 shared_ptr<SegmentFetcher>
 SegmentFetcher::start(Face& face,
                       const Interest& baseInterest,
-                      security::v2::Validator& validator,
+                      security::Validator& validator,
                       const SegmentFetcher::Options& options)
 {
   shared_ptr<SegmentFetcher> fetcher(new SegmentFetcher(face, validator, options));
@@ -324,7 +324,7 @@
 
 void
 SegmentFetcher::afterValidationFailure(const Data& data,
-                                       const security::v2::ValidationError& error,
+                                       const security::ValidationError& error,
                                        const weak_ptr<SegmentFetcher>& weakSelf)
 {
   if (shouldStop(weakSelf))
diff --git a/ndn-cxx/util/segment-fetcher.hpp b/ndn-cxx/util/segment-fetcher.hpp
index ea939be..eadb426 100644
--- a/ndn-cxx/util/segment-fetcher.hpp
+++ b/ndn-cxx/util/segment-fetcher.hpp
@@ -161,7 +161,7 @@
   static shared_ptr<SegmentFetcher>
   start(Face& face,
         const Interest& baseInterest,
-        security::v2::Validator& validator,
+        security::Validator& validator,
         const Options& options = Options());
 
   /**
@@ -175,7 +175,7 @@
 private:
   class PendingSegment;
 
-  SegmentFetcher(Face& face, security::v2::Validator& validator, const Options& options);
+  SegmentFetcher(Face& face, security::Validator& validator, const Options& options);
 
   static bool
   shouldStop(const weak_ptr<SegmentFetcher>& weakSelf);
@@ -200,7 +200,7 @@
 
   void
   afterValidationFailure(const Data& data,
-                         const security::v2::ValidationError& error,
+                         const security::ValidationError& error,
                          const weak_ptr<SegmentFetcher>& weakSelf);
 
   void
@@ -310,7 +310,7 @@
   Options m_options;
   Face& m_face;
   Scheduler m_scheduler;
-  security::v2::Validator& m_validator;
+  security::Validator& m_validator;
   RttEstimator m_rttEstimator;
 
   time::steady_clock::TimePoint m_timeLastSegmentReceived;
diff --git a/tests/unit/security/pib/certificate-container.t.cpp b/tests/unit/security/pib/certificate-container.t.cpp
index b6e9f12..ebb8ca1 100644
--- a/tests/unit/security/pib/certificate-container.t.cpp
+++ b/tests/unit/security/pib/certificate-container.t.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2019 Regents of the University of California.
+ * Copyright (c) 2013-2021 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -75,8 +75,8 @@
   BOOST_CHECK_THROW(container.get(id1Key1Cert3Name), Pib::Error);
 
   // check cert
-  v2::Certificate cert1 = container.get(id1Key1Cert1.getName());
-  v2::Certificate cert2 = container.get(id1Key1Cert2.getName());
+  Certificate cert1 = container.get(id1Key1Cert1.getName());
+  Certificate cert2 = container.get(id1Key1Cert2.getName());
   BOOST_CHECK_EQUAL(cert1, id1Key1Cert1);
   BOOST_CHECK_EQUAL(cert2, id1Key1Cert2);
 
@@ -133,8 +133,8 @@
   certNames.insert(id1Key1Cert1.getName());
   certNames.insert(id1Key1Cert2.getName());
 
-  CertificateContainer::const_iterator it = container.begin();
-  std::set<Name>::const_iterator testIt = certNames.begin();
+  auto it = container.begin();
+  auto testIt = certNames.begin();
   BOOST_CHECK_EQUAL((*it).getName(), *testIt);
   it++;
   testIt++;
diff --git a/tests/unit/security/pib/key-container.t.cpp b/tests/unit/security/pib/key-container.t.cpp
index aab7b1c..1a66573 100644
--- a/tests/unit/security/pib/key-container.t.cpp
+++ b/tests/unit/security/pib/key-container.t.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2019 Regents of the University of California.
+ * Copyright (c) 2013-2021 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -76,7 +76,7 @@
   // get keys
   BOOST_REQUIRE_NO_THROW(container.get(id1Key1Name));
   BOOST_REQUIRE_NO_THROW(container.get(id1Key2Name));
-  Name id1Key3Name = v2::constructKeyName(id1, name::Component("non-existing-id"));
+  Name id1Key3Name = constructKeyName(id1, name::Component("non-existing-id"));
   BOOST_CHECK_THROW(container.get(id1Key3Name), Pib::Error);
 
   // check key
diff --git a/tests/unit/security/pib/key.t.cpp b/tests/unit/security/pib/key.t.cpp
index f5c62fa..544848f 100644
--- a/tests/unit/security/pib/key.t.cpp
+++ b/tests/unit/security/pib/key.t.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2019 Regents of the University of California.
+ * Copyright (c) 2013-2021 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -75,20 +75,20 @@
 
 BOOST_AUTO_TEST_CASE(Helpers)
 {
-  BOOST_CHECK_EQUAL(v2::constructKeyName("/hello", name::Component("world")), "/hello/KEY/world");
+  BOOST_CHECK_EQUAL(constructKeyName("/hello", name::Component("world")), "/hello/KEY/world");
 
-  BOOST_CHECK_EQUAL(v2::isValidKeyName("/hello"), false);
-  BOOST_CHECK_EQUAL(v2::isValidKeyName("/hello/KEY"), false);
-  BOOST_CHECK_EQUAL(v2::isValidKeyName("/hello/KEY/world"), true);
+  BOOST_CHECK_EQUAL(isValidKeyName("/hello"), false);
+  BOOST_CHECK_EQUAL(isValidKeyName("/hello/KEY"), false);
+  BOOST_CHECK_EQUAL(isValidKeyName("/hello/KEY/world"), true);
 
-  BOOST_CHECK_EQUAL(v2::isValidKeyName("/KEY/hello"), true);
-  BOOST_CHECK_EQUAL(v2::isValidKeyName("/hello/world/KEY/!"), true);
+  BOOST_CHECK_EQUAL(isValidKeyName("/KEY/hello"), true);
+  BOOST_CHECK_EQUAL(isValidKeyName("/hello/world/KEY/!"), true);
 
-  BOOST_CHECK_EQUAL(v2::extractIdentityFromKeyName("/KEY/hello"), "/");
-  BOOST_CHECK_EQUAL(v2::extractIdentityFromKeyName("/hello/KEY/world"), "/hello");
-  BOOST_CHECK_EQUAL(v2::extractIdentityFromKeyName("/hello/world/KEY/!"), "/hello/world");
+  BOOST_CHECK_EQUAL(extractIdentityFromKeyName("/KEY/hello"), "/");
+  BOOST_CHECK_EQUAL(extractIdentityFromKeyName("/hello/KEY/world"), "/hello");
+  BOOST_CHECK_EQUAL(extractIdentityFromKeyName("/hello/world/KEY/!"), "/hello/world");
 
-  BOOST_CHECK_THROW(v2::extractIdentityFromKeyName("/hello"), std::invalid_argument);
+  BOOST_CHECK_THROW(extractIdentityFromKeyName("/hello"), std::invalid_argument);
 }
 
 BOOST_AUTO_TEST_SUITE_END() // TestKey
diff --git a/tests/unit/security/tpm/back-end.t.cpp b/tests/unit/security/tpm/back-end.t.cpp
index 8abc745..1d925d4 100644
--- a/tests/unit/security/tpm/back-end.t.cpp
+++ b/tests/unit/security/tpm/back-end.t.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2020 Regents of the University of California.
+ * Copyright (c) 2013-2021 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -65,7 +65,7 @@
 
   Name identity("/Test/KeyName");
   name::Component keyId("1");
-  Name keyName = v2::constructKeyName(identity, keyId);
+  Name keyName = constructKeyName(identity, keyId);
 
   // key should not exist
   BOOST_CHECK_EQUAL(tpm.hasKey(keyName), false);
diff --git a/tests/unit/security/validation-policy-config.t.cpp b/tests/unit/security/validation-policy-config.t.cpp
index 7b5fc56..dcd7cb8 100644
--- a/tests/unit/security/validation-policy-config.t.cpp
+++ b/tests/unit/security/validation-policy-config.t.cpp
@@ -37,7 +37,7 @@
 namespace tests {
 
 using namespace ndn::tests;
-using namespace ndn::security::v2::tests;
+using namespace ndn::security::tests;
 
 BOOST_AUTO_TEST_SUITE(Security)
 BOOST_AUTO_TEST_SUITE(TestValidationPolicyConfig)
diff --git a/tests/unit/security/validator-config/filter.t.cpp b/tests/unit/security/validator-config/filter.t.cpp
index 5b77a12..42eeceb 100644
--- a/tests/unit/security/validator-config/filter.t.cpp
+++ b/tests/unit/security/validator-config/filter.t.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2020 Regents of the University of California.
+ * Copyright (c) 2013-2021 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -32,7 +32,7 @@
 namespace tests {
 
 using namespace ndn::tests;
-using namespace ndn::security::v2::tests;
+using namespace ndn::security::tests;
 
 BOOST_AUTO_TEST_SUITE(Security)
 BOOST_AUTO_TEST_SUITE(ValidatorConfig)
diff --git a/tests/unit/security/validator-config/rule.t.cpp b/tests/unit/security/validator-config/rule.t.cpp
index 8b846ff..4871521 100644
--- a/tests/unit/security/validator-config/rule.t.cpp
+++ b/tests/unit/security/validator-config/rule.t.cpp
@@ -34,7 +34,7 @@
 namespace tests {
 
 using namespace ndn::tests;
-using namespace ndn::security::v2::tests;
+using namespace ndn::security::tests;
 
 BOOST_AUTO_TEST_SUITE(Security)
 BOOST_AUTO_TEST_SUITE(ValidatorConfig)
diff --git a/tests/unit/security/verification-helpers.t.cpp b/tests/unit/security/verification-helpers.t.cpp
index d930281..74ffbe0 100644
--- a/tests/unit/security/verification-helpers.t.cpp
+++ b/tests/unit/security/verification-helpers.t.cpp
@@ -546,7 +546,7 @@
 BOOST_AUTO_TEST_CASE_TEMPLATE(VerifySignature, Dataset, SignatureDatasets)
 {
   Dataset dataset;
-  v2::Certificate cert(Block(dataset.cert.data(), dataset.cert.size()));
+  Certificate cert(Block(dataset.cert.data(), dataset.cert.size()));
   Buffer keyRaw = cert.getPublicKey();
   transform::PublicKey key;
   key.loadPkcs8(keyRaw.data(), keyRaw.size());
diff --git a/tools/ndnsec/cert-dump.cpp b/tools/ndnsec/cert-dump.cpp
index d553822..5a388d7 100644
--- a/tools/ndnsec/cert-dump.cpp
+++ b/tools/ndnsec/cert-dump.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2020 Regents of the University of California.
+ * Copyright (c) 2013-2021 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -107,7 +107,7 @@
     return 2;
   }
 
-  security::v2::Certificate certificate;
+  security::Certificate certificate;
   if (isFileName) {
     try {
       certificate = loadCertificate(name);
@@ -118,7 +118,7 @@
     }
   }
   else {
-    security::v2::KeyChain keyChain;
+    KeyChain keyChain;
     certificate = getCertificateFromPib(keyChain.getPib(), name,
                                         isIdentityName, isKeyName, nIsNameOptions == 0);
   }
diff --git a/tools/ndnsec/cert-gen.cpp b/tools/ndnsec/cert-gen.cpp
index 9aef677..9c11ca4 100644
--- a/tools/ndnsec/cert-gen.cpp
+++ b/tools/ndnsec/cert-gen.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2020 Regents of the University of California.
+ * Copyright (c) 2013-2021 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -86,10 +86,10 @@
     return 0;
   }
 
-  security::v2::AdditionalDescription additionalDescription;
+  security::AdditionalDescription additionalDescription;
 
   for (const auto& info : infos) {
-    auto pos = info.find(" ");
+    auto pos = info.find(' ');
     if (pos == std::string::npos) {
       std::cerr << "ERROR: incorrectly formatted info block [" << info << "]" << std::endl;
       return 2;
@@ -122,9 +122,9 @@
     }
   }
 
-  security::v2::KeyChain keyChain;
+  KeyChain keyChain;
 
-  security::v2::Certificate certRequest;
+  security::Certificate certRequest;
   try {
     certRequest = loadCertificate(requestFile);
   }
@@ -143,7 +143,7 @@
     .append(issuerId)
     .appendVersion();
 
-  security::v2::Certificate cert;
+  security::Certificate cert;
   cert.setName(certName);
   cert.setContent(certRequest.getContent());
   // TODO: add ability to customize
diff --git a/tools/ndnsec/cert-install.cpp b/tools/ndnsec/cert-install.cpp
index 9ee4d87..7a6afa2 100644
--- a/tools/ndnsec/cert-install.cpp
+++ b/tools/ndnsec/cert-install.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2019 Regents of the University of California.
+ * Copyright (c) 2013-2021 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -45,7 +45,7 @@
   }
 };
 
-security::v2::Certificate
+static security::Certificate
 getCertificateHttp(const std::string& host, const std::string& port, const std::string& path)
 {
   boost::asio::ip::tcp::iostream requestStream;
@@ -97,7 +97,7 @@
     streamSource(requestStream) >> base64Decode(true) >> streamSink(os);
   }
 
-  return security::v2::Certificate(Block(os.buf()));
+  return security::Certificate(Block(os.buf()));
 }
 
 int
@@ -158,7 +158,7 @@
     return 2;
   }
 
-  security::v2::Certificate cert;
+  security::Certificate cert;
   try {
     if (certFile.find("http://") == 0) {
       std::string host;
@@ -166,12 +166,12 @@
       std::string path;
 
       size_t pos = 7; // offset of "http://"
-      size_t posSlash = certFile.find("/", pos);
+      size_t posSlash = certFile.find('/', pos);
 
       if (posSlash == std::string::npos)
         NDN_THROW(HttpException("Request line is not correctly formatted"));
 
-      size_t posPort = certFile.find(":", pos);
+      size_t posPort = certFile.find(':', pos);
 
       if (posPort != std::string::npos && posPort < posSlash) {
         // port is specified
@@ -196,7 +196,7 @@
     return 1;
   }
 
-  security::v2::KeyChain keyChain;
+  KeyChain keyChain;
 
   auto id = keyChain.getPib().getIdentity(cert.getIdentity());
   auto key = id.getKey(cert.getKeyName());
diff --git a/tools/ndnsec/delete.cpp b/tools/ndnsec/delete.cpp
index 376e3e3..2159bb3 100644
--- a/tools/ndnsec/delete.cpp
+++ b/tools/ndnsec/delete.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2019 Regents of the University of California.
+ * Copyright (c) 2013-2021 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -45,7 +45,7 @@
     ("name,n",        po::value<std::string>(&name),
                       "name of the item to delete. By default, it refers to an identity. "
                       "If -k is specified, it refers to a key. "
-                      "If -c is specified, it refers to a certificate.");
+                      "If -c is specified, it refers to a certificate.")
     ;
 
   po::positional_options_description p;
@@ -77,20 +77,20 @@
     return 2;
   }
 
-  security::v2::KeyChain keyChain;
+  KeyChain keyChain;
 
   try {
     if (wantDeleteCert) {
       security::Key key = keyChain.getPib()
-        .getIdentity(security::v2::extractIdentityFromCertName(name))
-        .getKey(security::v2::extractKeyNameFromCertName(name));
+        .getIdentity(security::extractIdentityFromCertName(name))
+        .getKey(security::extractKeyNameFromCertName(name));
 
       keyChain.deleteCertificate(key, key.getCertificate(name).getName());
       std::cerr << "OK: certificate deleted: " << name << std::endl;
     }
     else if (wantDeleteKey) {
       security::Identity identity = keyChain.getPib()
-        .getIdentity(security::v2::extractIdentityFromKeyName(name));
+        .getIdentity(security::extractIdentityFromKeyName(name));
 
       keyChain.deleteKey(identity, identity.getKey(name));
       std::cerr << "OK: key deleted: " << name << std::endl;
diff --git a/tools/ndnsec/export.cpp b/tools/ndnsec/export.cpp
index 2b6d528..f0a9395 100644
--- a/tools/ndnsec/export.cpp
+++ b/tools/ndnsec/export.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2020 Regents of the University of California.
+ * Copyright (c) 2013-2021 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -105,7 +105,8 @@
     isIdentityName = true;
   }
 
-  security::v2::KeyChain keyChain;
+  KeyChain keyChain;
+
   auto cert = getCertificateFromPib(keyChain.getPib(), name,
                                     isIdentityName, isKeyName, isCertName);
 
diff --git a/tools/ndnsec/get-default.cpp b/tools/ndnsec/get-default.cpp
index d59cfba..37f7425 100644
--- a/tools/ndnsec/get-default.cpp
+++ b/tools/ndnsec/get-default.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2019 Regents of the University of California.
+ * Copyright (c) 2013-2021 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -75,12 +75,12 @@
     return 2;
   }
 
-  security::v2::KeyChain keyChain;
+  KeyChain keyChain;
 
   if (vm.count("key") > 0) {
     if (wantDefaultCert) {
       auto cert = keyChain.getPib()
-                  .getIdentity(security::v2::extractIdentityFromKeyName(keyName))
+                  .getIdentity(security::extractIdentityFromKeyName(keyName))
                   .getKey(keyName)
                   .getDefaultCertificate();
       std::cout << cert.getName();
diff --git a/tools/ndnsec/import.cpp b/tools/ndnsec/import.cpp
index 9dab73f..7e27bee 100644
--- a/tools/ndnsec/import.cpp
+++ b/tools/ndnsec/import.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2020 Regents of the University of California.
+ * Copyright (c) 2013-2021 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -72,7 +72,7 @@
     return 0;
   }
 
-  security::v2::KeyChain keyChain;
+  KeyChain keyChain;
 
   shared_ptr<security::SafeBag> safeBag;
   if (input == "-")
diff --git a/tools/ndnsec/key-gen.cpp b/tools/ndnsec/key-gen.cpp
index 553f06c..2090f74 100644
--- a/tools/ndnsec/key-gen.cpp
+++ b/tools/ndnsec/key-gen.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2020 Regents of the University of California.
+ * Copyright (c) 2013-2021 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -136,7 +136,7 @@
     return 2;
   }
 
-  security::v2::KeyChain keyChain;
+  KeyChain keyChain;
 
   security::Identity identity;
   security::Key key;
diff --git a/tools/ndnsec/list.cpp b/tools/ndnsec/list.cpp
index fbe1140..457fc2e 100644
--- a/tools/ndnsec/list.cpp
+++ b/tools/ndnsec/list.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2020 Regents of the University of California.
+ * Copyright (c) 2013-2021 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -75,7 +75,7 @@
     std::cout << key.getName() << std::endl;
 
     if (m_verboseLevel >= 2) {
-      security::v2::Certificate defaultCert;
+      security::Certificate defaultCert;
       try {
         defaultCert = key.getDefaultCertificate();
       }
@@ -90,7 +90,7 @@
   }
 
   void
-  printCertificate(const security::v2::Certificate& cert, bool isDefault) const
+  printCertificate(const security::Certificate& cert, bool isDefault) const
   {
     if (isDefault)
       std::cout << "       +->* ";
@@ -152,7 +152,7 @@
 
   verboseLevel = std::max(verboseLevel, wantCert ? 2 : wantKey ? 1 : 0);
 
-  security::v2::KeyChain keyChain;
+  KeyChain keyChain;
 
   // TODO: add API to check for default identity (may be from the identity itself)
   security::Identity defaultIdentity;
diff --git a/tools/ndnsec/set-default.cpp b/tools/ndnsec/set-default.cpp
index d1647ed..128ae19 100644
--- a/tools/ndnsec/set-default.cpp
+++ b/tools/ndnsec/set-default.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2019 Regents of the University of California.
+ * Copyright (c) 2013-2021 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -74,16 +74,16 @@
     return 2;
   }
 
-  security::v2::KeyChain keyChain;
+  KeyChain keyChain;
 
   if (wantSetDefaultKey) {
-    auto identity = keyChain.getPib().getIdentity(security::v2::extractIdentityFromKeyName(name));
+    auto identity = keyChain.getPib().getIdentity(security::extractIdentityFromKeyName(name));
     auto key = identity.getKey(name);
     keyChain.setDefaultKey(identity, key);
   }
   else if (wantSetDefaultCert) {
-    auto identity = keyChain.getPib().getIdentity(security::v2::extractIdentityFromCertName(name));
-    auto key = identity.getKey(security::v2::extractKeyNameFromCertName(name));
+    auto identity = keyChain.getPib().getIdentity(security::extractIdentityFromCertName(name));
+    auto key = identity.getKey(security::extractKeyNameFromCertName(name));
     auto cert = key.getCertificate(name);
     keyChain.setDefaultCertificate(key, cert);
   }
diff --git a/tools/ndnsec/sign-req.cpp b/tools/ndnsec/sign-req.cpp
index f9f97e9..3548228 100644
--- a/tools/ndnsec/sign-req.cpp
+++ b/tools/ndnsec/sign-req.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2020 Regents of the University of California.
+ * Copyright (c) 2013-2021 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -69,7 +69,7 @@
     return 2;
   }
 
-  security::v2::KeyChain keyChain;
+  KeyChain keyChain;
 
   security::Identity identity;
   security::Key key;
@@ -78,12 +78,12 @@
     key = identity.getDefaultKey();
   }
   else {
-    identity = keyChain.getPib().getIdentity(security::v2::extractIdentityFromKeyName(name));
+    identity = keyChain.getPib().getIdentity(security::extractIdentityFromKeyName(name));
     key = identity.getKey(name);
   }
 
   // Create signing request (similar to self-signed certificate)
-  security::v2::Certificate certificate;
+  security::Certificate certificate;
 
   // set name
   Name certificateName = key.getName();
diff --git a/tools/ndnsec/unlock-tpm.cpp b/tools/ndnsec/unlock-tpm.cpp
index d79db7f..bcf7ca0 100644
--- a/tools/ndnsec/unlock-tpm.cpp
+++ b/tools/ndnsec/unlock-tpm.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2019 Regents of the University of California.
+ * Copyright (c) 2013-2021 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -61,7 +61,7 @@
   }
 
 #ifdef NDN_CXX_HAVE_GETPASS
-  security::v2::KeyChain keyChain;
+  KeyChain keyChain;
 
   char* password = ::getpass("Password to unlock the TPM: ");
   if (password == nullptr) {
diff --git a/tools/ndnsec/util.cpp b/tools/ndnsec/util.cpp
index c07b509..0ff7e74 100644
--- a/tools/ndnsec/util.cpp
+++ b/tools/ndnsec/util.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2020 Regents of the University of California.
+ * Copyright (c) 2013-2021 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -68,7 +68,7 @@
 #endif // NDN_CXX_HAVE_GETPASS
 }
 
-security::v2::Certificate
+security::Certificate
 getCertificateFromPib(const security::pib::Pib& pib, const Name& name,
                       bool isIdentityName, bool isKeyName, bool isCertName)
 {
@@ -78,26 +78,26 @@
            .getDefaultCertificate();
   }
   else if (isKeyName) {
-    return pib.getIdentity(security::v2::extractIdentityFromKeyName(name))
+    return pib.getIdentity(security::extractIdentityFromKeyName(name))
            .getKey(name)
            .getDefaultCertificate();
   }
   else if (isCertName) {
-    return pib.getIdentity(security::v2::extractIdentityFromCertName(name))
-           .getKey(security::v2::extractKeyNameFromCertName(name))
+    return pib.getIdentity(security::extractIdentityFromCertName(name))
+           .getKey(security::extractKeyNameFromCertName(name))
            .getCertificate(name);
   }
   NDN_CXX_UNREACHABLE;
 }
 
-security::v2::Certificate
+security::Certificate
 loadCertificate(const std::string& fileName)
 {
-  shared_ptr<security::v2::Certificate> cert;
+  shared_ptr<security::Certificate> cert;
   if (fileName == "-")
-    cert = io::load<security::v2::Certificate>(std::cin);
+    cert = io::load<security::Certificate>(std::cin);
   else
-    cert = io::load<security::v2::Certificate>(fileName);
+    cert = io::load<security::Certificate>(fileName);
 
   if (cert == nullptr) {
     NDN_THROW(CannotLoadCertificate(fileName));
diff --git a/tools/ndnsec/util.hpp b/tools/ndnsec/util.hpp
index 8aed837..4ce3c04 100644
--- a/tools/ndnsec/util.hpp
+++ b/tools/ndnsec/util.hpp
@@ -45,7 +45,7 @@
  * @throw std::invalid_argument name is invalid.
  * @throw Pib::Error certificate does not exist.
  */
-security::v2::Certificate
+security::Certificate
 getCertificateFromPib(const security::pib::Pib& pib, const Name& name,
                       bool isIdentityName, bool isKeyName, bool isCertName);
 
@@ -58,7 +58,7 @@
   }
 };
 
-security::v2::Certificate
+security::Certificate
 loadCertificate(const std::string& fileName);
 
 bool