161847f8eSopenharmony_ci/* 261847f8eSopenharmony_ci * Copyright (c) 2024 Huawei Device Co., Ltd. 361847f8eSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 461847f8eSopenharmony_ci * you may not use this file except in compliance with the License. 561847f8eSopenharmony_ci * You may obtain a copy of the License at 661847f8eSopenharmony_ci * 761847f8eSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 861847f8eSopenharmony_ci * 961847f8eSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 1061847f8eSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 1161847f8eSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1261847f8eSopenharmony_ci * See the License for the specific language governing permissions and 1361847f8eSopenharmony_ci * limitations under the License. 1461847f8eSopenharmony_ci */ 1561847f8eSopenharmony_ci 1661847f8eSopenharmony_ci/** 1761847f8eSopenharmony_ci * @file 1861847f8eSopenharmony_ci * @kit DeviceCertificateKit 1961847f8eSopenharmony_ci */ 2061847f8eSopenharmony_ci 2161847f8eSopenharmony_ciimport type common from '@ohos.app.ability.common'; 2261847f8eSopenharmony_ci 2361847f8eSopenharmony_ci/** 2461847f8eSopenharmony_ci * OpenHarmony Universal CertificateManager 2561847f8eSopenharmony_ci * 2661847f8eSopenharmony_ci * @namespace certificateManagerDialog 2761847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManagerDialog 2861847f8eSopenharmony_ci * @stagemodelonly 2961847f8eSopenharmony_ci * @since 13 3061847f8eSopenharmony_ci */ 3161847f8eSopenharmony_cideclare namespace certificateManagerDialog { 3261847f8eSopenharmony_ci /** 3361847f8eSopenharmony_ci * Enum for result code 3461847f8eSopenharmony_ci * 3561847f8eSopenharmony_ci * @enum { number } 3661847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManagerDialog 3761847f8eSopenharmony_ci * @stagemodelonly 3861847f8eSopenharmony_ci * @since 13 3961847f8eSopenharmony_ci */ 4061847f8eSopenharmony_ci export enum CertificateDialogErrorCode { 4161847f8eSopenharmony_ci 4261847f8eSopenharmony_ci /** 4361847f8eSopenharmony_ci * Indicates that internal error. 4461847f8eSopenharmony_ci * 4561847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManagerDialog 4661847f8eSopenharmony_ci * @stagemodelonly 4761847f8eSopenharmony_ci * @since 13 4861847f8eSopenharmony_ci */ 4961847f8eSopenharmony_ci ERROR_GENERIC = 29700001, 5061847f8eSopenharmony_ci 5161847f8eSopenharmony_ci /** 5261847f8eSopenharmony_ci * Indicates the user cancels the operation. 5361847f8eSopenharmony_ci * 5461847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManagerDialog 5561847f8eSopenharmony_ci * @stagemodelonly 5661847f8eSopenharmony_ci * @since 14 5761847f8eSopenharmony_ci */ 5861847f8eSopenharmony_ci ERROR_OPERATION_CANCELED = 29700002, 5961847f8eSopenharmony_ci 6061847f8eSopenharmony_ci /** 6161847f8eSopenharmony_ci * Indicates that the user operation failed in the certificate manager dialog, such as install certificate failed. 6261847f8eSopenharmony_ci * 6361847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManagerDialog 6461847f8eSopenharmony_ci * @stagemodelonly 6561847f8eSopenharmony_ci * @since 14 6661847f8eSopenharmony_ci */ 6761847f8eSopenharmony_ci ERROR_OPERATION_FAILED = 29700003, 6861847f8eSopenharmony_ci 6961847f8eSopenharmony_ci /** 7061847f8eSopenharmony_ci * Indicates that the API is not supported on this device. 7161847f8eSopenharmony_ci * 7261847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManagerDialog 7361847f8eSopenharmony_ci * @stagemodelonly 7461847f8eSopenharmony_ci * @since 14 7561847f8eSopenharmony_ci */ 7661847f8eSopenharmony_ci ERROR_DEVICE_NOT_SUPPORTED = 29700004 7761847f8eSopenharmony_ci } 7861847f8eSopenharmony_ci 7961847f8eSopenharmony_ci 8061847f8eSopenharmony_ci /** 8161847f8eSopenharmony_ci * Enum for page type of certificate manager dialog 8261847f8eSopenharmony_ci * 8361847f8eSopenharmony_ci * @enum { number } 8461847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManagerDialog 8561847f8eSopenharmony_ci * @stagemodelonly 8661847f8eSopenharmony_ci * @since 13 8761847f8eSopenharmony_ci */ 8861847f8eSopenharmony_ci export enum CertificateDialogPageType { 8961847f8eSopenharmony_ci /** 9061847f8eSopenharmony_ci * Indicates the main entrance page. 9161847f8eSopenharmony_ci * 9261847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManagerDialog 9361847f8eSopenharmony_ci * @stagemodelonly 9461847f8eSopenharmony_ci * @since 13 9561847f8eSopenharmony_ci */ 9661847f8eSopenharmony_ci PAGE_MAIN = 1, 9761847f8eSopenharmony_ci 9861847f8eSopenharmony_ci /** 9961847f8eSopenharmony_ci * Indicates the CA certificate list page. 10061847f8eSopenharmony_ci * 10161847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManagerDialog 10261847f8eSopenharmony_ci * @stagemodelonly 10361847f8eSopenharmony_ci * @since 13 10461847f8eSopenharmony_ci */ 10561847f8eSopenharmony_ci PAGE_CA_CERTIFICATE = 2, 10661847f8eSopenharmony_ci 10761847f8eSopenharmony_ci /** 10861847f8eSopenharmony_ci * Indicates the Credential list page. 10961847f8eSopenharmony_ci * 11061847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManagerDialog 11161847f8eSopenharmony_ci * @stagemodelonly 11261847f8eSopenharmony_ci * @since 13 11361847f8eSopenharmony_ci */ 11461847f8eSopenharmony_ci PAGE_CREDENTIAL = 3, 11561847f8eSopenharmony_ci 11661847f8eSopenharmony_ci /** 11761847f8eSopenharmony_ci * Indicates the install certificate page. 11861847f8eSopenharmony_ci * 11961847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManagerDialog 12061847f8eSopenharmony_ci * @stagemodelonly 12161847f8eSopenharmony_ci * @since 13 12261847f8eSopenharmony_ci */ 12361847f8eSopenharmony_ci PAGE_INSTALL_CERTIFICATE = 4 12461847f8eSopenharmony_ci } 12561847f8eSopenharmony_ci 12661847f8eSopenharmony_ci /** 12761847f8eSopenharmony_ci * open certificate manager dialog and show the specified page. 12861847f8eSopenharmony_ci * 12961847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_CERT_MANAGER 13061847f8eSopenharmony_ci * @param { common.Context } context - Hap context information. 13161847f8eSopenharmony_ci * @param { CertificateDialogPageType } pageType - Indicates page type. 13261847f8eSopenharmony_ci * @returns { Promise<void> } The promise returned by the function. 13361847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. 13461847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 13561847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 13661847f8eSopenharmony_ci * @throws { BusinessError } 29700001 - Internal error. 13761847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManagerDialog 13861847f8eSopenharmony_ci * @stagemodelonly 13961847f8eSopenharmony_ci * @since 13 14061847f8eSopenharmony_ci */ 14161847f8eSopenharmony_ci function openCertificateManagerDialog(context: common.Context, pageType: CertificateDialogPageType): Promise<void>; 14261847f8eSopenharmony_ci 14361847f8eSopenharmony_ci 14461847f8eSopenharmony_ci 14561847f8eSopenharmony_ci /** 14661847f8eSopenharmony_ci * Enum for certificate type 14761847f8eSopenharmony_ci * 14861847f8eSopenharmony_ci * @enum { number } 14961847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManagerDialog 15061847f8eSopenharmony_ci * @stagemodelonly 15161847f8eSopenharmony_ci * @since 14 15261847f8eSopenharmony_ci */ 15361847f8eSopenharmony_ci export enum CertificateType { 15461847f8eSopenharmony_ci /** 15561847f8eSopenharmony_ci * Indicates CA certificate. 15661847f8eSopenharmony_ci * 15761847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManagerDialog 15861847f8eSopenharmony_ci * @stagemodelonly 15961847f8eSopenharmony_ci * @since 14 16061847f8eSopenharmony_ci */ 16161847f8eSopenharmony_ci CA_CERT = 1 16261847f8eSopenharmony_ci } 16361847f8eSopenharmony_ci 16461847f8eSopenharmony_ci /** 16561847f8eSopenharmony_ci * Enum for certificate scope 16661847f8eSopenharmony_ci * 16761847f8eSopenharmony_ci * @enum { number } 16861847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManagerDialog 16961847f8eSopenharmony_ci * @stagemodelonly 17061847f8eSopenharmony_ci * @since 14 17161847f8eSopenharmony_ci */ 17261847f8eSopenharmony_ci export enum CertificateScope { 17361847f8eSopenharmony_ci /** 17461847f8eSopenharmony_ci * Indicates the certificate is for current user. 17561847f8eSopenharmony_ci * 17661847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManagerDialog 17761847f8eSopenharmony_ci * @stagemodelonly 17861847f8eSopenharmony_ci * @since 14 17961847f8eSopenharmony_ci */ 18061847f8eSopenharmony_ci CURRENT_USER = 1 18161847f8eSopenharmony_ci } 18261847f8eSopenharmony_ci 18361847f8eSopenharmony_ci /** 18461847f8eSopenharmony_ci * open install certificate dialog. 18561847f8eSopenharmony_ci * 18661847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_CERT_MANAGER 18761847f8eSopenharmony_ci * @param { common.Context } context - Hap context information 18861847f8eSopenharmony_ci * @param { CertificateType } certType - Indicates the type of certificate to be installed. 18961847f8eSopenharmony_ci * @param { CertificateScope } certScope - Indicates the user scope of certificate to be installed. 19061847f8eSopenharmony_ci * @param { Uint8Array } cert - Indicates the contents of the certificate file to be installed. 19161847f8eSopenharmony_ci * @returns { Promise<string> } The uri of installed certificate. 19261847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. 19361847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 19461847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 19561847f8eSopenharmony_ci * @throws { BusinessError } 29700001 - Internal error. 19661847f8eSopenharmony_ci * @throws { BusinessError } 29700002 - The user cancels the installation operation. 19761847f8eSopenharmony_ci * @throws { BusinessError } 29700003 - The user install certificate failed in the certificate manager dialog. 19861847f8eSopenharmony_ci * @throws { BusinessError } 29700004 - The API is not supported on this device. 19961847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManagerDialog 20061847f8eSopenharmony_ci * @stagemodelonly 20161847f8eSopenharmony_ci * @since 14 20261847f8eSopenharmony_ci */ 20361847f8eSopenharmony_ci function openInstallCertificateDialog(context: common.Context, certType: CertificateType, certScope: CertificateScope, cert: Uint8Array): Promise<string>; 20461847f8eSopenharmony_ci 20561847f8eSopenharmony_ci} 20661847f8eSopenharmony_ci 20761847f8eSopenharmony_ciexport default certificateManagerDialog; 208