/************************************************************** * * 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 #include #include #include #include #include module com { module sun { module star { module security { /** interface for signing and verifying digital signatures in office documents

This interface can be used to digitaly sign different content in a office document. It can also be used to verify digital signatures.

*/ interface XDocumentDigitalSignatures : com::sun::star::uno::XInterface { /** signs the content of the document including text and pictures.

Macros will not be signed.

*/ boolean signDocumentContent( [in] ::com::sun::star::embed::XStorage xStorage, [in] ::com::sun::star::io::XStream xSignStream); /** checks for digital signatures and their status.

Only document content will be checked.

*/ 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

The rest of document content will not be signed.

*/ boolean signScriptingContent( [in] ::com::sun::star::embed::XStorage xStorage, [in] ::com::sun::star::io::XStream xSignStream); /** checks for digital signatures and their status.

Only Scripting content will be checked.

*/ 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.

Only Package content will be checked.

*/ 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