/************************************************************************* * * 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 * * for a copy of the LGPLv3 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 digitally 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 except 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 paths ) */ 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