security: Correcting generation of SignatureSha256WithRsa to conforming to the packet format specification

KeyLocator block is required even if it is empty.  Before this commit,
an empty KeyLocator was omitted, which violated the format spec.

Change-Id: I3fc0f1d888e032aacb261886dd726e4c8748c4cb
diff --git a/include/ndn-cpp/security/signature-sha256-with-rsa.hpp b/include/ndn-cpp/security/signature-sha256-with-rsa.hpp
index 8eb26b1..b59c765 100644
--- a/include/ndn-cpp/security/signature-sha256-with-rsa.hpp
+++ b/include/ndn-cpp/security/signature-sha256-with-rsa.hpp
@@ -23,6 +23,7 @@
     
     type_ = Signature::Sha256WithRsa;
     info_.push_back(nonNegativeIntegerBlock(Tlv::SignatureType, Tlv::SignatureSha256WithRsa));
+    info_.push_back(keyLocator_.wireEncode());
   }
   
   SignatureSha256WithRsa(const Signature &signature)
@@ -50,7 +51,7 @@
   {
     keyLocator_ = keyLocator;
 
-    /// @todo Ensure that keylocator does not exist
+    info_.remove(ndn::Tlv::KeyLocator);
     info_.push_back(keyLocator_.wireEncode());
   }