xmlsecurity/qa/unit/signing/signing.cxx |    4 ++++
 xmlsecurity/source/helper/xsecctl.cxx   |    8 ++++++++
 2 files changed, 12 insertions(+)

New commits:
commit ea3a5036d23081b6e8eb38a399ff8ef5acd8adc7
Author:     Miklos Vajna <vmik...@collabora.co.uk>
AuthorDate: Mon Aug 27 09:15:16 2018 +0200
Commit:     Miklos Vajna <vmik...@collabora.co.uk>
CommitDate: Mon Aug 27 19:15:55 2018 +0200

    tdf#119309 xmlsecurity xades: missing XML attribute on idSignedProperties 
ref
    
    The AdES validator at
    <https://ec.europa.eu/cefdigital/DSS/webapp-demo/validation> recently
    learned to deal with ODF files, this improves its output, so that
    "Qualification Signature" section is no longer just a red "N/A" but an
    orange "Indeterminate QESig".
    
    Change-Id: I5f47b935f1dbfa4e2eee4654db31403479cb571d
    Reviewed-on: https://gerrit.libreoffice.org/59633
    Tested-by: Jenkins
    Reviewed-by: Miklos Vajna <vmik...@collabora.co.uk>

diff --git a/xmlsecurity/qa/unit/signing/signing.cxx 
b/xmlsecurity/qa/unit/signing/signing.cxx
index 54920f5958b1..1e68d08b2d15 100644
--- a/xmlsecurity/qa/unit/signing/signing.cxx
+++ b/xmlsecurity/qa/unit/signing/signing.cxx
@@ -775,6 +775,10 @@ void SigningTest::testXAdES()
 
     // Assert that the digest of the signing certificate is included.
     assertXPath(pXmlDoc, "//xd:CertDigest", 1);
+
+    // Assert that the Type attribute on the idSignedProperties reference is
+    // not missing.
+    assertXPath(pXmlDoc, 
"/odfds:document-signatures/dsig:Signature/dsig:SignedInfo/dsig:Reference[@URI='#idSignedProperties']",
 "Type", "http://uri.etsi.org/01903#SignedProperties";);
 }
 
 void SigningTest::testXAdESGood()
diff --git a/xmlsecurity/source/helper/xsecctl.cxx 
b/xmlsecurity/source/helper/xsecctl.cxx
index 7a8422bc39e2..0ab4c39528fb 100644
--- a/xmlsecurity/source/helper/xsecctl.cxx
+++ b/xmlsecurity/source/helper/xsecctl.cxx
@@ -661,6 +661,14 @@ void XSecController::exportSignature(
                     pAttributeList->AddAttribute(
                         "URI",
                         "#" + refInfor.ouURI);
+
+                    if (bXAdESCompliantIfODF && refInfor.ouURI == 
"idSignedProperties")
+                    {
+                        // The reference which points to the SignedProperties
+                        // shall have this specific type.
+                        pAttributeList->AddAttribute("Type",
+                                                     
"http://uri.etsi.org/01903#SignedProperties";);
+                    }
                 }
 
                 xDocumentHandler->startElement( "Reference", cssu::Reference< 
cssxs::XAttributeList > (pAttributeList) );
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to