security: fix extraction of signed portion during Data signature verification
refs #4583
Change-Id: Ia0fc93a6e2408bb5f0de16fd76fcb6d9f06a0398
diff --git a/ndn-cxx/data.hpp b/ndn-cxx/data.hpp
index ac25c07..838df88 100644
--- a/ndn-cxx/data.hpp
+++ b/ndn-cxx/data.hpp
@@ -26,6 +26,7 @@
#include "ndn-cxx/encoding/block.hpp"
#include "ndn-cxx/meta-info.hpp"
#include "ndn-cxx/name.hpp"
+#include "ndn-cxx/security/security-common.hpp"
#include "ndn-cxx/signature-info.hpp"
namespace ndn {
@@ -264,6 +265,13 @@
Data&
setSignatureValue(ConstBufferPtr value);
+ /** @brief Extract ranges of Data covered by the signature
+ * @throw Error Data cannot be encoded or is missing ranges necessary for signing
+ * @warning The returned pointers will be invalidated if wireDecode() or wireEncode() are called.
+ */
+ InputBuffers
+ extractSignedRanges() const;
+
public: // MetaInfo fields
uint32_t
getContentType() const