Sha256WithRsaSignature: In setSignature, etc. only take a Blob. The Blob constructor can make a copy if needed.
diff --git a/include/ndn-cpp/sha256-with-rsa-signature.hpp b/include/ndn-cpp/sha256-with-rsa-signature.hpp
index 82e4b66..ceb5c5b 100644
--- a/include/ndn-cpp/sha256-with-rsa-signature.hpp
+++ b/include/ndn-cpp/sha256-with-rsa-signature.hpp
@@ -63,33 +63,12 @@
   getKeyLocator() { return keyLocator_; }
 
   void 
-  setDigestAlgorithm(const std::vector<uint8_t>& digestAlgorithm) { digestAlgorithm_ = digestAlgorithm; }
-  
-  void 
-  setDigestAlgorithm(const uint8_t *digestAlgorithm, size_t digestAlgorithmLength) 
-  { 
-    digestAlgorithm_ = Blob(digestAlgorithm, digestAlgorithmLength); 
-  }
-
-  void 
   setDigestAlgorithm(const Blob& digestAlgorithm) { digestAlgorithm_ = digestAlgorithm; }
 
   void 
-  setWitness(const std::vector<uint8_t>& witness) { witness_ = witness; }
-  
-  void 
-  setWitness(const uint8_t *witness, size_t witnessLength) { witness_ = Blob(witness, witnessLength); }
-  
-  void 
   setWitness(const Blob& witness) { witness_ = witness; }
 
   void 
-  setSignature(const std::vector<uint8_t>& signature) { signature_ = signature; }
-  
-  void 
-  setSignature(const uint8_t *signature, size_t signatureLength) { signature_ = Blob(signature, signatureLength); }
-
-  void 
   setSignature(const Blob& signature) { signature_ = signature; }
 
   void 
diff --git a/src/node.cpp b/src/node.cpp
index 7ad328c..f9076fb 100644
--- a/src/node.cpp
+++ b/src/node.cpp
@@ -108,7 +108,7 @@
   if (!success)
     throw runtime_error("Error in RSA_sign");
   
-  signature->setSignature(signatureBits, (size_t)signatureBitsLength);
+  signature->setSignature(Blob(signatureBits, (size_t)signatureBitsLength));
 }
 
 Node::Node(const shared_ptr<Transport>& transport, const shared_ptr<const Transport::ConnectionInfo>& connectionInfo)