security: Add key type in PublicKey (in order to support multiple signature type)

Change-Id: Ic3cb7276a3bc6d1d1daf066dbe865503fe66c762
Refs: #1648
Refs: #1649
Refs: #1660
diff --git a/src/security/public-key.hpp b/src/security/public-key.hpp
index 8c2154f..243bccc 100644
--- a/src/security/public-key.hpp
+++ b/src/security/public-key.hpp
@@ -65,38 +65,45 @@
    */
   PublicKey(const uint8_t* keyDerBuf, size_t keyDerSize);
 
-  inline const Buffer&
+  const Buffer&
   get() const
   {
     return m_key;
   }
 
-  inline void
+  void
   set(const uint8_t* keyDerBuf, size_t keyDerSize)
   {
     Buffer buf(keyDerBuf, keyDerSize);
     m_key.swap(buf);
   }
 
+  KeyType
+  getKeyType() const
+  {
+    return m_type;
+  }
+
   void
   encode(CryptoPP::BufferedTransformation& out) const;
 
   void
   decode(CryptoPP::BufferedTransformation& in);
 
-  inline bool
+  bool
   operator==(const PublicKey& key) const
   {
     return m_key == key.m_key;
   }
 
-  inline bool
+  bool
   operator!=(const PublicKey& key) const
   {
     return m_key != key.m_key;
   }
 
 private:
+  KeyType m_type;
   Buffer m_key;
 };