xmlsecurity/source/component/documentdigitalsignatures.cxx |   11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

New commits:
commit 3962a56378f4c82ad788c45c34ce82114efb10d2
Author: Miklos Vajna <vmik...@collabora.co.uk>
Date:   Wed Jan 27 18:42:59 2016 +0100

    xmlsecurity: OOXML never signs metadata, so that's not completely invalid
    
    With this, we correctly show if an OOXML signature's metadata (e.g.
    comment) is valid or not. The <Manifest> element is still not checked
    yet, though -- and that contains the hashes of most interesting streams.
    
    Change-Id: Idd9e5a9072820c517974e26536aaf8eb9f34948a

diff --git a/xmlsecurity/source/component/documentdigitalsignatures.cxx 
b/xmlsecurity/source/component/documentdigitalsignatures.cxx
index 754f343..11eb85f 100644
--- a/xmlsecurity/source/component/documentdigitalsignatures.cxx
+++ b/xmlsecurity/source/component/documentdigitalsignatures.cxx
@@ -359,15 +359,20 @@ DocumentDigitalSignatures::ImplVerifySignatures(
             rSigInfo.SignatureIsValid = ( rInfo.nStatus == 
::com::sun::star::xml::crypto::SecurityOperationStatus_OPERATION_SUCCEEDED );
 
 
-            if ( rSigInfo.SignatureIsValid )
+            // OOXML intentionally doesn't sign metadata.
+            if ( rSigInfo.SignatureIsValid && aStreamHelper.nStorageFormat != 
embed::StorageFormats::OFOPXML)
             {
                  rSigInfo.SignatureIsValid =
                       DocumentSignatureHelper::checkIfAllFilesAreSigned(
                       aElementsToBeVerified, rInfo, mode);
             }
             if (eMode == SignatureModeDocumentContent)
-                rSigInfo.PartialDocumentSignature =
-                    ! 
DocumentSignatureHelper::isOOo3_2_Signature(aSignInfos[n]);
+            {
+                if (aStreamHelper.nStorageFormat == 
embed::StorageFormats::OFOPXML)
+                    rSigInfo.PartialDocumentSignature = true;
+                else
+                    rSigInfo.PartialDocumentSignature = 
!DocumentSignatureHelper::isOOo3_2_Signature(aSignInfos[n]);
+            }
 
         }
     }
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to