summaryrefslogtreecommitdiff
path: root/xmlsecurity/source/framework
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2017-08-10 09:04:03 +0200
committerMiklos Vajna <vmiklos@collabora.co.uk>2017-08-10 09:50:29 +0200
commit86bc72072ece83c3560dbf874d6469f771c95289 (patch)
treee0cf7dcd46357f9a58692f8924e34eb40e26318d /xmlsecurity/source/framework
parent0e8208057d098f961a62efa5318a80b0d3372d2a (diff)
xmlsecurity: work with impl directly in SignatureEngine::startEngine()
The only implementation of css::xml::crypto::XXMLSignatureTemplate is XMLSignatureTemplateImpl, so work with that directly instead of going via UNO. Change-Id: I85e2169a909b689620c2ce125a9653f9a6696f45 Reviewed-on: https://gerrit.libreoffice.org/40950 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Diffstat (limited to 'xmlsecurity/source/framework')
-rw-r--r--xmlsecurity/source/framework/signaturecreatorimpl.cxx9
-rw-r--r--xmlsecurity/source/framework/signatureengine.cxx4
-rw-r--r--xmlsecurity/source/framework/signatureverifierimpl.cxx9
-rw-r--r--xmlsecurity/source/framework/xmlsignaturetemplateimpl.cxx2
-rw-r--r--xmlsecurity/source/framework/xmlsignaturetemplateimpl.hxx99
5 files changed, 7 insertions, 116 deletions
diff --git a/xmlsecurity/source/framework/signaturecreatorimpl.cxx b/xmlsecurity/source/framework/signaturecreatorimpl.cxx
index b94a97583018..be94d840f525 100644
--- a/xmlsecurity/source/framework/signaturecreatorimpl.cxx
+++ b/xmlsecurity/source/framework/signaturecreatorimpl.cxx
@@ -81,17 +81,12 @@ void SignatureCreatorImpl::notifyResultListener() const
xSignatureCreationResultListener->signatureCreated( m_nSecurityId, m_nStatus );
}
-void SignatureCreatorImpl::startEngine( const cssu::Reference<
- cssxc::XXMLSignatureTemplate >&
- xSignatureTemplate)
+void SignatureCreatorImpl::startEngine(const rtl::Reference<XMLSignatureTemplateImpl>& xSignatureTemplate)
/****** SignatureCreatorImpl/startEngine *************************************
*
* NAME
* startEngine -- generates the signature.
*
- * SYNOPSIS
- * startEngine( xSignatureTemplate );
- *
* FUNCTION
* generates the signature element, then if succeeds, updates the link
* of old template element to the new signature element in
@@ -105,7 +100,7 @@ void SignatureCreatorImpl::startEngine( const cssu::Reference<
cssu::Reference< cssxc::XXMLSignatureTemplate > xResultTemplate;
try
{
- xResultTemplate = m_xXMLSignature->generate(xSignatureTemplate, m_xSecurityEnvironment);
+ xResultTemplate = m_xXMLSignature->generate(css::uno::Reference<css::xml::crypto::XXMLSignatureTemplate>(xSignatureTemplate.get()), m_xSecurityEnvironment);
m_nStatus = xResultTemplate->getStatus();
}
catch( cssu::Exception& )
diff --git a/xmlsecurity/source/framework/signatureengine.cxx b/xmlsecurity/source/framework/signatureengine.cxx
index 8b570465c44d..a9befe357d3b 100644
--- a/xmlsecurity/source/framework/signatureengine.cxx
+++ b/xmlsecurity/source/framework/signatureengine.cxx
@@ -19,7 +19,7 @@
#include "framework/signatureengine.hxx"
-#include "xmlsignaturetemplateimpl.hxx"
+#include "framework/xmlsignaturetemplateimpl.hxx"
#include <com/sun/star/xml/wrapper/XXMLElementWrapper.hpp>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <rtl/ref.hxx>
@@ -111,7 +111,7 @@ void SignatureEngine::tryToPerform( )
*/
xSignatureTemplate->setBinding( this );
- startEngine(css::uno::Reference<css::xml::crypto::XXMLSignatureTemplate>(xSignatureTemplate.get()));
+ startEngine(xSignatureTemplate);
/*
* done
diff --git a/xmlsecurity/source/framework/signatureverifierimpl.cxx b/xmlsecurity/source/framework/signatureverifierimpl.cxx
index b02a78ee9d74..edda76b5bc0c 100644
--- a/xmlsecurity/source/framework/signatureverifierimpl.cxx
+++ b/xmlsecurity/source/framework/signatureverifierimpl.cxx
@@ -75,17 +75,12 @@ void SignatureVerifierImpl::notifyResultListener() const
xSignatureVerifyResultListener->signatureVerified( m_nSecurityId, m_nStatus );
}
-void SignatureVerifierImpl::startEngine( const cssu::Reference<
- cssxc::XXMLSignatureTemplate >&
- xSignatureTemplate)
+void SignatureVerifierImpl::startEngine( const rtl::Reference<XMLSignatureTemplateImpl>& xSignatureTemplate)
/****** SignatureVerifierImpl/startEngine ************************************
*
* NAME
* startEngine -- verifies the signature.
*
- * SYNOPSIS
- * startEngine( xSignatureTemplate );
- *
* INPUTS
* xSignatureTemplate - the signature template (along with all referenced
* elements) to be verified.
@@ -94,7 +89,7 @@ void SignatureVerifierImpl::startEngine( const cssu::Reference<
cssu::Reference< cssxc::XXMLSignatureTemplate > xResultTemplate;
try
{
- xResultTemplate = m_xXMLSignature->validate(xSignatureTemplate, m_xXMLSecurityContext);
+ xResultTemplate = m_xXMLSignature->validate(css::uno::Reference<css::xml::crypto::XXMLSignatureTemplate>(xSignatureTemplate.get()), m_xXMLSecurityContext);
m_nStatus = xResultTemplate->getStatus();
}
catch( cssu::Exception& )
diff --git a/xmlsecurity/source/framework/xmlsignaturetemplateimpl.cxx b/xmlsecurity/source/framework/xmlsignaturetemplateimpl.cxx
index b117dac54525..4fed055ea4eb 100644
--- a/xmlsecurity/source/framework/xmlsignaturetemplateimpl.cxx
+++ b/xmlsecurity/source/framework/xmlsignaturetemplateimpl.cxx
@@ -20,7 +20,7 @@
#include <sal/config.h>
#include <rtl/ustring.hxx>
#include <rtl/uuid.h>
-#include "xmlsignaturetemplateimpl.hxx"
+#include "framework/xmlsignaturetemplateimpl.hxx"
using namespace ::com::sun::star::uno ;
using ::com::sun::star::lang::XMultiServiceFactory ;
diff --git a/xmlsecurity/source/framework/xmlsignaturetemplateimpl.hxx b/xmlsecurity/source/framework/xmlsignaturetemplateimpl.hxx
deleted file mode 100644
index 1876aeb037a5..000000000000
--- a/xmlsecurity/source/framework/xmlsignaturetemplateimpl.hxx
+++ /dev/null
@@ -1,99 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef INCLUDED_XMLSECURITY_SOURCE_FRAMEWORK_XMLSIGNATURETEMPLATEIMPL_HXX
-#define INCLUDED_XMLSECURITY_SOURCE_FRAMEWORK_XMLSIGNATURETEMPLATEIMPL_HXX
-
-#include <sal/config.h>
-#include <rtl/ustring.hxx>
-#include <cppuhelper/factory.hxx>
-#include <cppuhelper/implbase.hxx>
-#include <com/sun/star/uno/Exception.hpp>
-
-#include <com/sun/star/uno/Reference.hxx>
-#include <com/sun/star/lang/XSingleServiceFactory.hpp>
-
-#include <com/sun/star/lang/XServiceInfo.hpp>
-#include <com/sun/star/xml/crypto/XXMLSignatureTemplate.hpp>
-#include <com/sun/star/xml/wrapper/XXMLElementWrapper.hpp>
-
-#include <vector>
-
-class XMLSignatureTemplateImpl : public ::cppu::WeakImplHelper<
- css::xml::crypto::XXMLSignatureTemplate ,
- css::lang::XServiceInfo >
-{
- private:
- css::uno::Reference< css::xml::wrapper::XXMLElementWrapper > m_xTemplate ;
- std::vector< css::uno::Reference< css::xml::wrapper::XXMLElementWrapper > > targets;
- css::uno::Reference< css::xml::crypto::XUriBinding > m_xUriBinding;
- css::xml::crypto::SecurityOperationStatus m_nStatus;
-
- public:
- explicit XMLSignatureTemplateImpl();
- virtual ~XMLSignatureTemplateImpl() override;
-
- //Methods from XXMLSignatureTemplate
- virtual void SAL_CALL setTemplate(
- const css::uno::Reference< css::xml::wrapper::XXMLElementWrapper >& aXmlElement
- ) override;
-
- virtual css::uno::Reference< css::xml::wrapper::XXMLElementWrapper > SAL_CALL getTemplate(
- ) override;
-
- virtual void SAL_CALL setTarget(
- const css::uno::Reference< css::xml::wrapper::XXMLElementWrapper >& aXmlElement
- ) override;
-
- virtual css::uno::Sequence< css::uno::Reference< css::xml::wrapper::XXMLElementWrapper > > SAL_CALL getTargets(
- ) override;
-
- virtual void SAL_CALL setBinding(
- const css::uno::Reference< css::xml::crypto::XUriBinding >& aUriBinding ) override;
- virtual css::uno::Reference< css::xml::crypto::XUriBinding >
- SAL_CALL getBinding( ) override;
-
- virtual void SAL_CALL setStatus(
- css::xml::crypto::SecurityOperationStatus status ) override;
- virtual css::xml::crypto::SecurityOperationStatus
- SAL_CALL getStatus( ) override;
-
- //Methods from XServiceInfo
- virtual OUString SAL_CALL getImplementationName() override ;
-
- virtual sal_Bool SAL_CALL supportsService(
- const OUString& ServiceName
- ) override ;
-
- virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override ;
-
- //Helper for XServiceInfo
- static css::uno::Sequence< OUString > impl_getSupportedServiceNames() ;
-
- /// @throws css::uno::RuntimeException
- static OUString impl_getImplementationName() ;
-
- //Helper for registry
- /// @throws css::uno::RuntimeException
- static css::uno::Reference< css::uno::XInterface > SAL_CALL impl_createInstance( const css::uno::Reference< css::lang::XMultiServiceFactory >& aServiceManager ) ;
-};
-
-#endif // _XMLSIGNATURETEMPLATE_XMLSECIMPL_HXX_
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */