summaryrefslogtreecommitdiff
path: root/xmlsecurity/source/component
diff options
context:
space:
mode:
Diffstat (limited to 'xmlsecurity/source/component')
-rw-r--r--xmlsecurity/source/component/documentdigitalsignatures.cxx9
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>();
}