diff --git a/ndn-cpp/encoding/binary-xml-encoder.hpp b/ndn-cpp/encoding/binary-xml-encoder.hpp
index 6373466..fc5d451 100644
--- a/ndn-cpp/encoding/binary-xml-encoder.hpp
+++ b/ndn-cpp/encoding/binary-xml-encoder.hpp
@@ -8,7 +8,7 @@
 
 #include <vector>
 #include "../common.hpp"
-#include "../c/util/ndn_realloc.h"
+#include "../util/dynamic-uchar-vector.hpp"
 #include "../c/encoding/binary-xml-encoder.h"
 
 namespace ndn {
@@ -22,9 +22,8 @@
    * Initialize the base ndn_BinaryXmlEncoder struct with an initial array of 16 bytes.  Use simpleRealloc.
    */
   BinaryXmlEncoder() 
+  : output_(16)
   {
-    const unsigned int initialLength = 16;
-    ndn_BinaryXmlEncoder_init(this, (unsigned char *)malloc(initialLength), initialLength, ndn_realloc);
   }
   
   /**
@@ -32,8 +31,10 @@
    */
   ptr_lib::shared_ptr<std::vector<unsigned char> > getOutput() 
   {
-    return ptr_lib::shared_ptr<std::vector<unsigned char> >(new std::vector<unsigned char>(output.array, output.array + offset));
+    return output_.get();
   }
+  
+  DynamicUCharVector output_;
 };
 
 }
diff --git a/ndn-cpp/key-chain.cpp b/ndn-cpp/key-chain.cpp
index c2a10ff..1da6f9d 100644
--- a/ndn-cpp/key-chain.cpp
+++ b/ndn-cpp/key-chain.cpp
@@ -106,7 +106,7 @@
   if ((error = ndn_encodeBinaryXmlData(&dataStruct, &signedFieldsBeginOffset, &signedFieldsEndOffset, &encoder)))
     throw std::runtime_error(ndn_getErrorString(error));
   
-  digestSha256(encoder.output.array + signedFieldsBeginOffset, signedFieldsEndOffset - signedFieldsBeginOffset, digest);
+  digestSha256(&encoder.getOutput()->front() + signedFieldsBeginOffset, signedFieldsEndOffset - signedFieldsBeginOffset, digest);
 }
 
 void KeyChain::sign
