summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2022-03-04 10:31:46 +0000
committerMiklos Vajna <vmiklos@collabora.com>2022-03-21 08:47:58 +0100
commitec2409a9f3c09a9021d148e806da7fbf30addc80 (patch)
treeb40967a296797aff2b14e992e9fbb30211541629
parent62f071f0904cd00c401f732ce6d5c9248e3944f6 (diff)
use internal SHA256Thumbprint api
Change-Id: I6a51359af58dbb79b6a0399944030dbcbe97152b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130963 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com> (cherry picked from commit f30bc3ccdfb48356910d64ee4a3dda685b11de93) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131202 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit 08a9d2d250e041c3a6e7f7570cd2d6964dd96182) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131348 Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de> Tested-by: Miklos Vajna <vmiklos@collabora.com>
-rw-r--r--xmlsecurity/source/component/documentdigitalsignatures.cxx9
1 files changed, 8 insertions, 1 deletions
diff --git a/xmlsecurity/source/component/documentdigitalsignatures.cxx b/xmlsecurity/source/component/documentdigitalsignatures.cxx
index 8b365a1c5934..4e714014d5f8 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>
@@ -676,6 +677,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();
});
}