diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2016-10-14 18:13:34 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2016-10-17 06:08:43 +0000 |
commit | f29baf7735ddc162801fea73ecf705805aa4ec11 (patch) | |
tree | 975e9e700a2f2808111c830f126c9b8452ce3564 | |
parent | 29834be11ab48245abca212c05715395f4704f78 (diff) |
Executable_pdfverify: initialize nss / mscrypto
This was broken since commit 9fe910e4861a7911c6d286258a30954e715653ac
(xmlsecurity: use common NSS init in PDFDocument, 2016-10-13), after
that PDFDocument assumes that the client code does the crypto
initialization.
Change-Id: Iaee005afef6bd602c3a95e9a18f407c4d4223a26
Reviewed-on: https://gerrit.libreoffice.org/29887
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
-rw-r--r-- | xmlsecurity/Executable_pdfverify.mk | 1 | ||||
-rw-r--r-- | xmlsecurity/source/pdfio/pdfverify.cxx | 21 |
2 files changed, 19 insertions, 3 deletions
diff --git a/xmlsecurity/Executable_pdfverify.mk b/xmlsecurity/Executable_pdfverify.mk index 8a18dbc08a54..5cfbcd2dd43b 100644 --- a/xmlsecurity/Executable_pdfverify.mk +++ b/xmlsecurity/Executable_pdfverify.mk @@ -19,6 +19,7 @@ $(eval $(call gb_Executable_set_include,pdfverify,\ $(eval $(call gb_Executable_use_libraries,pdfverify,\ comphelper \ cppu \ + cppuhelper \ sal \ tl \ xmlsecurity \ diff --git a/xmlsecurity/source/pdfio/pdfverify.cxx b/xmlsecurity/source/pdfio/pdfverify.cxx index 67dde459ff39..30e085cf2913 100644 --- a/xmlsecurity/source/pdfio/pdfverify.cxx +++ b/xmlsecurity/source/pdfio/pdfverify.cxx @@ -7,11 +7,18 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -#include <pdfio/pdfdocument.hxx> +#include <iostream> -#include <sal/main.h> +#include <com/sun/star/lang/XMultiServiceFactory.hpp> +#include <com/sun/star/uno/XComponentContext.hpp> +#include <com/sun/star/xml/crypto/SEInitializer.hpp> + +#include <comphelper/processfactory.hxx> +#include <cppuhelper/bootstrap.hxx> #include <osl/file.hxx> -#include <iostream> +#include <sal/main.h> + +#include <pdfio/pdfdocument.hxx> using namespace com::sun::star; @@ -23,6 +30,14 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(nArgc, pArgv) return 1; } + // Initialize nss / mscrypto. + uno::Reference<uno::XComponentContext> xComponentContext = cppu::defaultBootstrap_InitialComponentContext(); + uno::Reference<lang::XMultiComponentFactory> xMultiComponentFactory = xComponentContext->getServiceManager(); + uno::Reference<lang::XMultiServiceFactory> xMultiServiceFactory(xMultiComponentFactory, uno::UNO_QUERY);; + comphelper::setProcessServiceFactory(xMultiServiceFactory); + uno::Reference<xml::crypto::XSEInitializer> xSEInitializer = xml::crypto::SEInitializer::create(xComponentContext); + uno::Reference<xml::crypto::XXMLSecurityContext> xSecurityContext = xSEInitializer->createSecurityContext(OUString()); + OUString aURL; osl::FileBase::getFileURLFromSystemPath(OUString::fromUtf8(pArgv[1]), aURL); |