summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThorsten Behrens <Thorsten.Behrens@CIB.de>2018-01-16 12:10:36 +0100
committerCaolán McNamara <caolanm@redhat.com>2018-01-17 10:19:43 +0100
commitb42af46a09517cc6538d44fd360a812c14b937b8 (patch)
treec0b610bf2f19df190cf4ed57b2281aa790af227f
parent936ead3c1df3f219e31419d37f9e1f7c8ed22663 (diff)
tdf#115011 don't crash on non-existent gpg support
Change-Id: I90679472898648ccf0811c67c17f7bad41d4e347 Reviewed-on: https://gerrit.libreoffice.org/47984 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> (cherry picked from commit 03afd4b72431a0dc197891d41fb7bf2419858380) Reviewed-on: https://gerrit.libreoffice.org/47994 Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> Reviewed-by: Regina Henschel <rb.henschel@t-online.de> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit f9839a5b74963e881f914ffe3a9b36029ded3585) Reviewed-on: https://gerrit.libreoffice.org/48017 Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com> Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
-rw-r--r--xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx6
1 files changed, 3 insertions, 3 deletions
diff --git a/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx b/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx
index 195c74ec5c3e..8c65aa2944fd 100644
--- a/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx
+++ b/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx
@@ -683,7 +683,7 @@ uno::Reference<security::XCertificate> DigitalSignaturesDialog::getCertificate(c
uno::Reference<security::XCertificate> xCert;
//First we try to get the certificate which is embedded in the XML Signature
- if (!rInfo.ouX509Certificate.isEmpty())
+ if (xSecEnv.is() && !rInfo.ouX509Certificate.isEmpty())
xCert = xSecEnv->createCertificateFromAscii(rInfo.ouX509Certificate);
else {
//There must be an embedded certificate because we use it to get the
@@ -696,9 +696,9 @@ uno::Reference<security::XCertificate> DigitalSignaturesDialog::getCertificate(c
}
//In case there is no embedded certificate we try to get it from a local store
- if (!xCert.is())
+ if (!xCert.is() && xSecEnv.is())
xCert = xSecEnv->getCertificate( rInfo.ouX509IssuerName, xmlsecurity::numericStringToBigInteger( rInfo.ouX509SerialNumber ) );
- if (!xCert.is())
+ if (!xCert.is() && xGpgSecEnv.is())
xCert = xGpgSecEnv->getCertificate( rInfo.ouGpgKeyID, xmlsecurity::numericStringToBigInteger("") );
SAL_WARN_IF( !xCert.is(), "xmlsecurity.dialogs", "Certificate not found and can't be created!" );