diff options
author | Malte Timmermann <mt@openoffice.org> | 2004-07-12 12:15:31 +0000 |
---|---|---|
committer | Malte Timmermann <mt@openoffice.org> | 2004-07-12 12:15:31 +0000 |
commit | dacd1d7e88dc6d9b44c05685e0a2b256606b39c9 (patch) | |
tree | d080282db103de69bcfa3d6812677d67751f0f7d /xmlsecurity/source/xmlsec/certificateextension_xmlsecimpl.cxx | |
parent | 22b822e1e0528b1980830135358d609407982f63 (diff) |
libxmlsec
Diffstat (limited to 'xmlsecurity/source/xmlsec/certificateextension_xmlsecimpl.cxx')
-rw-r--r-- | xmlsecurity/source/xmlsec/certificateextension_xmlsecimpl.cxx | 134 |
1 files changed, 134 insertions, 0 deletions
diff --git a/xmlsecurity/source/xmlsec/certificateextension_xmlsecimpl.cxx b/xmlsecurity/source/xmlsec/certificateextension_xmlsecimpl.cxx new file mode 100644 index 000000000..b52b7f003 --- /dev/null +++ b/xmlsecurity/source/xmlsec/certificateextension_xmlsecimpl.cxx @@ -0,0 +1,134 @@ +/************************************************************************* + * + * $RCSfile: certificateextension_xmlsecimpl.cxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: mt $ $Date: 2004-07-12 13:15:20 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef _SAL_CONFIG_H_ +#include <sal/config.h> +#endif + +#ifndef _RTL_UUID_H_ +#include <rtl/uuid.h> +#endif + +#ifndef _certificateextension_nssimpl_hxx_ +#include "certificateextension_xmlsecimpl.hxx" +#endif + +using namespace ::com::sun::star::uno ; +using ::rtl::OUString ; + +using ::com::sun::star::security::XCertificateExtension ; + +CertificateExtension_XmlSecImpl :: CertificateExtension_XmlSecImpl() : + m_critical( sal_False ) , + m_xExtnId() , + m_xExtnValue() +{ +} + +CertificateExtension_XmlSecImpl :: ~CertificateExtension_XmlSecImpl() { +} + + +//Methods from XCertificateExtension +sal_Bool SAL_CALL CertificateExtension_XmlSecImpl :: isCritical() throw( ::com::sun::star::uno::RuntimeException ) { + return m_critical ; +} + +::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL CertificateExtension_XmlSecImpl :: getExtnId() throw( ::com::sun::star::uno::RuntimeException ) { + return m_xExtnId ; +} + +::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL CertificateExtension_XmlSecImpl :: getExtnValue() throw( ::com::sun::star::uno::RuntimeException ) { + return m_xExtnValue ; +} + +//Helper method +void CertificateExtension_XmlSecImpl :: setCertExtn( ::com::sun::star::uno::Sequence< sal_Int8 > extnId, ::com::sun::star::uno::Sequence< sal_Int8 > extnValue, sal_Bool critical ) { + m_critical = critical ; + m_xExtnId = extnId ; + m_xExtnValue = extnValue ; +} + +void CertificateExtension_XmlSecImpl :: setCertExtn( unsigned char* value, unsigned int vlen, unsigned char* id, unsigned int idlen, sal_Bool critical ) { + unsigned int i ; + if( value != NULL && vlen != 0 ) { + Sequence< sal_Int8 > extnv( vlen ) ; + for( i = 0; i < vlen ; i ++ ) + extnv[i] = *( value + i ) ; + + m_xExtnValue = extnv ; + } else { + m_xExtnValue = NULL ; + } + + if( id != NULL && idlen != 0 ) { + Sequence< sal_Int8 > extnId( idlen ) ; + for( i = 0; i < idlen ; i ++ ) + extnId[i] = *( id + i ) ; + + m_xExtnId = extnId ; + } else { + m_xExtnId = NULL ; + } + + m_critical = critical ; +} + |