Fix erroneous reports of unresolved assets when checking OV/VF pairs.
[libdcp.git] / src / encrypted_kdm.cc
index 7a7d98c1fb16858d2f26a9d52042217caafbaf62..996708ad7d0535c2b642d1eaf4b58baeb799d5b3 100644 (file)
@@ -554,6 +554,7 @@ public:
                        xmlAddID (0, document->cobj(), (const xmlChar *) i->first.c_str(), i->second->cobj ());
                }
 
+               indent (document->get_root_node(), 0);
                return document;
        }
 
@@ -576,10 +577,11 @@ EncryptedKDM::EncryptedKDM (string s)
        }
 }
 
+/** @param trusted_devices Trusted device thumbprints */
 EncryptedKDM::EncryptedKDM (
        shared_ptr<const CertificateChain> signer,
        Certificate recipient,
-       vector<Certificate> trusted_devices,
+       vector<string> trusted_devices,
        string cpl_id,
        string content_title_text,
        optional<string> annotation_text,
@@ -651,8 +653,8 @@ EncryptedKDM::EncryptedKDM (
                                   recipient's thumbprint (recipient.thumbprint()).
                                   Waimea uses only the trusted devices here, too.
                                */
-                               BOOST_FOREACH (Certificate const & i, trusted_devices) {
-                                       kre.authorized_device_info->certificate_thumbprints.push_back (i.thumbprint ());
+                               BOOST_FOREACH (string i, trusted_devices) {
+                                       kre.authorized_device_info->certificate_thumbprints.push_back (i);
                                }
                        }
                }
@@ -669,7 +671,7 @@ EncryptedKDM::EncryptedKDM (
        xmlpp::Node::NodeList children = doc->get_root_node()->get_children ();
        for (xmlpp::Node::NodeList::const_iterator i = children.begin(); i != children.end(); ++i) {
                if ((*i)->get_name() == "Signature") {
-                       signer->add_signature_value (*i, "ds");
+                       signer->add_signature_value (dynamic_cast<xmlpp::Element*>(*i), "ds", false);
                }
        }