diff --git a/ndn-cpp/security/identity/memory-identity-storage.cpp b/ndn-cpp/security/identity/memory-identity-storage.cpp
index a7acf84..1e4f0fc 100644
--- a/ndn-cpp/security/identity/memory-identity-storage.cpp
+++ b/ndn-cpp/security/identity/memory-identity-storage.cpp
@@ -6,6 +6,7 @@
  */
 
 #include <stdexcept>
+#include "../security-exception.hpp"
 #include "memory-identity-storage.hpp"
 
 using namespace std;
@@ -20,17 +21,18 @@
 bool 
 MemoryIdentityStorage::doesIdentityExist(const Name& identityName)
 {
-#if 1
-  throw std::runtime_error("MemoryIdentityStorage::doesIdentityExist not implemented");
-#endif
+  string identityUri = identityName.toUri();
+  return find(identityStore_.begin(), identityStore_.end(), identityUri) != identityStore_.end();
 }
 
 void
 MemoryIdentityStorage::addIdentity(const Name& identityName)
 {
-#if 1
-  throw std::runtime_error("MemoryIdentityStorage::addIdentity not implemented");
-#endif
+  string identityUri = identityName.toUri();
+  if (find(identityStore_.begin(), identityStore_.end(), identityUri) != identityStore_.end())
+    throw SecurityException("Identity already exists: " + identityUri);
+  
+  identityStore_.push_back(identityUri);
 }
 
 bool 
@@ -129,9 +131,7 @@
 Name 
 MemoryIdentityStorage::getDefaultIdentity()
 {
-#if 1
-  throw std::runtime_error("MemoryIdentityStorage::getDefaultIdentity not implemented");
-#endif
+  return Name(defaultIdentity_);
 }
 
 Name 
@@ -153,9 +153,12 @@
 void 
 MemoryIdentityStorage::setDefaultIdentity(const Name& identityName)
 {
-#if 1
-  throw std::runtime_error("MemoryIdentityStorage::setDefaultIdentity not implemented");
-#endif
+  string identityUri = identityName.toUri();
+  if (find(identityStore_.begin(), identityStore_.end(), identityUri) != identityStore_.end())
+    defaultIdentity_ = identityUri;
+  else
+    // The identity doesn't exist, so clear the default.
+    defaultIdentity_.clear();
 }
 
 void 
