diff --git a/src/security/certificate-extension.hpp b/src/security/certificate-extension.hpp
index 4267560..cad811f 100644
--- a/src/security/certificate-extension.hpp
+++ b/src/security/certificate-extension.hpp
@@ -94,7 +94,7 @@
     return m_extensionId;
   }
 
-  inline const bool
+  inline bool
   getIsCritical() const
   {
     return m_isCritical;
diff --git a/src/security/key-chain.hpp b/src/security/key-chain.hpp
index d4b6580..dcf2079 100644
--- a/src/security/key-chain.hpp
+++ b/src/security/key-chain.hpp
@@ -887,7 +887,7 @@
   Block sigValue = m_tpm->signInTpm(signedName.wireEncode().value(),
                                     signedName.wireEncode().value_size(),
                                     keyName,
-                                    DIGEST_ALGORITHM_SHA256);
+                                    digestAlgorithm);
   sigValue.encode();
   signedName.append(sigValue);
   interest.setName(signedName);
diff --git a/src/security/sec-public-info-memory.hpp b/src/security/sec-public-info-memory.hpp
index 1cf2488..faf9c4c 100644
--- a/src/security/sec-public-info-memory.hpp
+++ b/src/security/sec-public-info-memory.hpp
@@ -131,7 +131,7 @@
     {
     }
 
-    const KeyType
+    KeyType
     getKeyType() const
     {
       return m_keyType;
diff --git a/src/security/sec-tpm-osx.cpp b/src/security/sec-tpm-osx.cpp
index aa3347b..a5a7159 100644
--- a/src/security/sec-tpm-osx.cpp
+++ b/src/security/sec-tpm-osx.cpp
@@ -185,7 +185,7 @@
    * @param keyType
    * @returns MAC OS key type
    */
-  const CFTypeRef
+  CFTypeRef
   getSymKeyType(KeyType keyType);
 
   /**
@@ -194,7 +194,7 @@
    * @param keyType
    * @returns MAC OS key type
    */
-  const CFTypeRef
+  CFTypeRef
   getAsymKeyType(KeyType keyType);
 
   /**
@@ -203,7 +203,7 @@
    * @param keyClass
    * @returns MAC OS key class
    */
-  const CFTypeRef
+  CFTypeRef
   getKeyClass(KeyClass keyClass);
 
   /**
@@ -212,7 +212,7 @@
    * @param digestAlgo
    * @returns MAC OS algorithm id
    */
-  const CFStringRef
+  CFStringRef
   getDigestAlgorithm(DigestAlgorithm digestAlgo);
 
   /**
@@ -1010,7 +1010,7 @@
     return keyUri;
 }
 
-const CFTypeRef
+CFTypeRef
 SecTpmOsx::Impl::getAsymKeyType(KeyType keyType)
 {
   switch (keyType){
@@ -1021,7 +1021,7 @@
   }
 }
 
-const CFTypeRef
+CFTypeRef
 SecTpmOsx::Impl::getSymKeyType(KeyType keyType)
 {
   switch (keyType){
@@ -1032,7 +1032,7 @@
   }
 }
 
-const CFTypeRef
+CFTypeRef
 SecTpmOsx::Impl::getKeyClass(KeyClass keyClass)
 {
   switch (keyClass){
@@ -1047,7 +1047,7 @@
   }
 }
 
-const CFStringRef
+CFStringRef
 SecTpmOsx::Impl::getDigestAlgorithm(DigestAlgorithm digestAlgo)
 {
   switch (digestAlgo){
