diff options
| author | Carl Hetherington <cth@carlh.net> | 2018-03-21 23:08:20 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2018-03-21 23:08:20 +0000 |
| commit | 8c852cbececaa94e7efbb0e8508484e073b06c67 (patch) | |
| tree | 132c7da6266475034144703f108d3e43f73fe3cf /src/certificate_chain.cc | |
| parent | 03246708c1ee9c5331eac7d058627655939e30d1 (diff) | |
Put xmlns:dsig on Signer and Signature rather than on the whole
CPL/PKL as a certain large distribution company's checkers don't
like having multiple namespaces:
"XML root element can contain only one namespace"
Diffstat (limited to 'src/certificate_chain.cc')
| -rw-r--r-- | src/certificate_chain.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/certificate_chain.cc b/src/certificate_chain.cc index 851252af..d30e6567 100644 --- a/src/certificate_chain.cc +++ b/src/certificate_chain.cc @@ -563,6 +563,7 @@ CertificateChain::sign (xmlpp::Element* parent, Standard standard) const /* <Signer> */ xmlpp::Element* signer = parent->add_child("Signer"); + signer->set_namespace_declaration ("http://www.w3.org/2000/09/xmldsig#", "dsig"); xmlpp::Element* data = signer->add_child("X509Data", "dsig"); xmlpp::Element* serial_element = data->add_child("X509IssuerSerial", "dsig"); serial_element->add_child("X509IssuerName", "dsig")->add_child_text (leaf().issuer()); @@ -571,7 +572,9 @@ CertificateChain::sign (xmlpp::Element* parent, Standard standard) const /* <Signature> */ - xmlpp::Element* signature = parent->add_child("Signature", "dsig"); + xmlpp::Element* signature = parent->add_child("Signature"); + signature->set_namespace_declaration ("http://www.w3.org/2000/09/xmldsig#", "dsig"); + signature->set_namespace ("dsig"); 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"); |
