diff --git a/tests/unit-tests/security/key-params.t.cpp b/tests/unit-tests/security/key-params.t.cpp
index 3cfc61c..66e30fe 100644
--- a/tests/unit-tests/security/key-params.t.cpp
+++ b/tests/unit-tests/security/key-params.t.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2013-2015 Regents of the University of California.
+ * Copyright (c) 2013-2016 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -32,49 +32,49 @@
 BOOST_AUTO_TEST_CASE(RsaParameter)
 {
   RsaKeyParams params;
-  BOOST_CHECK_EQUAL(params.getKeyType(), KEY_TYPE_RSA);
+  BOOST_CHECK_EQUAL(params.getKeyType(), KeyType::RSA);
   BOOST_CHECK_EQUAL(params.getKeySize(), 2048);
 
   RsaKeyParams params2(1024);
-  BOOST_CHECK_EQUAL(params2.getKeyType(), KEY_TYPE_RSA);
+  BOOST_CHECK_EQUAL(params2.getKeyType(), KeyType::RSA);
   BOOST_CHECK_EQUAL(params2.getKeySize(), 1024);
 
   RsaKeyParams params3(3);
-  BOOST_CHECK_EQUAL(params3.getKeyType(), KEY_TYPE_RSA);
+  BOOST_CHECK_EQUAL(params3.getKeyType(), KeyType::RSA);
   BOOST_CHECK_EQUAL(params3.getKeySize(), 2048);
 }
 
 BOOST_AUTO_TEST_CASE(EcdsaParameter)
 {
   EcdsaKeyParams params;
-  BOOST_CHECK_EQUAL(params.getKeyType(), KEY_TYPE_ECDSA);
+  BOOST_CHECK_EQUAL(params.getKeyType(), KeyType::EC);
   BOOST_CHECK_EQUAL(params.getKeySize(), 256);
 
   EcdsaKeyParams params2(384);
-  BOOST_CHECK_EQUAL(params2.getKeyType(), KEY_TYPE_ECDSA);
+  BOOST_CHECK_EQUAL(params2.getKeyType(), KeyType::EC);
   BOOST_CHECK_EQUAL(params2.getKeySize(), 384);
 
   EcdsaKeyParams params3(3);
-  BOOST_CHECK_EQUAL(params3.getKeyType(), KEY_TYPE_ECDSA);
+  BOOST_CHECK_EQUAL(params3.getKeyType(), KeyType::EC);
   BOOST_CHECK_EQUAL(params3.getKeySize(), 256);
 }
 
 BOOST_AUTO_TEST_CASE(AesParameter)
 {
   AesKeyParams params;
-  BOOST_CHECK_EQUAL(params.getKeyType(), KEY_TYPE_AES);
+  BOOST_CHECK_EQUAL(params.getKeyType(), KeyType::AES);
   BOOST_CHECK_EQUAL(params.getKeySize(), 64);
 
   AesKeyParams params2(128);
-  BOOST_CHECK_EQUAL(params2.getKeyType(), KEY_TYPE_AES);
+  BOOST_CHECK_EQUAL(params2.getKeyType(), KeyType::AES);
   BOOST_CHECK_EQUAL(params2.getKeySize(), 128);
 
   AesKeyParams params3(256);
-  BOOST_CHECK_EQUAL(params3.getKeyType(), KEY_TYPE_AES);
+  BOOST_CHECK_EQUAL(params3.getKeyType(), KeyType::AES);
   BOOST_CHECK_EQUAL(params3.getKeySize(), 256);
 
   AesKeyParams params4(4);
-  BOOST_CHECK_EQUAL(params4.getKeyType(), KEY_TYPE_AES);
+  BOOST_CHECK_EQUAL(params4.getKeyType(), KeyType::AES);
   BOOST_CHECK_EQUAL(params4.getKeySize(), 64);
 }
 
