diff options
3 files changed, 103 insertions, 20 deletions
diff --git a/xmlsecurity/source/xmlsec/mscrypt/seinitializer_mscryptimpl.cxx b/xmlsecurity/source/xmlsec/mscrypt/seinitializer_mscryptimpl.cxx index a526634c6e0a..98f0d87fc338 100644 --- a/xmlsecurity/source/xmlsec/mscrypt/seinitializer_mscryptimpl.cxx +++ b/xmlsecurity/source/xmlsec/mscrypt/seinitializer_mscryptimpl.cxx @@ -2,9 +2,9 @@ * * $RCSfile: seinitializer_mscryptimpl.cxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: mt $ $Date: 2004-07-12 13:15:21 $ + * last change: $Author: vg $ $Date: 2005-03-10 18:10:32 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -177,7 +177,7 @@ cssu::Reference< cssxc::XXMLSecurityContext > SAL_CALL return NULL; } - xSecCtx->setSecurityEnvironment( xSecEnv ) ; + xSecCtx->setDefaultSecurityEnvironmentIndex(xSecCtx->addSecurityEnvironment( xSecEnv )) ; return xSecCtx; } catch( cssu::Exception& ) diff --git a/xmlsecurity/source/xmlsec/mscrypt/xmlsecuritycontext_mscryptimpl.cxx b/xmlsecurity/source/xmlsec/mscrypt/xmlsecuritycontext_mscryptimpl.cxx index 41119ad96eab..6121c618db39 100644 --- a/xmlsecurity/source/xmlsec/mscrypt/xmlsecuritycontext_mscryptimpl.cxx +++ b/xmlsecurity/source/xmlsec/mscrypt/xmlsecuritycontext_mscryptimpl.cxx @@ -2,9 +2,9 @@ * * $RCSfile: xmlsecuritycontext_mscryptimpl.cxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: mt $ $Date: 2004-07-12 13:15:22 $ + * last change: $Author: vg $ $Date: 2005-03-10 18:11:27 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -93,7 +93,11 @@ using ::rtl::OUString ; using ::com::sun::star::xml::crypto::XSecurityEnvironment ; using ::com::sun::star::xml::crypto::XXMLSecurityContext ; -XMLSecurityContext_MSCryptImpl :: XMLSecurityContext_MSCryptImpl( const Reference< XMultiServiceFactory >& aFactory ) : m_pKeysMngr( NULL ) , m_xServiceManager( aFactory ) , m_xSecurityEnvironment( NULL ) { +XMLSecurityContext_MSCryptImpl :: XMLSecurityContext_MSCryptImpl( const Reference< XMultiServiceFactory >& aFactory ) + ://m_pKeysMngr( NULL ) , + m_xServiceManager( aFactory ), + m_xSecurityEnvironment( NULL ) +{ //Init xmlsec library if( xmlSecInit() < 0 ) { throw RuntimeException() ; @@ -114,15 +118,65 @@ XMLSecurityContext_MSCryptImpl :: XMLSecurityContext_MSCryptImpl( const Referenc } XMLSecurityContext_MSCryptImpl :: ~XMLSecurityContext_MSCryptImpl() { - if( m_pKeysMngr != NULL ) { - xmlSecKeysMngrDestroy( m_pKeysMngr ) ; - } - xmlDisableStreamInputCallbacks() ; xmlSecCryptoShutdown() ; xmlSecShutdown() ; } +//i39448 : new methods +sal_Int32 SAL_CALL XMLSecurityContext_MSCryptImpl::addSecurityEnvironment( + const ::com::sun::star::uno::Reference< ::com::sun::star::xml::crypto::XSecurityEnvironment >& aSecurityEnvironment) + throw (::com::sun::star::security::SecurityInfrastructureException, ::com::sun::star::uno::RuntimeException) +{ + if( !aSecurityEnvironment.is() ) + { + throw RuntimeException() ; + } + + m_xSecurityEnvironment = aSecurityEnvironment; + + return 0; +} + + +sal_Int32 SAL_CALL XMLSecurityContext_MSCryptImpl::getSecurityEnvironmentNumber( ) + throw (::com::sun::star::uno::RuntimeException) +{ + return 1; +} + +::com::sun::star::uno::Reference< ::com::sun::star::xml::crypto::XSecurityEnvironment > SAL_CALL + XMLSecurityContext_MSCryptImpl::getSecurityEnvironmentByIndex( sal_Int32 index ) + throw (::com::sun::star::uno::RuntimeException) +{ + if (index == 0) + { + return m_xSecurityEnvironment; + } + else + throw RuntimeException() ; +} + +::com::sun::star::uno::Reference< ::com::sun::star::xml::crypto::XSecurityEnvironment > SAL_CALL + XMLSecurityContext_MSCryptImpl::getSecurityEnvironment( ) + throw (::com::sun::star::uno::RuntimeException) +{ + return m_xSecurityEnvironment; +} + +sal_Int32 SAL_CALL XMLSecurityContext_MSCryptImpl::getDefaultSecurityEnvironmentIndex( ) + throw (::com::sun::star::uno::RuntimeException) +{ + return 0; +} + +void SAL_CALL XMLSecurityContext_MSCryptImpl::setDefaultSecurityEnvironmentIndex( sal_Int32 nDefaultEnvIndex ) + throw (::com::sun::star::uno::RuntimeException) +{ + //dummy +} + +#if 0 /* XXMLSecurityContext */ void SAL_CALL XMLSecurityContext_MSCryptImpl :: setSecurityEnvironment( const Reference< XSecurityEnvironment >& aSecurityEnvironment ) throw( com::sun::star::security::SecurityInfrastructureException ) { HCERTSTORE hkeyStore ; @@ -240,6 +294,7 @@ Reference< XSecurityEnvironment > SAL_CALL XMLSecurityContext_MSCryptImpl :: get { return m_xSecurityEnvironment ; } +#endif /* XInitialization */ void SAL_CALL XMLSecurityContext_MSCryptImpl :: initialize( const Sequence< Any >& aArguments ) throw( Exception, RuntimeException ) { @@ -291,6 +346,7 @@ Reference< XSingleServiceFactory > XMLSecurityContext_MSCryptImpl :: impl_create return ::cppu::createSingleFactory( aServiceManager , impl_getImplementationName() , impl_createInstance , impl_getSupportedServiceNames() ) ; } +#if 0 /* XUnoTunnel */ sal_Int64 SAL_CALL XMLSecurityContext_MSCryptImpl :: getSomething( const Sequence< sal_Int8 >& aIdentifier ) throw (RuntimeException) @@ -328,4 +384,5 @@ XMLSecurityContext_MSCryptImpl* XMLSecurityContext_MSCryptImpl :: getImplementat xmlSecKeysMngrPtr XMLSecurityContext_MSCryptImpl :: keysManager() throw( Exception, RuntimeException ) { return m_pKeysMngr ; } +#endif diff --git a/xmlsecurity/source/xmlsec/mscrypt/xmlsecuritycontext_mscryptimpl.hxx b/xmlsecurity/source/xmlsec/mscrypt/xmlsecuritycontext_mscryptimpl.hxx index bc8143350c27..4cb4a30dfe2c 100644 --- a/xmlsecurity/source/xmlsec/mscrypt/xmlsecuritycontext_mscryptimpl.hxx +++ b/xmlsecurity/source/xmlsec/mscrypt/xmlsecuritycontext_mscryptimpl.hxx @@ -2,9 +2,9 @@ * * $RCSfile: xmlsecuritycontext_mscryptimpl.hxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: mt $ $Date: 2004-07-12 13:15:22 $ + * last change: $Author: vg $ $Date: 2005-03-10 18:11:41 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -74,8 +74,8 @@ #include <cppuhelper/factory.hxx> #endif -#ifndef _CPPUHELPER_IMPLBASE4_HXX_ -#include <cppuhelper/implbase4.hxx> +#ifndef _CPPUHELPER_IMPLBASE3_HXX_ +#include <cppuhelper/implbase3.hxx> #endif #ifndef _COM_SUN_STAR_UNO_EXCEPTION_HPP_ @@ -110,16 +110,15 @@ #include <com/sun/star/xml/crypto/XXMLSecurityContext.hpp> #endif -#include "xmlsec/xmlsec.h" +//#include "xmlsec/xmlsec.h" -class XMLSecurityContext_MSCryptImpl : public ::cppu::WeakImplHelper4< +class XMLSecurityContext_MSCryptImpl : public ::cppu::WeakImplHelper3< ::com::sun::star::xml::crypto::XXMLSecurityContext , ::com::sun::star::lang::XInitialization , - ::com::sun::star::lang::XServiceInfo , - ::com::sun::star::lang::XUnoTunnel > + ::com::sun::star::lang::XServiceInfo > { private : - xmlSecKeysMngrPtr m_pKeysMngr ; + //xmlSecKeysMngrPtr m_pKeysMngr ; ::com::sun::star::uno::Reference< ::com::sun::star::xml::crypto::XSecurityEnvironment > m_xSecurityEnvironment ; ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > m_xServiceManager ; @@ -128,12 +127,37 @@ class XMLSecurityContext_MSCryptImpl : public ::cppu::WeakImplHelper4< virtual ~XMLSecurityContext_MSCryptImpl() ; //Methods from XXMLSecurityContext + virtual sal_Int32 SAL_CALL addSecurityEnvironment( + const ::com::sun::star::uno::Reference< ::com::sun::star::xml::crypto::XSecurityEnvironment >& aSecurityEnvironment + ) throw (::com::sun::star::security::SecurityInfrastructureException, ::com::sun::star::uno::RuntimeException); + + virtual ::sal_Int32 SAL_CALL getSecurityEnvironmentNumber( ) + throw (::com::sun::star::uno::RuntimeException); + + virtual ::com::sun::star::uno::Reference< + ::com::sun::star::xml::crypto::XSecurityEnvironment > SAL_CALL + getSecurityEnvironmentByIndex( ::sal_Int32 index ) + throw (::com::sun::star::uno::RuntimeException); + + virtual ::com::sun::star::uno::Reference< + ::com::sun::star::xml::crypto::XSecurityEnvironment > SAL_CALL + getSecurityEnvironment( ) + throw (::com::sun::star::uno::RuntimeException); + + virtual ::sal_Int32 SAL_CALL getDefaultSecurityEnvironmentIndex( ) + throw (::com::sun::star::uno::RuntimeException); + + virtual void SAL_CALL setDefaultSecurityEnvironmentIndex( sal_Int32 nDefaultEnvIndex ) + throw (::com::sun::star::uno::RuntimeException); + +#if 0 virtual void SAL_CALL setSecurityEnvironment( const ::com::sun::star::uno::Reference< ::com::sun::star::xml::crypto::XSecurityEnvironment >& aSecurityEnvironment ) throw( com::sun::star::security::SecurityInfrastructureException) ; virtual ::com::sun::star::uno::Reference< ::com::sun::star::xml::crypto::XSecurityEnvironment > SAL_CALL getSecurityEnvironment() throw(::com::sun::star::uno::RuntimeException); +#endif //Methods from XInitialization virtual void SAL_CALL initialize( @@ -159,15 +183,17 @@ class XMLSecurityContext_MSCryptImpl : public ::cppu::WeakImplHelper4< static ::com::sun::star::uno::Reference< ::com::sun::star::lang::XSingleServiceFactory > impl_createFactory( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& aServiceManager ) ; +#if 0 //Methods from XUnoTunnel virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& aIdentifier ) throw (com::sun::star::uno::RuntimeException); static const ::com::sun::star::uno::Sequence< sal_Int8 >& getUnoTunnelId() ; static XMLSecurityContext_MSCryptImpl* getImplementation( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > xObj ) ; +#endif //Native mehtods - virtual xmlSecKeysMngrPtr keysManager() throw( ::com::sun::star::uno::Exception , ::com::sun::star::uno::RuntimeException ) ; + //virtual xmlSecKeysMngrPtr keysManager() throw( ::com::sun::star::uno::Exception , ::com::sun::star::uno::RuntimeException ) ; } ; #endif // _XMLSIGNATURECONTEXT_MSCRYPTIMPL_HXX_ |