Actions
Bug #3723
closedValidator::verifySignature(const Interest&, const PublicKey&) throws if Signature TLV is invalid
Start date:
08/07/2016
Due date:
% Done:
100%
Estimated time:
2.00 h
Description
Snippet to reproduce:
// g++ -o x -std=c++0x x.cpp $(pkg-config --cflags --libs libndn-cxx)
#include <iostream>
#include <ndn-cxx/security/key-chain.hpp>
#include <ndn-cxx/security/validator.hpp>
using namespace ndn;
template<typename...A>
void
setNameComponent(Name& name, ssize_t index, const A& ...a)
{
Name name2 = name.getPrefix(index);
name2.append(name::Component(a...));
name2.append(name.getSubName(name2.size()));
name = name2;
}
int main()
{
KeyChain keyChain;
auto interest = make_shared<Interest>("/prefix");
keyChain.sign(*interest);
Name name = interest->getName();
//setNameComponent(name, signed_interest::POS_SIG_INFO, "not-SignatureInfo");
setNameComponent(name, signed_interest::POS_SIG_VALUE, "bad-signature-bits");
interest->setName(name);
bool res = Validator::verifySignature(*interest, keyChain.getDefaultCertificate()->getPublicKeyInfo());
std::cout << static_cast<int>(res) << std::endl;
return 0;
}
Expected: output "0"
Actual: throw ndn::tlv::Error "TLV length mismatches buffer length"
Updated by Junxiao Shi almost 10 years ago
- Blocks Bug #2063: CommandValidator uses deprecated CommandInterestValidator added
Updated by Junxiao Shi almost 10 years ago
- Status changed from New to In Progress
- Assignee set to Junxiao Shi
Updated by Junxiao Shi almost 10 years ago
- Status changed from In Progress to Resolved
- % Done changed from 0 to 100
https://gerrit.named-data.net/3038 patchset1 has the fix and test case.
To reduce conflicts, it depends on https://gerrit.named-data.net/2991 which contains code style corrections for validator.cpp, but that Change is blocked until Aug 10 per breaking change notice, which means this issue is blocked as well.
Updated by Junxiao Shi almost 10 years ago
- Status changed from Resolved to Closed
Actions