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