summaryrefslogtreecommitdiff
path: root/src/util.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2013-08-25 12:17:48 +0100
committerCarl Hetherington <cth@carlh.net>2013-08-25 12:17:48 +0100
commitf976e8ac94dfc6130797c5d98a0399321dce43e7 (patch)
tree82d310884c373efc3ef81862e89ffa15cb255392 /src/util.cc
parentc74cdcf36955c77dc43d4e7a1d064d0bfcb631c7 (diff)
Untested interop DCP/KDM support.
Diffstat (limited to 'src/util.cc')
-rw-r--r--src/util.cc10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/util.cc b/src/util.cc
index e0727d9a..875693bf 100644
--- a/src/util.cc
+++ b/src/util.cc
@@ -286,7 +286,7 @@ libdcp::add_signer (xmlpp::Element* parent, CertificateChain const & certificate
}
void
-libdcp::sign (xmlpp::Element* parent, CertificateChain const & certificates, string const & signer_key)
+libdcp::sign (xmlpp::Element* parent, CertificateChain const & certificates, string const & signer_key, bool interop)
{
add_signer (parent, certificates, "dsig");
@@ -295,7 +295,13 @@ libdcp::sign (xmlpp::Element* parent, CertificateChain const & certificates, str
{
xmlpp::Element* signed_info = signature->add_child ("SignedInfo", "dsig");
signed_info->add_child("CanonicalizationMethod", "dsig")->set_attribute ("Algorithm", "http://www.w3.org/TR/2001/REC-xml-c14n-20010315");
- signed_info->add_child("SignatureMethod", "dsig")->set_attribute("Algorithm", "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256");
+
+ if (interop) {
+ signed_info->add_child("SignatureMethod", "dsig")->set_attribute("Algorithm", "http://www.w3.org/2000/09/xmldsig#rsa-sha1");
+ } else {
+ signed_info->add_child("SignatureMethod", "dsig")->set_attribute("Algorithm", "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256");
+ }
+
{
xmlpp::Element* reference = signed_info->add_child("Reference", "dsig");
reference->set_attribute ("URI", "");