diff options
author | Mikhail Voytenko <mav@openoffice.org> | 2011-03-09 17:29:09 +0100 |
---|---|---|
committer | Mikhail Voytenko <mav@openoffice.org> | 2011-03-09 17:29:09 +0100 |
commit | 92c231e882e4e788259fbae6a793bb2699c059bb (patch) | |
tree | b57e63cc9ce41955c6010d60e7a5307644a55c66 /offapi | |
parent | aa2fc0e7863f1acd4712f59a10257ecdddc885f8 (diff) |
mav60: #164341# support AES encryption
Diffstat (limited to 'offapi')
-rw-r--r-- | offapi/com/sun/star/embed/Storage.idl | 1 | ||||
-rw-r--r-- | offapi/com/sun/star/embed/XEncryptionProtectedSource2.idl | 12 | ||||
-rw-r--r-- | offapi/com/sun/star/embed/XEncryptionProtectedStorage.idl | 120 | ||||
-rw-r--r-- | offapi/com/sun/star/embed/makefile.mk | 1 | ||||
-rw-r--r-- | offapi/com/sun/star/xml/crypto/CipherID.idl | 60 | ||||
-rw-r--r-- | offapi/com/sun/star/xml/crypto/DigestID.idl | 72 | ||||
-rw-r--r-- | offapi/com/sun/star/xml/crypto/SEInitializer.idl | 16 | ||||
-rw-r--r-- | offapi/com/sun/star/xml/crypto/XCipherContext.idl | 89 | ||||
-rw-r--r-- | offapi/com/sun/star/xml/crypto/XCipherContextSupplier.idl | 87 | ||||
-rw-r--r-- | offapi/com/sun/star/xml/crypto/XDigestContext.idl | 74 | ||||
-rw-r--r-- | offapi/com/sun/star/xml/crypto/XDigestContextSupplier.idl | 77 | ||||
-rw-r--r-- | offapi/com/sun/star/xml/crypto/XSEInitializer.idl | 11 | ||||
-rw-r--r-- | offapi/com/sun/star/xml/crypto/makefile.mk | 6 |
13 files changed, 599 insertions, 27 deletions
diff --git a/offapi/com/sun/star/embed/Storage.idl b/offapi/com/sun/star/embed/Storage.idl index d34d736cf5cb..8a793d513476 100644 --- a/offapi/com/sun/star/embed/Storage.idl +++ b/offapi/com/sun/star/embed/Storage.idl @@ -356,7 +356,6 @@ published service Storage </p> */ [property, optional, readonly] boolean HasNonEncryptedEntries; - }; //============================================================================ diff --git a/offapi/com/sun/star/embed/XEncryptionProtectedSource2.idl b/offapi/com/sun/star/embed/XEncryptionProtectedSource2.idl index e590a5764178..5930e8490678 100644 --- a/offapi/com/sun/star/embed/XEncryptionProtectedSource2.idl +++ b/offapi/com/sun/star/embed/XEncryptionProtectedSource2.idl @@ -41,17 +41,19 @@ module com { module sun { module star { module embed { //============================================================================ /** This interface allows to set a password for an object. + + @since OOo 3.4 */ -published interface XEncryptionProtectedSource2: XEncryptionProtectedSource +interface XEncryptionProtectedSource2: XEncryptionProtectedSource { // ----------------------------------------------------------------------- /** sets an encryption data for the object. - @param aEncryptionData - the new encryption data + @param aEncryptionData + the new encryption data - @throws ::com::sun::star::io::IOException - in case the data could not be set + @throws ::com::sun::star::io::IOException + in case the data could not be set */ void setEncryptionData( [in] sequence< ::com::sun::star::beans::NamedValue > aEncryptionData ) raises( ::com::sun::star::io::IOException ); diff --git a/offapi/com/sun/star/embed/XEncryptionProtectedStorage.idl b/offapi/com/sun/star/embed/XEncryptionProtectedStorage.idl new file mode 100644 index 000000000000..30ec5621f669 --- /dev/null +++ b/offapi/com/sun/star/embed/XEncryptionProtectedStorage.idl @@ -0,0 +1,120 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_embed_XEncryptionProtectedStorage_idl__ +#define __com_sun_star_embed_XEncryptionProtectedStorage_idl__ + +#ifndef __com_sun_star_embed_XEncryptionProtectedSource2_idl__ +#include <com/sun/star/embed/XEncryptionProtectedSource2.idl> +#endif + +#ifndef __com_sun_star_beans_NamedValue_idl__ +#include <com/sun/star/beans/NamedValue.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_xml_crypto_DigestID_idl__ +#include <com/sun/star/xml/crypto/DigestID.idl> +#endif + +#ifndef __com_sun_star_xml_crypto_CipherID_idl__ +#include <com/sun/star/xml/crypto/CipherID.idl> +#endif + +//============================================================================ + +module com { module sun { module star { module embed { + +//============================================================================ +/** This interface allows to set a password for an object. + + @since OOo 3.4 + */ +interface XEncryptionProtectedStorage: XEncryptionProtectedSource2 +{ + // ----------------------------------------------------------------------- + /** allows to set the encryption algorithms for the object. + <p> + The algorithms will of course be used only for streams that have been + marked to be encrypted. If no stream in the storage is marked to be + encrypted, the algorithms-related information may have no effect to + the result package. + </p> + + <p> + The following values could be part of the provided sequence: + </p> + <dl> + <dt>StartKeyGenerationAlgorithm</dt> + <dd> + specifies the algorithm that was used to generate + the EncryptionKey from the original password; in case + the contents should be decrypted, the algorithm might + be already known by the object; if a different one is + set an exception should be thrown to indicate the + error; it should take values from + <type scope="com::sun::star::xml:crypto">DigestID</type>. + </dd> + <dt>EncryptionAlgorithm</dt> + <dd> + specifies the algorithm that should be used to + encrypt/decrypt the contents; in case the contents + should be decrypted, the algorithm might be already + known by the object; if a different one is set + an exception should be thrown to indicate the error; + it should take values from + <type scope="com::sun::star::xml:crypto">CipherID</type>. + </dd> + <dt>ChecksumAlgorithm</dt> + <dd> + specifies the algorithm that was used to generate + the checksum of the encrypted data; in case + the contents should be decrypted, the algorithm might + be already known by the object; if a different one is + set an exception should be thrown to indicate the + error; it should take values from + <type scope="com::sun::star::xml:crypto">DigestID</type>. + </dd> + </dl> + */ + void setEncryptionAlgorithms( [in] sequence< ::com::sun::star::beans::NamedValue > aAlgorithms ) + raises( ::com::sun::star::lang::IllegalArgumentException ); + + // ----------------------------------------------------------------------- + /** allows to get the encryption algorithms of the object. + */ + sequence< ::com::sun::star::beans::NamedValue > getEncryptionAlgorithms(); +}; + +//============================================================================ + +}; }; }; }; + +#endif + diff --git a/offapi/com/sun/star/embed/makefile.mk b/offapi/com/sun/star/embed/makefile.mk index 8ee156af48ba..c142086cdbf8 100644 --- a/offapi/com/sun/star/embed/makefile.mk +++ b/offapi/com/sun/star/embed/makefile.mk @@ -78,6 +78,7 @@ IDLFILES=\ XLinkFactory.idl\ XEncryptionProtectedSource.idl\ XEncryptionProtectedSource2.idl\ + XEncryptionProtectedStorage.idl\ XInplaceClient.idl\ XInsertObjectDialog.idl\ XWindowSupplier.idl\ diff --git a/offapi/com/sun/star/xml/crypto/CipherID.idl b/offapi/com/sun/star/xml/crypto/CipherID.idl new file mode 100644 index 000000000000..ef9997c78009 --- /dev/null +++ b/offapi/com/sun/star/xml/crypto/CipherID.idl @@ -0,0 +1,60 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_xml_crypto_CipherID_idl__ +#define __com_sun_star_xml_crypto_CipherID_idl__ + + +//============================================================================ + +module com { module sun { module star { module xml { module crypto { + +//============================================================================ +/** The constant set contains identifiers of supported cipher-creation + algorithms. + + @see <type>XCipherContextSupplier</type> + @since OOo 3.4 +*/ +constants CipherID +{ + //------------------------------------------------------------------------ + /** identifier of AES algorithm in CBC mode + */ + const long AES_CBC = 1; + + //------------------------------------------------------------------------ + /** identifier of the Blowfish algorithm in 8-bit CFB mode + */ + const long BLOWFISH_CFB_8 = 2; +}; + +//============================================================================ + +}; }; }; }; }; + +#endif + diff --git a/offapi/com/sun/star/xml/crypto/DigestID.idl b/offapi/com/sun/star/xml/crypto/DigestID.idl new file mode 100644 index 000000000000..14eb822de2fd --- /dev/null +++ b/offapi/com/sun/star/xml/crypto/DigestID.idl @@ -0,0 +1,72 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_xml_crypto_DigestID_idl__ +#define __com_sun_star_xml_crypto_DigestID_idl__ + + +//============================================================================ + +module com { module sun { module star { module xml { module crypto { + +//============================================================================ +/** The constant set contains identifiers of supported digest-creation + algorithms. + + @see <type>XDigestContextSupplier</type> + @since OOo 3.4 +*/ +constants DigestID +{ + //------------------------------------------------------------------------ + /** identifier of SHA-1 algorithm + */ + const long SHA1 = 1; + + //------------------------------------------------------------------------ + /** identifier of SHA-256 algorithm + */ + const long SHA256 = 2; + + //------------------------------------------------------------------------ + /** identifier of SHA-1 algorithm that is applied to the first kilobyte + of data. + */ + const long SHA1_1K = 3; + + //------------------------------------------------------------------------ + /** identifier of SHA-256 algorithm that is applied to the first kilobyte + of data. + */ + const long SHA256_1K = 4; +}; + +//============================================================================ + +}; }; }; }; }; + +#endif + diff --git a/offapi/com/sun/star/xml/crypto/SEInitializer.idl b/offapi/com/sun/star/xml/crypto/SEInitializer.idl index bf947f5555d0..239ef92c9693 100644 --- a/offapi/com/sun/star/xml/crypto/SEInitializer.idl +++ b/offapi/com/sun/star/xml/crypto/SEInitializer.idl @@ -25,19 +25,12 @@ * ************************************************************************/ -//i20156 - new file for xmlsecurity module - -/** -- idl definition -- **/ - #ifndef __com_sun_star_xml_crypto_seinitializer_idl_ #define __com_sun_star_xml_crypto_seinitializer_idl_ -#include <com/sun/star/uno/XInterface.idl> -#include <com/sun/star/uno/Exception.idl> - #include <com/sun/star/xml/crypto/XSEInitializer.idl> - -#include <com/sun/star/lang/XServiceInfo.idl> +#include <com/sun/star/xml/crypto/XDigestContextSupplier.idl> +#include <com/sun/star/xml/crypto/XCipherContextSupplier.idl> module com { module sun { module star { module xml { module crypto { @@ -45,8 +38,9 @@ module com { module sun { module star { module xml { module crypto { * Service of SEInitializer */ service SEInitializer { - interface com::sun::star::xml::crypto::XSEInitializer ; - interface com::sun::star::lang::XServiceInfo ; + interface ::com::sun::star::xml::crypto::XSEInitializer; + interface ::com::sun::star::xml::crypto::XDigestContextSupplier; + interface ::com::sun::star::xml::crypto::XCipherContextSupplier; }; } ; } ; } ; } ; } ; diff --git a/offapi/com/sun/star/xml/crypto/XCipherContext.idl b/offapi/com/sun/star/xml/crypto/XCipherContext.idl new file mode 100644 index 000000000000..d2c086163f93 --- /dev/null +++ b/offapi/com/sun/star/xml/crypto/XCipherContext.idl @@ -0,0 +1,89 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_xml_crypto_xciphercontext_idl_ +#define __com_sun_star_xml_crypto_xciphercontext_idl_ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_lang_DisposedException_idl__ +#include <com/sun/star/lang/DisposedException.idl> +#endif + +//============================================================================ + + module com { module sun { module star { module xml { module crypto { + +//============================================================================ +/** This interface allows to encrypt/decrypt data using the cipher context. + <p> + The algorithm as well as encryption data are specified on object creation. + </p> + + @see <type>XCipherContextSupplier</type> + @since OOo 3.4 + */ +interface XCipherContext : com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------ + /** encrypts/decrypts the data using the cipher. + <p> + Please have in mind, the cipher object state might depend from the + already encrypted/decrypted data ( it depends from the used + algorithm ). + </p> + + <p> + Whether the object does encryption or decryption is specified by + creation of the object. + </p> + + @param aData + data that should be encrypted/decrypted + */ + sequence<byte> convertWithCipherContext( [in] sequence< byte > aData ) + raises( ::com::sun::star::lang::IllegalArgumentException, + ::com::sun::star::lang::DisposedException ); + + //------------------------------------------------------------------------ + /** finalizes cipher and disposes context. + */ + sequence<byte> finalizeCipherContextAndDispose() + raises( ::com::sun::star::lang::DisposedException ); +}; + +//============================================================================ + +}; }; }; }; }; + +#endif + diff --git a/offapi/com/sun/star/xml/crypto/XCipherContextSupplier.idl b/offapi/com/sun/star/xml/crypto/XCipherContextSupplier.idl new file mode 100644 index 000000000000..c68b73115e64 --- /dev/null +++ b/offapi/com/sun/star/xml/crypto/XCipherContextSupplier.idl @@ -0,0 +1,87 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_xml_crypto_xciphercontextsupplier_idl_ +#define __com_sun_star_xml_crypto_xciphercontextsupplier_idl_ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_xml_crypto_XCipherContext_idl__ +#include <com/sun/star/xml/crypto/XCipherContext.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +//============================================================================ + + module com { module sun { module star { module xml { module crypto { + +//============================================================================ +/** This interface allows to get an object that allows to encrypt/decrypt data + using the specified algorithm. + + @since OOo 3.4 + */ +interface XCipherContextSupplier : com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------ + /** returns an object that allows to encrypt/decrypt data. + + @param nCipherID + the internal ID specifying the algorithm, + should take value from <type>CipherID</type> + + @param aKey + the key that should be used for the encryption + + @param aInitializationVector + the initialization vector that should be used for the encryption + + @param bEncryption + whether an encryption or decryption cipher should be created + <TRUE/> - Encryption + <FALSE/> - Decryption + + @param aParams + optional parameters that could be used to initialize the cipher, + + @throws ::com::sun::star::lang::IllegalArgumentException + one of provided arguments is illegal + */ + + XCipherContext getCipherContext( [in] long nCipherID, [in] sequence< byte > aKey, [in] sequence< byte > aInitializationVector, [in] boolean bEncryption, [in] any aParams ) + raises( ::com::sun::star::lang::IllegalArgumentException ); +}; + +//============================================================================ + +}; }; }; }; }; + +#endif diff --git a/offapi/com/sun/star/xml/crypto/XDigestContext.idl b/offapi/com/sun/star/xml/crypto/XDigestContext.idl new file mode 100644 index 000000000000..f6218d9b6eda --- /dev/null +++ b/offapi/com/sun/star/xml/crypto/XDigestContext.idl @@ -0,0 +1,74 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_xml_crypto_xdigestcontext_idl_ +#define __com_sun_star_xml_crypto_xdigestcontext_idl_ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_lang_DisposedException_idl__ +#include <com/sun/star/lang/DisposedException.idl> +#endif + +//============================================================================ + + module com { module sun { module star { module xml { module crypto { + +//============================================================================ +/** This interface allows to generate the digest. + <p> + The algorithm to generate the digest is specified on object creation. + </p> + + @see <type>XDigestContextSupplier</type> + @since OOo 3.4 + */ +interface XDigestContext : com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------ + /** update the digest with the given data. + + @param aData + data that should be used to update the digest + */ + void updateDigest( [in] sequence< byte > aData ) + raises( ::com::sun::star::lang::DisposedException ); + + //------------------------------------------------------------------------ + /** finalizes digest and disposes context. + */ + sequence<byte> finalizeDigestAndDispose() + raises( ::com::sun::star::lang::DisposedException ); +}; + +//============================================================================ + +}; }; }; }; }; + +#endif + diff --git a/offapi/com/sun/star/xml/crypto/XDigestContextSupplier.idl b/offapi/com/sun/star/xml/crypto/XDigestContextSupplier.idl new file mode 100644 index 000000000000..0ad940bc5182 --- /dev/null +++ b/offapi/com/sun/star/xml/crypto/XDigestContextSupplier.idl @@ -0,0 +1,77 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org 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 version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_xml_crypto_xdigestcontextsupplier_idl_ +#define __com_sun_star_xml_crypto_xdigestcontextsupplier_idl_ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_xml_crypto_XDigestContext_idl__ +#include <com/sun/star/xml/crypto/XDigestContext.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +//============================================================================ + + module com { module sun { module star { module xml { module crypto { + +//============================================================================ +/** This interface allows to get an object to generate a digest of a specified + format. + + @since OOo 3.4 + */ +interface XDigestContextSupplier : com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------ + /** returns an object that allows to generate the specified digest. + + @param nDigestID + the internal ID specifying the algorithm, + should take value from <type>DigestID</type> + + @param aParams + optional parameters that could be used to initialize the digest, + for example, it could contain a key and etc. + + @throws ::com::sun::star::lang::IllegalArgumentException + one of provided arguments is illegal + */ + XDigestContext getDigestContext( [in] long nDigestID, [in] any aParams ) + raises( ::com::sun::star::lang::IllegalArgumentException ); +}; + +//============================================================================ + +}; }; }; }; }; + +#endif + diff --git a/offapi/com/sun/star/xml/crypto/XSEInitializer.idl b/offapi/com/sun/star/xml/crypto/XSEInitializer.idl index 5d41d3a03575..726102ac2783 100644 --- a/offapi/com/sun/star/xml/crypto/XSEInitializer.idl +++ b/offapi/com/sun/star/xml/crypto/XSEInitializer.idl @@ -47,18 +47,9 @@ interface XSEInitializer : com::sun::star::uno::XInterface /** * Creates a security context. * - * @param certificateDatabase the file or directory of the key materials * @return the security context created */ - com::sun::star::xml::crypto::XXMLSecurityContext createSecurityContext( - [in] string certificateDatabase); - - /** - * Frees a security context. - * - * @param securityContext the security context to be freed - */ - void freeSecurityContext([in] com::sun::star::xml::crypto::XXMLSecurityContext securityContext); + com::sun::star::xml::crypto::XXMLSecurityContext createSecurityContext(); }; } ; } ; } ; } ; } ; diff --git a/offapi/com/sun/star/xml/crypto/makefile.mk b/offapi/com/sun/star/xml/crypto/makefile.mk index 4aa3957ac418..c03b2a76daf7 100644 --- a/offapi/com/sun/star/xml/crypto/makefile.mk +++ b/offapi/com/sun/star/xml/crypto/makefile.mk @@ -58,6 +58,12 @@ IDLFILES=\ XMLSignatureException.idl \ XMLEncryptionException.idl \ XUriBinding.idl \ + CipherID.idl \ + DigestID.idl \ + XCipherContext.idl \ + XCipherContextSupplier.idl \ + XDigestContext.idl \ + XDigestContextSupplier.idl \ SecurityOperationStatus.idl # ------------------------------------------------------------------ |