diff --git a/ndn-cpp/util/blob-stream.hpp b/ndn-cpp/util/blob-stream.hpp
new file mode 100644
index 0000000..21a039a
--- /dev/null
+++ b/ndn-cpp/util/blob-stream.hpp
@@ -0,0 +1,67 @@
+/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
+/**
+ * Copyright (C) 2013 Regents of the University of California.
+ * @author: Jeff Thompson <jefft0@remap.ucla.edu>
+ * See COPYING for copyright and distribution information.
+ */
+
+#ifndef NDN_BLOB_STREAM_HPP
+#define NDN_BLOB_STREAM_HPP
+
+// We can use ndnboost::iostreams because this is internal and will not conflict with the application if it uses boost::iostreams.
+#include <ndnboost/iostreams/detail/ios.hpp>
+#include <ndnboost/iostreams/categories.hpp>
+#include <ndnboost/iostreams/stream.hpp>
+#include <ndn-cpp/common.hpp>
+
+namespace ndn {
+
+class blob_append_device {
+public:
+  typedef char  char_type;
+  typedef ndnboost::iostreams::sink_tag category;
+  
+  blob_append_device(std::vector<uint8_t>& container)
+  : container_(container)
+  {
+  }
+  
+  std::streamsize
+  write(const char_type* s, std::streamsize n)
+  {
+    std::copy(s, s+n, std::back_inserter(container_));
+    return n;
+  }
+  
+protected:
+  std::vector<uint8_t>& container_;
+};
+
+/**
+ * This is called "blob_stream" but it doesn't use an ndn::Blob which is immutable.  It uses a pointer to a vector<uint8_t>.
+ * This is inteded for internal library use, not exported in the API.
+ */
+struct blob_stream : public ndnboost::iostreams::stream<blob_append_device>
+{
+  blob_stream()
+    : buffer_(new std::vector<uint8_t>())
+    , device_(*buffer_)
+  {
+    open(device_);
+  }
+
+  ptr_lib::shared_ptr<std::vector<uint8_t> >
+  buf()
+  {
+    flush();
+    return buffer_;
+  }
+
+private:
+  ptr_lib::shared_ptr<std::vector<uint8_t> > buffer_;
+  blob_append_device device_;
+};
+
+}
+
+#endif
