| /************************************************************** |
| * |
| * 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. |
| * |
| *************************************************************/ |
| |
| |
| |
| #ifndef __com_sun_star_xml_crypto_xsecurityenvironment_idl_ |
| #define __com_sun_star_xml_crypto_xsecurityenvironment_idl_ |
| |
| #ifndef __com_sun_star_uno_SecurityException_idl__ |
| #include <com/sun/star/uno/SecurityException.idl> |
| #endif |
| |
| #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 |
| */ |
| published interface XSecurityEnvironment : com::sun::star::uno::XInterface |
| { |
| /** |
| * Get personal certificate 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 infos |
| */ |
| string getSecurityEnvironmentInformation ( ); |
| |
| } ; |
| |
| } ; } ; } ; } ; } ; |
| |
| #endif |
| |