11 static bool verify_node_signature(
14 const uint8_t* expected_sig,
15 size_t expected_sig_size,
16 const uint8_t* expected_root,
17 size_t expected_root_size)
20 auto node_endorsed_certs = tx.template ro<ccf::NodeEndorsedCertificates>(
21 ccf::Tables::NODE_ENDORSED_CERTIFICATES);
22 auto node_endorsed_cert = node_endorsed_certs->get(node_id);
23 if (!node_endorsed_cert.has_value())
28 auto nodes = tx.template ro<ccf::Nodes>(ccf::Tables::NODES);
29 auto node =
nodes->get(node_id);
30 if (!node.has_value())
33 "Signature cannot be verified: no certificate found for node {}",
39 node->cert.has_value(),
40 "No certificate recorded in nodes table for {} (1.x ledger)",
43 node_cert = node->cert.value();
47 node_cert = node_endorsed_cert.value();
51 return from_cert->verify_hash(
59 static bool verify_node_signature(
62 const std::vector<uint8_t>& expected_sig,
65 return verify_node_signature(
70 expected_root.
h.data(),
71 expected_root.
h.size());
#define CCF_ASSERT_FMT(expr,...)
Definition ccf_assert.h:10
Definition sha256_hash.h:16
Representation h
Definition sha256_hash.h:20
#define LOG_FAIL_FMT
Definition logger.h:363
std::shared_ptr< Verifier > VerifierPtr
Definition verifier.h:228
VerifierPtr make_verifier(const std::vector< uint8_t > &cert)
Definition verifier.cpp:18
Definition app_interface.h:14
EntityId< NodeIdFormatter > NodeId
Definition entity_id.h:155