diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2016-03-03 15:32:48 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2016-07-07 17:42:21 +0200 |
commit | 876a634fbae16caf37c1deac9056e106e4f5efc6 (patch) | |
tree | 215e0d3b47193d6f0195036ed7dc113d28f0e69f /xmlsecurity | |
parent | d55a15e65823830699ea7aa5f3e6a7dc51daa84d (diff) |
xmlsecurity OOXML export: don't loose old signatures when adding a new one
With this, at least we don't completely throw away existing signatures.
The roundtrip of them isn't perfect yet, though.
Change-Id: Ibc3408364403a057169e384902afe13b1e397480
(cherry picked from commit 963264a417ce807201f0021fc6000ce7d6cf0245)
Diffstat (limited to 'xmlsecurity')
-rw-r--r-- | xmlsecurity/source/helper/documentsignaturemanager.cxx | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/xmlsecurity/source/helper/documentsignaturemanager.cxx b/xmlsecurity/source/helper/documentsignaturemanager.cxx index 7f0fc66e7cd3..b5bc008b1ddf 100644 --- a/xmlsecurity/source/helper/documentsignaturemanager.cxx +++ b/xmlsecurity/source/helper/documentsignaturemanager.cxx @@ -269,6 +269,10 @@ bool DocumentSignatureManager::add(const uno::Reference<security::XCertificate>& int nSignatureCount = maCurrentSignatureInformations.size() + 1; maSignatureHelper.ExportSignatureRelations(aStreamHelper.xSignatureStorage, nSignatureCount); + // Export old signatures. + for (size_t i = 0; i < maCurrentSignatureInformations.size(); ++i) + maSignatureHelper.ExportOOXMLSignature(mxStore, aStreamHelper.xSignatureStorage, maCurrentSignatureInformations[i], i + 1); + // Create a new signature. maSignatureHelper.CreateAndWriteOOXMLSignature(mxStore, aStreamHelper.xSignatureStorage, nSignatureCount); |