From c85d5ae643df5f2fa399398796feaa6f42b114a7 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Thu, 30 Jan 2025 01:32:04 +0100 Subject: Fix up for const fix in libcxml. --- src/certificate_chain.cc | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/certificate_chain.cc') diff --git a/src/certificate_chain.cc b/src/certificate_chain.cc index 9ddcbce3..3bfd63f2 100644 --- a/src/certificate_chain.cc +++ b/src/certificate_chain.cc @@ -654,13 +654,15 @@ CertificateChain::sign (xmlpp::Element* parent, Standard standard) const void CertificateChain::add_signature_value (xmlpp::Element* parent, string ns, bool add_indentation) const { - cxml::Node cp (parent); - auto key_info = dynamic_cast(cp.node_child("KeyInfo")->node()); - DCP_ASSERT(key_info); + auto children = parent->get_children(); + auto key_info = std::find_if(children.begin(), children.end(), [](xmlpp::Node* node) { + return node->get_name() == "KeyInfo"; + }); + DCP_ASSERT(key_info != children.end()); /* Add the certificate chain to the KeyInfo child node of parent */ for (auto const& i: leaf_to_root()) { - auto data = cxml::add_child(key_info, "X509Data", ns); + auto data = cxml::add_child(dynamic_cast(*key_info), "X509Data", ns); { auto serial = cxml::add_child(data, "X509IssuerSerial", ns); -- cgit v1.2.3