summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/embed/XEncryptionProtectedStorage.idl
diff options
context:
space:
mode:
Diffstat (limited to 'offapi/com/sun/star/embed/XEncryptionProtectedStorage.idl')
-rw-r--r--offapi/com/sun/star/embed/XEncryptionProtectedStorage.idl125
1 files changed, 125 insertions, 0 deletions
diff --git a/offapi/com/sun/star/embed/XEncryptionProtectedStorage.idl b/offapi/com/sun/star/embed/XEncryptionProtectedStorage.idl
new file mode 100644
index 000000000..ecba64d51
--- /dev/null
+++ b/offapi/com/sun/star/embed/XEncryptionProtectedStorage.idl
@@ -0,0 +1,125 @@
+/* -*- 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 __com_sun_star_embed_XEncryptionProtectedStorage_idl__
+#define __com_sun_star_embed_XEncryptionProtectedStorage_idl__
+
+#include <com/sun/star/embed/XEncryptionProtectedSource2.idl>
+#include <com/sun/star/beans/NamedValue.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/xml/crypto/DigestID.idl>
+#include <com/sun/star/xml/crypto/CipherID.idl>
+
+
+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
+ com::sun::star::xml:crypto::DigestID.
+ </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
+ com::sun::star::xml:crypto::CipherID.
+ </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
+ com::sun::star::xml:crypto::DigestID.
+ </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();
+
+ /** set OpenPGP-specific encryption properties
+
+ <p>
+ When provided, switch ODF package encryption to OpenPGP.
+ </p>
+ <p>
+ For each recipient, add one sequence of named values, each of
+ the same structure. The following values could be part of that
+ provided sequence:
+ </p>
+ <dl>
+ <dt>KeyId</dt>
+ <dd>
+ specifies OpenPGP key ID or fingerprint of the public
+ key used to encrypt this session key against
+ </dd>
+ <dt>KeyPacket</dt>
+ <dd>
+ (optional) public key packet of the key used to encrypt
+ </dd>
+ <dt>CipherValue</dt>
+ <dd>
+ OpenPGP-encrypted session key for this recipient
+ </dd>
+ </dl>
+
+ @since LibreOffice 6.0
+ */
+ void setGpgProperties( [in] sequence< sequence< ::com::sun::star::beans::NamedValue > > aProps )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */