summaryrefslogtreecommitdiff
path: root/xmlsecurity/source/helper/xsecctl.cxx
diff options
context:
space:
mode:
authorSamuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>2018-05-16 16:34:35 +0200
committerSamuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>2018-05-18 14:45:19 +0200
commit201321f648e82ecc610e7a3324a46248a19c1704 (patch)
tree3905f8cf6f47b32e21c69afa34bccd98cd9676ba /xmlsecurity/source/helper/xsecctl.cxx
parent168034416c9477ee5ae1d3c6f899451e28d42851 (diff)
tdf#83877 Write SignatureLineId to ODF & OOXML signatures
Change-Id: I483a3b7895cdcb10ef9d6dacf167ed0f8db7e723 Reviewed-on: https://gerrit.libreoffice.org/54432 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Diffstat (limited to 'xmlsecurity/source/helper/xsecctl.cxx')
-rw-r--r--xmlsecurity/source/helper/xsecctl.cxx22
1 files changed, 22 insertions, 0 deletions
diff --git a/xmlsecurity/source/helper/xsecctl.cxx b/xmlsecurity/source/helper/xsecctl.cxx
index c10e9f0d3c50..0d97dd3456fb 100644
--- a/xmlsecurity/source/helper/xsecctl.cxx
+++ b/xmlsecurity/source/helper/xsecctl.cxx
@@ -856,6 +856,28 @@ void XSecController::exportSignature(
"dc:date");
}
xDocumentHandler->endElement( "SignatureProperty" );
+
+ if (!signatureInfo.ouSignatureLineId.isEmpty())
+ {
+ pAttributeList = new SvXMLAttributeList();
+ pAttributeList->AddAttribute(
+ "xmlns:loext",
+ "urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0");
+ pAttributeList->AddAttribute("Target", "#" + signatureInfo.ouSignatureId);
+
+ xDocumentHandler->startElement(
+ "SignatureProperty",
+ cssu::Reference<cssxs::XAttributeList>(pAttributeList));
+ {
+ // Write SignatureLineId element
+ xDocumentHandler->startElement(
+ "loext:SignatureLineId",
+ cssu::Reference<cssxs::XAttributeList>(new SvXMLAttributeList()));
+ xDocumentHandler->characters(signatureInfo.ouSignatureLineId);
+ xDocumentHandler->endElement("loext:SignatureLineId");
+ }
+ xDocumentHandler->endElement("SignatureProperty");
+ }
}
// Write signature description.