diff --git a/common/testing_constants.h b/common/testing_constants.h
index 1367ce6..60a7ad8 100644
--- a/common/testing_constants.h
+++ b/common/testing_constants.h
@@ -17,23 +17,22 @@
 #ifndef UPDATE_ENGINE_COMMON_TESTING_CONSTANTS_H_
 #define UPDATE_ENGINE_COMMON_TESTING_CONSTANTS_H_
 
-[[maybe_unused]]
-static constexpr auto&& kUnittestPrivateKeyPath = "unittest_key.pem";
-[[maybe_unused]]
-static constexpr auto&& kUnittestPublicKeyPath = "unittest_key.pub.pem";
-[[maybe_unused]]
-static constexpr auto&& kUnittestPrivateKey2Path = "unittest_key2.pem";
-[[maybe_unused]]
-static constexpr auto&& kUnittestPublicKey2Path = "unittest_key2.pub.pem";
-[[maybe_unused]]
-static constexpr auto&& kUnittestPrivateKeyRSA4096Path =
+[[maybe_unused]] static constexpr auto&& kUnittestPrivateKeyPath =
+    "unittest_key.pem";
+[[maybe_unused]] static constexpr auto&& kUnittestOTACertsPath = "otacerts.zip";
+[[maybe_unused]] static constexpr auto&& kUnittestPublicKeyPath =
+    "unittest_key.pub.pem";
+[[maybe_unused]] static constexpr auto&& kUnittestPrivateKey2Path =
+    "unittest_key2.pem";
+[[maybe_unused]] static constexpr auto&& kUnittestPublicKey2Path =
+    "unittest_key2.pub.pem";
+[[maybe_unused]] static constexpr auto&& kUnittestPrivateKeyRSA4096Path =
     "unittest_key_RSA4096.pem";
-[[maybe_unused]]
-static constexpr auto&& kUnittestPublicKeyRSA4096Path =
+[[maybe_unused]] static constexpr auto&& kUnittestPublicKeyRSA4096Path =
     "unittest_key_RSA4096.pub.pem";
-[[maybe_unused]]
-static constexpr auto&& kUnittestPrivateKeyECPath = "unittest_key_EC.pem";
-[[maybe_unused]]
-static constexpr auto&& kUnittestPublicKeyECPath = "unittest_key_EC.pub.pem";
+[[maybe_unused]] static constexpr auto&& kUnittestPrivateKeyECPath =
+    "unittest_key_EC.pem";
+[[maybe_unused]] static constexpr auto&& kUnittestPublicKeyECPath =
+    "unittest_key_EC.pub.pem";
 
 #endif  // UPDATE_ENGINE_COMMON_TESTING_CONSTANTS_H_
diff --git a/common/utils.cc b/common/utils.cc
index 45ad425..7a4a836 100644
--- a/common/utils.cc
+++ b/common/utils.cc
@@ -1045,10 +1045,24 @@
   return android::base::MappedFile::FromFd(fd, 0, size, PROT_READ);
 }
 
+std::string_view GetReadonlyZeroString(size_t size) {
+  // Reserve 512MB of Virtual Address Space. No actual memory will be used.
+  static auto zero_block = GetReadonlyZeroBlock(1024 * 1024 * 512);
+  if (size > zero_block->size()) {
+    auto larger_block = GetReadonlyZeroBlock(size);
+    zero_block = std::move(larger_block);
+  }
+  return {zero_block->data(), size};
+}
+
 }  // namespace utils
 
 std::string HexEncode(const brillo::Blob& blob) noexcept {
   return base::HexEncode(blob.data(), blob.size());
 }
 
+std::string HexEncode(const std::string_view blob) noexcept {
+  return base::HexEncode(blob.data(), blob.size());
+}
+
 }  // namespace chromeos_update_engine
diff --git a/common/utils.h b/common/utils.h
index 003455d..50b6cb1 100644
--- a/common/utils.h
+++ b/common/utils.h
@@ -361,6 +361,8 @@
 
 std::unique_ptr<android::base::MappedFile> GetReadonlyZeroBlock(size_t size);
 
+std::string_view GetReadonlyZeroString(size_t size);
+
 }  // namespace utils
 
 // Utility class to close a file descriptor
@@ -481,6 +483,7 @@
 };
 
 std::string HexEncode(const brillo::Blob& blob) noexcept;
+std::string HexEncode(const std::string_view blob) noexcept;
 
 }  // namespace chromeos_update_engine
 
