diff --git a/include/ndn-cpp/security/identity/identity-storage.hpp b/include/ndn-cpp/security/identity/identity-storage.hpp
index fdf3d0c..d54bc10 100644
--- a/include/ndn-cpp/security/identity/identity-storage.hpp
+++ b/include/ndn-cpp/security/identity/identity-storage.hpp
@@ -59,8 +59,8 @@
    * @param useKsk If true, generate a KSK name, otherwise a DSK name.
    * @return The generated key name.
    */
-  virtual Name 
-  getNewKeyName(const Name& identityName, bool useKsk) = 0;
+  Name 
+  getNewKeyName(const Name& identityName, bool useKsk);
 
   /**
    * Check if the specified key already exists.
@@ -71,13 +71,6 @@
   doesKeyExist(const Name& keyName) = 0;
 
   /**
-   * Extract the key name from the certificate name.
-   * @param certificateName The certificate name to be processed.
-   */
-  virtual Name 
-  getKeyNameForCertificate(const Name& certificateName) = 0;
-
-  /**
    * Add a public key to the identity storage.
    * @param keyName The name of the public key to be added.
    * @param keyType Type of the public key to be added.
@@ -158,10 +151,7 @@
    * @return The default certificate name.
    */
   Name 
-  getDefaultCertificateNameForIdentity(const Name& identityName)
-  {
-    return getDefaultCertificateNameForKey(getDefaultKeyNameForIdentity(identityName));
-  }
+  getDefaultCertificateNameForIdentity(const Name& identityName);
 
   /**
    * Get the default certificate name for the specified key.
