summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/certificate_chain.cc10
-rw-r--r--src/verify.cc2
2 files changed, 7 insertions, 5 deletions
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<xmlpp::Element*>(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<xmlpp::Element*>(*key_info), "X509Data", ns);
{
auto serial = cxml::add_child(data, "X509IssuerSerial", ns);
diff --git a/src/verify.cc b/src/verify.cc
index 8d33bc0b..7186a0c5 100644
--- a/src/verify.cc
+++ b/src/verify.cc
@@ -801,7 +801,7 @@ verify_subtitle_asset(Context& context, shared_ptr<const TextAsset> asset, optio
auto namespace_count = [](shared_ptr<const TextAsset> asset, string root_node) {
cxml::Document doc(root_node);
doc.read_string(asset->raw_xml().get());
- auto root = dynamic_cast<xmlpp::Element*>(doc.node())->cobj();
+ auto root = dynamic_cast<xmlpp::Element const*>(doc.node())->cobj();
int count = 0;
for (auto ns = root->nsDef; ns != nullptr; ns = ns->next) {
++count;