summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2022-03-04 10:31:46 +0000
committerMichael Stahl <michael.stahl@allotropia.de>2022-03-10 11:39:34 +0100
commitbae5503ac47ac2faa4c4365f86a00543e43a149a (patch)
tree53236138bdcc2b60f7e6b8f59c9126cabfa5b183
parent8e63eb272ca0a75b2e800a63c47cf491715587a9 (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/+/131203 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
-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 f02a93077a8d..2ee04691ba68 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();
});
}