diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2016-10-13 10:37:02 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2016-10-13 10:44:23 +0000 |
commit | 0f613adbfa44fb92e84e73a3fa7ea050c072944c (patch) | |
tree | cd9ea725ace02906144a02c70f402fdc1fe8f881 /xmlsecurity/source/component | |
parent | 3461c9d7a2fe7e8196d455ea2d7feb8a684e945e (diff) |
xmlsecurity: add initial PDFSignatureHelper
This splits most of the PDF signature code out of the pdfverify
executable, and puts it into the xmlsecurity library instead.
The PDFSignatureHelper now attempts to verify PDF signatures, and code
in sdext / sfx2 also calls it (even if PDF is not a ZIP-based format).
Change-Id: I7b8b3ac9c976e4ea4f3796b1cda07c8a2c97bd02
Reviewed-on: https://gerrit.libreoffice.org/29751
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
Diffstat (limited to 'xmlsecurity/source/component')
-rw-r--r-- | xmlsecurity/source/component/documentdigitalsignatures.cxx | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/xmlsecurity/source/component/documentdigitalsignatures.cxx b/xmlsecurity/source/component/documentdigitalsignatures.cxx index cfa3d247634f..2fa08a442cd3 100644 --- a/xmlsecurity/source/component/documentdigitalsignatures.cxx +++ b/xmlsecurity/source/component/documentdigitalsignatures.cxx @@ -24,6 +24,7 @@ #include <macrosecurity.hxx> #include <biginteger.hxx> #include <global.hrc> +#include <pdfsignaturehelper.hxx> #include <sax/tools/converter.hxx> @@ -259,6 +260,14 @@ DocumentDigitalSignatures::ImplVerifySignatures( { if (!rxStorage.is()) { + if (xSignStream.is()) + { + // Something not ZIP-based, try PDF. + PDFSignatureHelper aSignatureHelper; + if (aSignatureHelper.ReadAndVerifySignature(xSignStream)) + return aSignatureHelper.GetDocumentSignatureInformations(); + } + SAL_WARN( "xmlsecurity.comp", "Error, no XStorage provided"); return Sequence<css::security::DocumentSignatureInformation>(); } |