/************************************************************** * * 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 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the 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