blob: 8bb908498a8e9ffd273f03e6ce498aafe9bd60f8 [file] [log] [blame]
/**************************************************************
*
* 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.
*
*************************************************************/
//i20156 - new file for xmlsecurity module
/** -- idl definition -- **/
#ifndef __com_sun_star_security_XDocumentDigitalSignatures_idl_
#define __com_sun_star_security_XDocumentDigitalSignatures_idl_
#include <com/sun/star/uno/XInterface.idl>
#include <com/sun/star/io/XInputStream.idl>
#include <com/sun/star/io/XStream.idl>
#include <com/sun/star/embed/XStorage.idl>
#include <com/sun/star/security/DocumentSignatureInformation.idl>
#include <com/sun/star/security/XCertificate.idl>
module com { module sun { module star { module security {
/** interface for signing and verifying digital signatures in office documents
<p>
This interface can be used to digitaly sign different content in a office document.
It can also be used to verify digital signatures.
</p>
*/
interface XDocumentDigitalSignatures : com::sun::star::uno::XInterface
{
/** signs the content of the document including text and pictures.
<p>Macros will not be signed.</p>
*/
boolean signDocumentContent( [in] ::com::sun::star::embed::XStorage xStorage,
[in] ::com::sun::star::io::XStream xSignStream);
/** checks for digital signatures and their status.
<p>Only document content will be checked.</p>
*/
sequence< com::sun::star::security::DocumentSignatureInformation > verifyDocumentContentSignatures(
[in] ::com::sun::star::embed::XStorage xStorage,
[in] ::com::sun::star::io::XInputStream xSignInStream );
/** shows the digital signatures of the document content
*/
void showDocumentContentSignatures(
[in] ::com::sun::star::embed::XStorage xStorage,
[in] ::com::sun::star::io::XInputStream xSignInStream );
/** allows to get the default stream name for storing of the signature of
the document content.
*/
string getDocumentContentSignatureDefaultStreamName();
/** signs the content of the Scripting including macros and basic dialogs
<p>The rest of document content will not be signed.</p>
*/
boolean signScriptingContent( [in] ::com::sun::star::embed::XStorage xStorage,
[in] ::com::sun::star::io::XStream xSignStream);
/** checks for digital signatures and their status.
<p>Only Scripting content will be checked.</p>
*/
sequence< com::sun::star::security::DocumentSignatureInformation > verifyScriptingContentSignatures(
[in] ::com::sun::star::embed::XStorage xStorage,
[in] ::com::sun::star::io::XInputStream xSignInStream );
/** shows the digital signatures of the scripting content
*/
void showScriptingContentSignatures(
[in] ::com::sun::star::embed::XStorage xStorage,
[in] ::com::sun::star::io::XInputStream xSignInStream );
/** allows to get the default stream name for storing of the signature of
the scripting content.
*/
string getScriptingContentSignatureDefaultStreamName();
/** signs the full Package, which means everything in the storage excecpt the content of META-INF
*/
boolean signPackage( [in] ::com::sun::star::embed::XStorage Storage,
[in] ::com::sun::star::io::XStream xSignStream);
/** checks for digital signatures and their status.
<p>Only Package content will be checked.</p>
*/
sequence< com::sun::star::security::DocumentSignatureInformation > verifyPackageSignatures(
[in] ::com::sun::star::embed::XStorage Storage,
[in] ::com::sun::star::io::XInputStream xSignInStream );
/** shows the digital signatures of the package
*/
void showPackageSignatures(
[in] ::com::sun::star::embed::XStorage xStorage,
[in] ::com::sun::star::io::XInputStream xSignInStream );
/** allows to get the default stream name for storing of the signature of
the package.
*/
string getPackageSignatureDefaultStreamName();
void showCertificate( [in] com::sun::star::security::XCertificate Certificate );
/** manages trusted sources (Authors and pathes )
*/
void manageTrustedSources();
boolean isAuthorTrusted( [in] com::sun::star::security::XCertificate Author );
boolean isLocationTrusted( [in] string Location );
// These method should raise confirmation dialog, so it can not used from bad macros...
void addAuthorToTrustedSources( [in] com::sun::star::security::XCertificate Author );
void addLocationToTrustedSources( [in] string Location );
} ;
} ; } ; } ; } ;
#endif