diff options
Diffstat (limited to 'offapi/com/sun/star/xml/crypto/XSecurityEnvironment.idl')
-rw-r--r-- | offapi/com/sun/star/xml/crypto/XSecurityEnvironment.idl | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/offapi/com/sun/star/xml/crypto/XSecurityEnvironment.idl b/offapi/com/sun/star/xml/crypto/XSecurityEnvironment.idl new file mode 100644 index 000000000..f3d1ddbf6 --- /dev/null +++ b/offapi/com/sun/star/xml/crypto/XSecurityEnvironment.idl @@ -0,0 +1,115 @@ +/* -*- 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_xml_crypto_xsecurityenvironment_idl_ +#define __com_sun_star_xml_crypto_xsecurityenvironment_idl_ + +#include <com/sun/star/uno/SecurityException.idl> +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/uno/Exception.idl> +#include <com/sun/star/security/XCertificate.idl> +#include <com/sun/star/security/CertificateCharacters.idl> +#include <com/sun/star/security/CertificateValidity.idl> + +module com { module sun { module star { module xml { module crypto { + +/** + * Interface of Security Environment + */ +interface XSecurityEnvironment : com::sun::star::uno::XInterface +{ + /** + * Get personal certificates from the environment + */ + sequence< com::sun::star::security::XCertificate > getPersonalCertificates() raises( com::sun::star::uno::SecurityException ) ; + + /** + * Get certificate from the environment by issuer name and serial number + */ + com::sun::star::security::XCertificate getCertificate( [in] string issuerName, [in] sequence< byte > serialNumber ) raises( com::sun::star::uno::SecurityException ) ; + + /** + * Build certificate path from a certain certificate + */ + sequence< com::sun::star::security::XCertificate > buildCertificatePath( [in] com::sun::star::security::XCertificate beginCert ) raises( com::sun::star::uno::SecurityException ) ; + + /** + * Create certificate interface from raw DER encoded certificate + */ + com::sun::star::security::XCertificate createCertificateFromRaw( [in] sequence< byte > rawCertificate ) raises( com::sun::star::uno::SecurityException ) ; + + /** + * Create certificate interface from a Base64 encoded certificate. + */ + com::sun::star::security::XCertificate createCertificateFromAscii( [in] string asciiCertificate ) raises( com::sun::star::uno::SecurityException ) ; + + /** + Verify a certificate. + + The method provides a way to verify a certificate. + @param xEECertificate + The certificate which is to be validated. + + @param intermediateCertificates + Additional certificates which can be used by the method in constructing + the certificate chain. The root certificate may also be contained. However, + the implementation must check if the root certificate is indeed trusted by + the user. + All entries of the sequence must be non-null references. + + @return + The validation status will returned as a bit-wise long, please refer to + CertificateValidity definition. + */ + long verifyCertificate( [in] com::sun::star::security::XCertificate xEECertificate, + [in] sequence< com::sun::star::security::XCertificate > intermediateCertificates) + raises( com::sun::star::uno::SecurityException ) ; + + /** + * Get a certificate characters. + * + * The method provides a way to get certificate characters like: + * 1. Whether or not the certificate have a private key in the user profile. + * 2. Whether or not the certificate is a trusted certificate. + * 3. Whether or not the certificate is a self-signed certificate. + * + * The certificate characters is defined as bit-wise long, please refer to + * CertificateCharacters definition. + */ + long getCertificateCharacters( [in] com::sun::star::security::XCertificate xCertificate ) raises( com::sun::star::uno::SecurityException ) ; + + /** + * Get the Environment detail information + */ + string getSecurityEnvironmentInformation ( ); + + /** + * List all certificates, private (as returned by getPersonalCertificates) as well as those of other people/orgas + * + * @since LibreOffice 6.0 + */ + sequence< com::sun::star::security::XCertificate > getAllCertificates() raises( com::sun::star::uno::SecurityException ) ; + +} ; + +} ; } ; } ; } ; } ; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |