summaryrefslogtreecommitdiff
path: root/sfx2
diff options
context:
space:
mode:
authorSamuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>2018-05-16 16:34:35 +0200
committerMiklos Vajna <vmiklos@collabora.co.uk>2018-11-08 13:55:14 +0100
commitf6c5c8b14bd47aa31a37801ca27294e156d92dbb (patch)
tree2149451da6153cc792c1b8293753db85ec7009fe /sfx2
parenta797afa58cd441cb7de5e1fe2845c3eff2e9001b (diff)
tdf#83877 Write SignatureLineId to ODF & OOXML signatures
Reviewed-on: https://gerrit.libreoffice.org/54432 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> (cherry picked from commit 201321f648e82ecc610e7a3324a46248a19c1704) Conflicts: cui/source/dialogs/SignSignatureLineDialog.cxx xmlsecurity/source/component/documentdigitalsignatures.cxx xmlsecurity/source/helper/documentsignaturemanager.cxx Change-Id: I483a3b7895cdcb10ef9d6dacf167ed0f8db7e723
Diffstat (limited to 'sfx2')
-rw-r--r--sfx2/source/doc/docfile.cxx9
-rw-r--r--sfx2/source/doc/objserv.cxx13
2 files changed, 12 insertions, 10 deletions
diff --git a/sfx2/source/doc/docfile.cxx b/sfx2/source/doc/docfile.cxx
index 2a679cd36bac..6e0b45168ba5 100644
--- a/sfx2/source/doc/docfile.cxx
+++ b/sfx2/source/doc/docfile.cxx
@@ -3575,8 +3575,9 @@ void SfxMedium::CreateTempFileNoCopy()
CloseStorage();
}
-bool SfxMedium::SignContents_Impl(const Reference<XCertificate> xCert, bool bScriptingContent,
- const OUString& aODFVersion, bool bHasValidDocumentSignature)
+bool SfxMedium::SignContents_Impl(const Reference<XCertificate> xCert, const OUString& aSignatureLineId,
+ bool bScriptingContent, const OUString& aODFVersion,
+ bool bHasValidDocumentSignature)
{
bool bChanges = false;
@@ -3667,7 +3668,7 @@ bool SfxMedium::SignContents_Impl(const Reference<XCertificate> xCert, bool bScr
bool bSuccess = false;
if (xCert.is())
bSuccess = xSigner->signDocumentContentWithCertificate(
- GetZipStorageToSign_Impl(), xStream, xCert);
+ GetZipStorageToSign_Impl(), xStream, xCert, aSignatureLineId);
else
bSuccess = xSigner->signDocumentContent(GetZipStorageToSign_Impl(),
xStream);
@@ -3693,7 +3694,7 @@ bool SfxMedium::SignContents_Impl(const Reference<XCertificate> xCert, bool bScr
if (xCert.is())
{
bSuccess = xSigner->signDocumentContentWithCertificate(
- GetZipStorageToSign_Impl(), xStream, xCert);
+ GetZipStorageToSign_Impl(/*bReadOnly=*/false), xStream, xCert, aSignatureLineId);
}
else
{
diff --git a/sfx2/source/doc/objserv.cxx b/sfx2/source/doc/objserv.cxx
index c8bc40e8bb19..e4c6b18986f0 100644
--- a/sfx2/source/doc/objserv.cxx
+++ b/sfx2/source/doc/objserv.cxx
@@ -1360,7 +1360,7 @@ SignatureState SfxObjectShell::ImplGetSignatureState( bool bScriptingContent )
return *pState;
}
-void SfxObjectShell::ImplSign(Reference<XCertificate> xCert,
+void SfxObjectShell::ImplSign(Reference<XCertificate> xCert, const OUString& aSignatureLineId,
bool bScriptingContent)
{
// Check if it is stored in OASIS format...
@@ -1477,7 +1477,7 @@ void SfxObjectShell::ImplSign(Reference<XCertificate> xCert,
|| pImpl->nDocumentSignatureState == SignatureState::PARTIAL_OK;
bool bSignSuccess = GetMedium()->SignContents_Impl(
- xCert, bScriptingContent, aODFVersion, bHasValidSignatures);
+ xCert, aSignatureLineId, bScriptingContent, aODFVersion, bHasValidSignatures);
pImpl->m_bSavingForSigning = true;
DoSaveCompleted( GetMedium() );
@@ -1512,12 +1512,13 @@ SignatureState SfxObjectShell::GetDocumentSignatureState()
void SfxObjectShell::SignDocumentContent()
{
- ImplSign(Reference<XCertificate>());
+ ImplSign();
}
-void SfxObjectShell::SignDocumentContent(const Reference<XCertificate> xCert)
+void SfxObjectShell::SignDocumentContent(const Reference<XCertificate> xCert,
+ const OUString& aSignatureLineId)
{
- ImplSign(xCert);
+ ImplSign(xCert, aSignatureLineId);
}
SignatureState SfxObjectShell::GetScriptingSignatureState()
@@ -1527,7 +1528,7 @@ SignatureState SfxObjectShell::GetScriptingSignatureState()
void SfxObjectShell::SignScriptingContent()
{
- ImplSign( Reference<XCertificate>(), true );
+ ImplSign( Reference<XCertificate>(), OUString(), true );
}
namespace