diff options
Diffstat (limited to 'xmlsecurity/source/helper/documentsignaturemanager.cxx')
-rw-r--r-- | xmlsecurity/source/helper/documentsignaturemanager.cxx | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/xmlsecurity/source/helper/documentsignaturemanager.cxx b/xmlsecurity/source/helper/documentsignaturemanager.cxx index d97b1d11e0e6..e0a61e2ba377 100644 --- a/xmlsecurity/source/helper/documentsignaturemanager.cxx +++ b/xmlsecurity/source/helper/documentsignaturemanager.cxx @@ -25,6 +25,7 @@ #include <com/sun/star/io/XTruncate.hpp> #include <com/sun/star/embed/XTransactedObject.hpp> #include <com/sun/star/xml/crypto/SEInitializer.hpp> +#include <com/sun/star/xml/crypto/gpg/GpgSEInitializer.hpp> #include <comphelper/storagehelper.hxx> #include <rtl/ustrbuf.hxx> @@ -36,7 +37,7 @@ #include <certificate.hxx> #include <biginteger.hxx> -using namespace com::sun::star; +using namespace css; DocumentSignatureManager::DocumentSignatureManager(const uno::Reference<uno::XComponentContext>& xContext, DocumentSignatureMode eMode) : mxContext(xContext), @@ -51,13 +52,24 @@ bool DocumentSignatureManager::init() { SAL_WARN_IF(mxSEInitializer.is(), "xmlsecurity.helper", "DocumentSignatureManager::Init - mxSEInitializer already set!"); SAL_WARN_IF(mxSecurityContext.is(), "xmlsecurity.helper", "DocumentSignatureManager::Init - mxSecurityContext already set!"); + SAL_WARN_IF(mxGpgSEInitializer.is(), "xmlsecurity.helper", "DocumentSignatureManager::Init - mxGpgSEInitializer already set!"); - mxSEInitializer = css::xml::crypto::SEInitializer::create(mxContext); + mxSEInitializer = xml::crypto::SEInitializer::create(mxContext); +#if !defined(MACOSX) && !defined(WNT) + mxGpgSEInitializer = xml::crypto::gpg::GpgSEInitializer::create(mxContext); +#endif if (mxSEInitializer.is()) mxSecurityContext = mxSEInitializer->createSecurityContext(OUString()); +#if !defined(MACOSX) && !defined(WNT) + if (mxGpgSEInitializer.is()) + mxGpgSecurityContext = mxGpgSEInitializer->createSecurityContext(OUString()); + + return mxSecurityContext.is() && mxGpgSecurityContext.is(); +#else return mxSecurityContext.is(); +#endif } PDFSignatureHelper& DocumentSignatureManager::getPDFSignatureHelper() @@ -504,4 +516,9 @@ uno::Reference<xml::crypto::XSecurityEnvironment> DocumentSignatureManager::getS return mxSecurityContext.is() ? mxSecurityContext->getSecurityEnvironment() : uno::Reference<xml::crypto::XSecurityEnvironment>(); } +uno::Reference<xml::crypto::XSecurityEnvironment> DocumentSignatureManager::getGpgSecurityEnvironment() +{ + return mxGpgSecurityContext.is() ? mxGpgSecurityContext->getSecurityEnvironment() : uno::Reference<xml::crypto::XSecurityEnvironment>(); +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |