diff --git a/src/security/tpm/back-end-file.hpp b/src/security/tpm/back-end-file.hpp
index bd2838d..cc0db78 100644
--- a/src/security/tpm/back-end-file.hpp
+++ b/src/security/tpm/back-end-file.hpp
@@ -42,17 +42,6 @@
 class BackEndFile : public BackEnd
 {
 public:
-  class Error : public BackEnd::Error
-  {
-  public:
-    explicit
-    Error(const std::string& what)
-      : BackEnd::Error(what)
-    {
-    }
-  };
-
-public:
   /**
    * @brief Create file-based TPM backend
    * @param location Directory to store private keys
diff --git a/src/security/tpm/back-end-mem.hpp b/src/security/tpm/back-end-mem.hpp
index 469b466..5a40de4 100644
--- a/src/security/tpm/back-end-mem.hpp
+++ b/src/security/tpm/back-end-mem.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
-/**
- * Copyright (c) 2013-2017 Regents of the University of California.
+/*
+ * Copyright (c) 2013-2018 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -34,17 +34,6 @@
 class BackEndMem : public BackEnd
 {
 public:
-  class Error : public BackEnd::Error
-  {
-  public:
-    explicit
-    Error(const std::string& what)
-      : BackEnd::Error(what)
-    {
-    }
-  };
-
-public:
   /**
    * @brief Create memory-based TPM backend
    * @param location Not used (required by the TPM-registration interface)
diff --git a/src/security/tpm/back-end-osx.hpp b/src/security/tpm/back-end-osx.hpp
index 61f7f68..bb018be 100644
--- a/src/security/tpm/back-end-osx.hpp
+++ b/src/security/tpm/back-end-osx.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2017 Regents of the University of California.
+ * Copyright (c) 2013-2018 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -39,17 +39,6 @@
 class BackEndOsx : public BackEnd
 {
 public:
-  class Error : public BackEnd::Error
-  {
-  public:
-    explicit
-    Error(const std::string& what)
-      : BackEnd::Error(what)
-    {
-    }
-  };
-
-public:
   /**
    * @brief Create TPM backed based on macOS KeyChain service
    * @param location Not used (required by the TPM-registration interface)
diff --git a/src/security/tpm/back-end.hpp b/src/security/tpm/back-end.hpp
index 4c55ab2..2f9e389 100644
--- a/src/security/tpm/back-end.hpp
+++ b/src/security/tpm/back-end.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
-/**
- * Copyright (c) 2013-2017 Regents of the University of California.
+/*
+ * Copyright (c) 2013-2018 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -44,11 +44,7 @@
   class Error : public std::runtime_error
   {
   public:
-    explicit
-    Error(const std::string& what)
-      : std::runtime_error(what)
-    {
-    }
+    using std::runtime_error::runtime_error;
   };
 
 public:
diff --git a/src/security/tpm/key-handle.hpp b/src/security/tpm/key-handle.hpp
index d6faf4d..3d55ca3 100644
--- a/src/security/tpm/key-handle.hpp
+++ b/src/security/tpm/key-handle.hpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
-/**
- * Copyright (c) 2013-2016 Regents of the University of California.
+/*
+ * Copyright (c) 2013-2018 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -41,11 +41,7 @@
   class Error : public std::runtime_error
   {
   public:
-    explicit
-    Error(const std::string& what)
-      : std::runtime_error(what)
-    {
-    }
+    using std::runtime_error::runtime_error;
   };
 
 public:
diff --git a/src/security/tpm/tpm.hpp b/src/security/tpm/tpm.hpp
index 367a6b9..620a2cc 100644
--- a/src/security/tpm/tpm.hpp
+++ b/src/security/tpm/tpm.hpp
@@ -66,11 +66,7 @@
   class Error : public std::runtime_error
   {
   public:
-    explicit
-    Error(const std::string& what)
-      : std::runtime_error(what)
-    {
-    }
+    using std::runtime_error::runtime_error;
   };
 
 public:
