diff options
author | Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> | 2018-05-16 16:34:35 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2018-11-08 13:55:14 +0100 |
commit | f6c5c8b14bd47aa31a37801ca27294e156d92dbb (patch) | |
tree | 2149451da6153cc792c1b8293753db85ec7009fe /sfx2 | |
parent | a797afa58cd441cb7de5e1fe2845c3eff2e9001b (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.cxx | 9 | ||||
-rw-r--r-- | sfx2/source/doc/objserv.cxx | 13 |
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 |