xmlsecurity/source/component/documentdigitalsignatures.cxx |    9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

New commits:
commit f30bc3ccdfb48356910d64ee4a3dda685b11de93
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Fri Mar 4 10:31:46 2022 +0000
Commit:     Miklos Vajna <vmik...@collabora.com>
CommitDate: Fri Mar 4 14:26:04 2022 +0100

    use internal SHA256Thumbprint api
    
    Change-Id: I6a51359af58dbb79b6a0399944030dbcbe97152b
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130963
    Tested-by: Jenkins
    Reviewed-by: Miklos Vajna <vmik...@collabora.com>

diff --git a/xmlsecurity/source/component/documentdigitalsignatures.cxx 
b/xmlsecurity/source/component/documentdigitalsignatures.cxx
index 0dbf0877ad1e..990fa5dea739 100644
--- a/xmlsecurity/source/component/documentdigitalsignatures.cxx
+++ b/xmlsecurity/source/component/documentdigitalsignatures.cxx
@@ -19,9 +19,10 @@
 
 #include <resourcemanager.hxx>
 
-#include <digitalsignaturesdialog.hxx>
+#include <certificate.hxx>
 #include <certificatechooser.hxx>
 #include <certificateviewer.hxx>
+#include <digitalsignaturesdialog.hxx>
 #include <macrosecurity.hxx>
 #include <biginteger.hxx>
 #include <strings.hrc>
@@ -683,6 +684,12 @@ sal_Bool DocumentDigitalSignatures::isAuthorTrusted(
             if (!aSignatureManager.init())
                 return false;
             uno::Reference<css::security::XCertificate> xCert = 
aSignatureManager.getSecurityEnvironment()->createCertificateFromAscii(rAuthor.RawData);
+
+            auto pAuthor = 
dynamic_cast<xmlsecurity::Certificate*>(xAuthor.get());
+            auto pCert = dynamic_cast<xmlsecurity::Certificate*>(xCert.get());
+            if (pAuthor && pCert)
+                return pCert->getSHA256Thumbprint() == 
pAuthor->getSHA256Thumbprint();
+
             return xCert->getSHA1Thumbprint() == xAuthor->getSHA1Thumbprint();
         });
 }

Reply via email to