diff --git a/src/access-manager.cpp b/src/access-manager.cpp
index 70ad8be..144034d 100644
--- a/src/access-manager.cpp
+++ b/src/access-manager.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2022, Regents of the University of California
+ * Copyright (c) 2014-2024, Regents of the University of California
  *
  * NAC library is free software: you can redistribute it and/or modify it under the
  * terms of the GNU Lesser General Public License as published by the Free Software
@@ -46,7 +46,7 @@
 
   auto kekPrefix = Name(m_nacKey.getIdentity()).append(KEK);
 
-  auto kek = make_shared<Data>(m_nacKey.getDefaultCertificate());
+  auto kek = std::make_shared<Data>(m_nacKey.getDefaultCertificate());
   kek->setName(Name(kekPrefix).append(nacKeyId));
   kek->setFreshnessPeriod(DEFAULT_KEK_FRESHNESS_PERIOD);
   m_keyChain.sign(*kek, signingByIdentity(m_identity));
@@ -106,7 +106,7 @@
   content.setPayload(kdkData->wireEncode());
   content.setPayloadKey(memberKey.encrypt({secret, secretLength}));
 
-  auto kdk = make_shared<Data>(kdkName);
+  auto kdk = std::make_shared<Data>(kdkName);
   kdk->setContent(content.wireEncode());
   // FreshnessPeriod can serve as a soft access control for revoking access
   kdk->setFreshnessPeriod(DEFAULT_KDK_FRESHNESS_PERIOD);
diff --git a/src/encryptor.cpp b/src/encryptor.cpp
index b41af4c..31acda5 100644
--- a/src/encryptor.cpp
+++ b/src/encryptor.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2014-2023, Regents of the University of California
+ * Copyright (c) 2014-2024, Regents of the University of California
  *
  * NAC library is free software: you can redistribute it and/or modify it under the
  * terms of the GNU Lesser General Public License as published by the Free Software
@@ -117,7 +117,7 @@
 Encryptor::encrypt(span<const uint8_t> data)
 {
   // Generate IV
-  auto iv = make_shared<Buffer>(AES_IV_SIZE);
+  auto iv = std::make_shared<Buffer>(AES_IV_SIZE);
   random::generateSecureBytes(*iv);
 
   OBufferStream os;
@@ -192,7 +192,7 @@
     EncryptedContent content;
     content.setPayload(kek.encrypt(m_ckBits));
 
-    auto ckData = make_shared<Data>(Name(m_ckName).append(ENCRYPTED_BY).append(m_kek->getName()));
+    auto ckData = std::make_shared<Data>(Name(m_ckName).append(ENCRYPTED_BY).append(m_kek->getName()));
     ckData->setContent(content.wireEncode());
     // FreshnessPeriod can serve as a soft access control for revoking access
     ckData->setFreshnessPeriod(DEFAULT_CK_FRESHNESS_PERIOD);
