161847f8eSopenharmony_ci/* 261847f8eSopenharmony_ci * Copyright (c) 2023-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 { AsyncCallback } from './@ohos.base'; 2261847f8eSopenharmony_ci 2361847f8eSopenharmony_ci/** 2461847f8eSopenharmony_ci * OpenHarmony Universal CertificateManager 2561847f8eSopenharmony_ci * 2661847f8eSopenharmony_ci * @namespace certificateManager 2761847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 2861847f8eSopenharmony_ci * @since 11 2961847f8eSopenharmony_ci */ 3061847f8eSopenharmony_cideclare namespace certificateManager { 3161847f8eSopenharmony_ci /** 3261847f8eSopenharmony_ci * Enum for result code 3361847f8eSopenharmony_ci * 3461847f8eSopenharmony_ci * @enum { number } 3561847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 3661847f8eSopenharmony_ci * @since 11 3761847f8eSopenharmony_ci */ 3861847f8eSopenharmony_ci export enum CMErrorCode { 3961847f8eSopenharmony_ci /** 4061847f8eSopenharmony_ci * Indicates that the application has no permission to call the API. 4161847f8eSopenharmony_ci * 4261847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 4361847f8eSopenharmony_ci * @since 11 4461847f8eSopenharmony_ci */ 4561847f8eSopenharmony_ci CM_ERROR_NO_PERMISSION = 201, 4661847f8eSopenharmony_ci 4761847f8eSopenharmony_ci /** 4861847f8eSopenharmony_ci * Indicates that the application is not a system application. 4961847f8eSopenharmony_ci * 5061847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 5161847f8eSopenharmony_ci * @systemapi 5261847f8eSopenharmony_ci * @since 11 5361847f8eSopenharmony_ci */ 5461847f8eSopenharmony_ci CM_ERROR_NOT_SYSTEM_APP = 202, 5561847f8eSopenharmony_ci 5661847f8eSopenharmony_ci /** 5761847f8eSopenharmony_ci * Indicates that the input parameters are invalid. 5861847f8eSopenharmony_ci * 5961847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 6061847f8eSopenharmony_ci * @since 11 6161847f8eSopenharmony_ci */ 6261847f8eSopenharmony_ci CM_ERROR_INVALID_PARAMS = 401, 6361847f8eSopenharmony_ci 6461847f8eSopenharmony_ci /** 6561847f8eSopenharmony_ci * Indicates that internal error. 6661847f8eSopenharmony_ci * 6761847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 6861847f8eSopenharmony_ci * @since 11 6961847f8eSopenharmony_ci */ 7061847f8eSopenharmony_ci CM_ERROR_GENERIC = 17500001, 7161847f8eSopenharmony_ci 7261847f8eSopenharmony_ci /** 7361847f8eSopenharmony_ci * Indicates that the certificate does not exist. 7461847f8eSopenharmony_ci * 7561847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 7661847f8eSopenharmony_ci * @since 11 7761847f8eSopenharmony_ci */ 7861847f8eSopenharmony_ci CM_ERROR_NO_FOUND = 17500002, 7961847f8eSopenharmony_ci 8061847f8eSopenharmony_ci /** 8161847f8eSopenharmony_ci * Indicates that the keystore is in an invalid format or the keystore password is incorrect. 8261847f8eSopenharmony_ci * 8361847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 8461847f8eSopenharmony_ci * @since 11 8561847f8eSopenharmony_ci */ 8661847f8eSopenharmony_ci CM_ERROR_INCORRECT_FORMAT = 17500003, 8761847f8eSopenharmony_ci 8861847f8eSopenharmony_ci /** 8961847f8eSopenharmony_ci * Indicates that the number of certificates or credentials reaches the maximum allowed. 9061847f8eSopenharmony_ci * 9161847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 9261847f8eSopenharmony_ci * @since 12 9361847f8eSopenharmony_ci */ 9461847f8eSopenharmony_ci CM_ERROR_MAX_CERT_COUNT_REACHED = 17500004, 9561847f8eSopenharmony_ci 9661847f8eSopenharmony_ci /** 9761847f8eSopenharmony_ci * Indicates that the application is not authorized by the user. 9861847f8eSopenharmony_ci * 9961847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 10061847f8eSopenharmony_ci * @since 12 10161847f8eSopenharmony_ci */ 10261847f8eSopenharmony_ci CM_ERROR_NO_AUTHORIZATION = 17500005 10361847f8eSopenharmony_ci } 10461847f8eSopenharmony_ci 10561847f8eSopenharmony_ci /** 10661847f8eSopenharmony_ci * Provides the CertInfo type. 10761847f8eSopenharmony_ci * 10861847f8eSopenharmony_ci * @typedef CertInfo 10961847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 11061847f8eSopenharmony_ci * @since 11 11161847f8eSopenharmony_ci */ 11261847f8eSopenharmony_ci export interface CertInfo { 11361847f8eSopenharmony_ci /** 11461847f8eSopenharmony_ci * Indicates the uri of certificate. 11561847f8eSopenharmony_ci * 11661847f8eSopenharmony_ci * @type { string } 11761847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 11861847f8eSopenharmony_ci * @since 11 11961847f8eSopenharmony_ci */ 12061847f8eSopenharmony_ci uri: string; 12161847f8eSopenharmony_ci 12261847f8eSopenharmony_ci /** 12361847f8eSopenharmony_ci * Indicates the alias of certificate. 12461847f8eSopenharmony_ci * 12561847f8eSopenharmony_ci * @type { string } 12661847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 12761847f8eSopenharmony_ci * @since 11 12861847f8eSopenharmony_ci */ 12961847f8eSopenharmony_ci certAlias: string; 13061847f8eSopenharmony_ci 13161847f8eSopenharmony_ci /** 13261847f8eSopenharmony_ci * Indicates the state of certificate. 13361847f8eSopenharmony_ci * 13461847f8eSopenharmony_ci * @type { boolean } 13561847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 13661847f8eSopenharmony_ci * @since 11 13761847f8eSopenharmony_ci */ 13861847f8eSopenharmony_ci state: boolean; 13961847f8eSopenharmony_ci 14061847f8eSopenharmony_ci /** 14161847f8eSopenharmony_ci * Indicates the issuer name of certificate. 14261847f8eSopenharmony_ci * 14361847f8eSopenharmony_ci * @type { string } 14461847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 14561847f8eSopenharmony_ci * @since 11 14661847f8eSopenharmony_ci */ 14761847f8eSopenharmony_ci issuerName: string; 14861847f8eSopenharmony_ci 14961847f8eSopenharmony_ci /** 15061847f8eSopenharmony_ci * Indicates the subject name of certificate. 15161847f8eSopenharmony_ci * 15261847f8eSopenharmony_ci * @type { string } 15361847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 15461847f8eSopenharmony_ci * @since 11 15561847f8eSopenharmony_ci */ 15661847f8eSopenharmony_ci subjectName: string; 15761847f8eSopenharmony_ci 15861847f8eSopenharmony_ci /** 15961847f8eSopenharmony_ci * Indicates the serial number of certificate. 16061847f8eSopenharmony_ci * 16161847f8eSopenharmony_ci * @type { string } 16261847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 16361847f8eSopenharmony_ci * @since 11 16461847f8eSopenharmony_ci */ 16561847f8eSopenharmony_ci serial: string; 16661847f8eSopenharmony_ci 16761847f8eSopenharmony_ci /** 16861847f8eSopenharmony_ci * Indicates the not before time of certificate. 16961847f8eSopenharmony_ci * 17061847f8eSopenharmony_ci * @type { string } 17161847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 17261847f8eSopenharmony_ci * @since 11 17361847f8eSopenharmony_ci */ 17461847f8eSopenharmony_ci notBefore: string; 17561847f8eSopenharmony_ci 17661847f8eSopenharmony_ci /** 17761847f8eSopenharmony_ci * Indicates the not after time of certificate. 17861847f8eSopenharmony_ci * 17961847f8eSopenharmony_ci * @type { string } 18061847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 18161847f8eSopenharmony_ci * @since 11 18261847f8eSopenharmony_ci */ 18361847f8eSopenharmony_ci notAfter: string; 18461847f8eSopenharmony_ci 18561847f8eSopenharmony_ci /** 18661847f8eSopenharmony_ci * Indicates the fingerprint of certificate. 18761847f8eSopenharmony_ci * 18861847f8eSopenharmony_ci * @type { string } 18961847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 19061847f8eSopenharmony_ci * @since 11 19161847f8eSopenharmony_ci */ 19261847f8eSopenharmony_ci fingerprintSha256: string; 19361847f8eSopenharmony_ci 19461847f8eSopenharmony_ci /** 19561847f8eSopenharmony_ci * Indicates the certificate binary data. 19661847f8eSopenharmony_ci * 19761847f8eSopenharmony_ci * @type { Uint8Array } 19861847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 19961847f8eSopenharmony_ci * @since 11 20061847f8eSopenharmony_ci */ 20161847f8eSopenharmony_ci cert: Uint8Array; 20261847f8eSopenharmony_ci } 20361847f8eSopenharmony_ci 20461847f8eSopenharmony_ci /** 20561847f8eSopenharmony_ci * Provides the abstract Cert type. 20661847f8eSopenharmony_ci * 20761847f8eSopenharmony_ci * @typedef CertAbstract 20861847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 20961847f8eSopenharmony_ci * @since 11 21061847f8eSopenharmony_ci */ 21161847f8eSopenharmony_ci export interface CertAbstract { 21261847f8eSopenharmony_ci /** 21361847f8eSopenharmony_ci * Indicates the uri of certificate. 21461847f8eSopenharmony_ci * 21561847f8eSopenharmony_ci * @type { string } 21661847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 21761847f8eSopenharmony_ci * @since 11 21861847f8eSopenharmony_ci */ 21961847f8eSopenharmony_ci uri: string; 22061847f8eSopenharmony_ci 22161847f8eSopenharmony_ci /** 22261847f8eSopenharmony_ci * Indicates the alias of certificate. 22361847f8eSopenharmony_ci * 22461847f8eSopenharmony_ci * @type { string } 22561847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 22661847f8eSopenharmony_ci * @since 11 22761847f8eSopenharmony_ci */ 22861847f8eSopenharmony_ci certAlias: string; 22961847f8eSopenharmony_ci 23061847f8eSopenharmony_ci /** 23161847f8eSopenharmony_ci * Indicates the state of certificate. 23261847f8eSopenharmony_ci * 23361847f8eSopenharmony_ci * @type { boolean } 23461847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 23561847f8eSopenharmony_ci * @since 11 23661847f8eSopenharmony_ci */ 23761847f8eSopenharmony_ci state: boolean; 23861847f8eSopenharmony_ci 23961847f8eSopenharmony_ci /** 24061847f8eSopenharmony_ci * Indicates the subject name of certificate. 24161847f8eSopenharmony_ci * 24261847f8eSopenharmony_ci * @type { string } 24361847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 24461847f8eSopenharmony_ci * @since 11 24561847f8eSopenharmony_ci */ 24661847f8eSopenharmony_ci subjectName: string; 24761847f8eSopenharmony_ci } 24861847f8eSopenharmony_ci 24961847f8eSopenharmony_ci /** 25061847f8eSopenharmony_ci * Provides the Credential type. 25161847f8eSopenharmony_ci * 25261847f8eSopenharmony_ci * @typedef Credential 25361847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 25461847f8eSopenharmony_ci * @since 11 25561847f8eSopenharmony_ci */ 25661847f8eSopenharmony_ci export interface Credential { 25761847f8eSopenharmony_ci /** 25861847f8eSopenharmony_ci * Indicates the type of Credential. 25961847f8eSopenharmony_ci * 26061847f8eSopenharmony_ci * @type { string } 26161847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 26261847f8eSopenharmony_ci * @since 11 26361847f8eSopenharmony_ci */ 26461847f8eSopenharmony_ci type: string; 26561847f8eSopenharmony_ci 26661847f8eSopenharmony_ci /** 26761847f8eSopenharmony_ci * Indicates the alias of Credential. 26861847f8eSopenharmony_ci * 26961847f8eSopenharmony_ci * @type { string } 27061847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 27161847f8eSopenharmony_ci * @since 11 27261847f8eSopenharmony_ci */ 27361847f8eSopenharmony_ci alias: string; 27461847f8eSopenharmony_ci 27561847f8eSopenharmony_ci /** 27661847f8eSopenharmony_ci * Indicates the uri of Credential. 27761847f8eSopenharmony_ci * 27861847f8eSopenharmony_ci * @type { string } 27961847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 28061847f8eSopenharmony_ci * @since 11 28161847f8eSopenharmony_ci */ 28261847f8eSopenharmony_ci keyUri: string; 28361847f8eSopenharmony_ci 28461847f8eSopenharmony_ci /** 28561847f8eSopenharmony_ci * Indicates the number of certificates included in the credential. 28661847f8eSopenharmony_ci * 28761847f8eSopenharmony_ci * @type { number } 28861847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 28961847f8eSopenharmony_ci * @since 11 29061847f8eSopenharmony_ci */ 29161847f8eSopenharmony_ci certNum: number; 29261847f8eSopenharmony_ci 29361847f8eSopenharmony_ci /** 29461847f8eSopenharmony_ci * Indicates the number of key included in the credential. 29561847f8eSopenharmony_ci * 29661847f8eSopenharmony_ci * @type { number } 29761847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 29861847f8eSopenharmony_ci * @since 11 29961847f8eSopenharmony_ci */ 30061847f8eSopenharmony_ci keyNum: number; 30161847f8eSopenharmony_ci 30261847f8eSopenharmony_ci /** 30361847f8eSopenharmony_ci * Indicates the credential binary data. 30461847f8eSopenharmony_ci * 30561847f8eSopenharmony_ci * @type { Uint8Array } 30661847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 30761847f8eSopenharmony_ci * @since 11 30861847f8eSopenharmony_ci */ 30961847f8eSopenharmony_ci credentialData: Uint8Array; 31061847f8eSopenharmony_ci } 31161847f8eSopenharmony_ci 31261847f8eSopenharmony_ci /** 31361847f8eSopenharmony_ci * Provides the abstract Credential type. 31461847f8eSopenharmony_ci * 31561847f8eSopenharmony_ci * @typedef CredentialAbstract 31661847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 31761847f8eSopenharmony_ci * @since 11 31861847f8eSopenharmony_ci */ 31961847f8eSopenharmony_ci export interface CredentialAbstract { 32061847f8eSopenharmony_ci /** 32161847f8eSopenharmony_ci * Indicates the type of Credential. 32261847f8eSopenharmony_ci * 32361847f8eSopenharmony_ci * @type { string } 32461847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 32561847f8eSopenharmony_ci * @since 11 32661847f8eSopenharmony_ci */ 32761847f8eSopenharmony_ci type: string; 32861847f8eSopenharmony_ci 32961847f8eSopenharmony_ci /** 33061847f8eSopenharmony_ci * Indicates the alias of Credential. 33161847f8eSopenharmony_ci * 33261847f8eSopenharmony_ci * @type { string } 33361847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 33461847f8eSopenharmony_ci * @since 11 33561847f8eSopenharmony_ci */ 33661847f8eSopenharmony_ci alias: string; 33761847f8eSopenharmony_ci 33861847f8eSopenharmony_ci /** 33961847f8eSopenharmony_ci * Indicates the uri of Credential. 34061847f8eSopenharmony_ci * 34161847f8eSopenharmony_ci * @type { string } 34261847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 34361847f8eSopenharmony_ci * @since 11 34461847f8eSopenharmony_ci */ 34561847f8eSopenharmony_ci keyUri: string; 34661847f8eSopenharmony_ci } 34761847f8eSopenharmony_ci 34861847f8eSopenharmony_ci /** 34961847f8eSopenharmony_ci * Provides the CMResult type. 35061847f8eSopenharmony_ci * 35161847f8eSopenharmony_ci * @typedef CMResult 35261847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 35361847f8eSopenharmony_ci * @since 11 35461847f8eSopenharmony_ci */ 35561847f8eSopenharmony_ci export interface CMResult { 35661847f8eSopenharmony_ci /** 35761847f8eSopenharmony_ci * Indicates the certificate list of CMResult. 35861847f8eSopenharmony_ci * 35961847f8eSopenharmony_ci * @type { ?Array<CertAbstract> } 36061847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 36161847f8eSopenharmony_ci * @since 11 36261847f8eSopenharmony_ci */ 36361847f8eSopenharmony_ci certList?: Array<CertAbstract>; 36461847f8eSopenharmony_ci 36561847f8eSopenharmony_ci /** 36661847f8eSopenharmony_ci * Indicates the certificate info of CMResult. 36761847f8eSopenharmony_ci * 36861847f8eSopenharmony_ci * @type { ?CertInfo } 36961847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 37061847f8eSopenharmony_ci * @since 11 37161847f8eSopenharmony_ci */ 37261847f8eSopenharmony_ci certInfo?: CertInfo; 37361847f8eSopenharmony_ci 37461847f8eSopenharmony_ci /** 37561847f8eSopenharmony_ci * Indicates the credential list of CMResult. 37661847f8eSopenharmony_ci * 37761847f8eSopenharmony_ci * @type { ?Array<CredentialAbstract> } 37861847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 37961847f8eSopenharmony_ci * @since 11 38061847f8eSopenharmony_ci */ 38161847f8eSopenharmony_ci credentialList?: Array<CredentialAbstract>; 38261847f8eSopenharmony_ci 38361847f8eSopenharmony_ci /** 38461847f8eSopenharmony_ci * Indicates the credential of CMResult. 38561847f8eSopenharmony_ci * 38661847f8eSopenharmony_ci * @type { ?Credential } 38761847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 38861847f8eSopenharmony_ci * @since 11 38961847f8eSopenharmony_ci */ 39061847f8eSopenharmony_ci credential?: Credential; 39161847f8eSopenharmony_ci 39261847f8eSopenharmony_ci /** 39361847f8eSopenharmony_ci * Indicates the app uid list of CMResult. 39461847f8eSopenharmony_ci * 39561847f8eSopenharmony_ci * @type { ?Array<string> } 39661847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 39761847f8eSopenharmony_ci * @since 11 39861847f8eSopenharmony_ci */ 39961847f8eSopenharmony_ci appUidList?: Array<string>; 40061847f8eSopenharmony_ci 40161847f8eSopenharmony_ci /** 40261847f8eSopenharmony_ci * Indicates the certificate uri of CMResult. 40361847f8eSopenharmony_ci * 40461847f8eSopenharmony_ci * @type { ?string } 40561847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 40661847f8eSopenharmony_ci * @since 11 40761847f8eSopenharmony_ci */ 40861847f8eSopenharmony_ci uri?: string; 40961847f8eSopenharmony_ci 41061847f8eSopenharmony_ci /** 41161847f8eSopenharmony_ci * Indicates the outData of CMResult. 41261847f8eSopenharmony_ci * 41361847f8eSopenharmony_ci * @type { ?Uint8Array } 41461847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 41561847f8eSopenharmony_ci * @since 11 41661847f8eSopenharmony_ci */ 41761847f8eSopenharmony_ci outData?: Uint8Array; 41861847f8eSopenharmony_ci } 41961847f8eSopenharmony_ci 42061847f8eSopenharmony_ci /** 42161847f8eSopenharmony_ci * Enum for Key Purpose 42261847f8eSopenharmony_ci * 42361847f8eSopenharmony_ci * @enum { number } 42461847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 42561847f8eSopenharmony_ci * @since 11 42661847f8eSopenharmony_ci */ 42761847f8eSopenharmony_ci export enum CmKeyPurpose { 42861847f8eSopenharmony_ci /** 42961847f8eSopenharmony_ci * Indicates that key for signature. 43061847f8eSopenharmony_ci * 43161847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 43261847f8eSopenharmony_ci * @since 11 43361847f8eSopenharmony_ci */ 43461847f8eSopenharmony_ci CM_KEY_PURPOSE_SIGN = 4, 43561847f8eSopenharmony_ci 43661847f8eSopenharmony_ci /** 43761847f8eSopenharmony_ci * Indicates that key for verify. 43861847f8eSopenharmony_ci * 43961847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 44061847f8eSopenharmony_ci * @since 11 44161847f8eSopenharmony_ci */ 44261847f8eSopenharmony_ci CM_KEY_PURPOSE_VERIFY = 8 44361847f8eSopenharmony_ci } 44461847f8eSopenharmony_ci 44561847f8eSopenharmony_ci /** 44661847f8eSopenharmony_ci * Enum for Key Digest 44761847f8eSopenharmony_ci * 44861847f8eSopenharmony_ci * @enum { number } 44961847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 45061847f8eSopenharmony_ci * @since 11 45161847f8eSopenharmony_ci */ 45261847f8eSopenharmony_ci export enum CmKeyDigest { 45361847f8eSopenharmony_ci /** 45461847f8eSopenharmony_ci * Indicates that key digest is none. 45561847f8eSopenharmony_ci * 45661847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 45761847f8eSopenharmony_ci * @since 11 45861847f8eSopenharmony_ci */ 45961847f8eSopenharmony_ci CM_DIGEST_NONE = 0, 46061847f8eSopenharmony_ci 46161847f8eSopenharmony_ci /** 46261847f8eSopenharmony_ci * Indicates that key digest is md5. 46361847f8eSopenharmony_ci * 46461847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 46561847f8eSopenharmony_ci * @since 11 46661847f8eSopenharmony_ci */ 46761847f8eSopenharmony_ci CM_DIGEST_MD5 = 1, 46861847f8eSopenharmony_ci 46961847f8eSopenharmony_ci /** 47061847f8eSopenharmony_ci * Indicates that key digest is sha1. 47161847f8eSopenharmony_ci * 47261847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 47361847f8eSopenharmony_ci * @since 11 47461847f8eSopenharmony_ci */ 47561847f8eSopenharmony_ci CM_DIGEST_SHA1 = 2, 47661847f8eSopenharmony_ci 47761847f8eSopenharmony_ci /** 47861847f8eSopenharmony_ci * Indicates that key digest is sha224. 47961847f8eSopenharmony_ci * 48061847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 48161847f8eSopenharmony_ci * @since 11 48261847f8eSopenharmony_ci */ 48361847f8eSopenharmony_ci CM_DIGEST_SHA224 = 3, 48461847f8eSopenharmony_ci 48561847f8eSopenharmony_ci /** 48661847f8eSopenharmony_ci * Indicates that key digest is sha256. 48761847f8eSopenharmony_ci * 48861847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 48961847f8eSopenharmony_ci * @since 11 49061847f8eSopenharmony_ci */ 49161847f8eSopenharmony_ci CM_DIGEST_SHA256 = 4, 49261847f8eSopenharmony_ci 49361847f8eSopenharmony_ci /** 49461847f8eSopenharmony_ci * Indicates that key digest is sha384. 49561847f8eSopenharmony_ci * 49661847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 49761847f8eSopenharmony_ci * @since 11 49861847f8eSopenharmony_ci */ 49961847f8eSopenharmony_ci CM_DIGEST_SHA384 = 5, 50061847f8eSopenharmony_ci 50161847f8eSopenharmony_ci /** 50261847f8eSopenharmony_ci * Indicates that key digest is sha512. 50361847f8eSopenharmony_ci * 50461847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 50561847f8eSopenharmony_ci * @since 11 50661847f8eSopenharmony_ci */ 50761847f8eSopenharmony_ci CM_DIGEST_SHA512 = 6 50861847f8eSopenharmony_ci } 50961847f8eSopenharmony_ci 51061847f8eSopenharmony_ci /** 51161847f8eSopenharmony_ci * Enum for Key Padding 51261847f8eSopenharmony_ci * 51361847f8eSopenharmony_ci * @enum { number } 51461847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 51561847f8eSopenharmony_ci * @since 11 51661847f8eSopenharmony_ci */ 51761847f8eSopenharmony_ci export enum CmKeyPadding { 51861847f8eSopenharmony_ci /** 51961847f8eSopenharmony_ci * Indicates that key padding is none. 52061847f8eSopenharmony_ci * 52161847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 52261847f8eSopenharmony_ci * @since 11 52361847f8eSopenharmony_ci */ 52461847f8eSopenharmony_ci CM_PADDING_NONE = 0, 52561847f8eSopenharmony_ci 52661847f8eSopenharmony_ci /** 52761847f8eSopenharmony_ci * Indicates that key padding is PSS. 52861847f8eSopenharmony_ci * 52961847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 53061847f8eSopenharmony_ci * @since 11 53161847f8eSopenharmony_ci */ 53261847f8eSopenharmony_ci CM_PADDING_PSS = 1, 53361847f8eSopenharmony_ci 53461847f8eSopenharmony_ci /** 53561847f8eSopenharmony_ci * Indicates that key padding is PKCS1_V1_5. 53661847f8eSopenharmony_ci * 53761847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 53861847f8eSopenharmony_ci * @since 11 53961847f8eSopenharmony_ci */ 54061847f8eSopenharmony_ci CM_PADDING_PKCS1_V1_5 = 2 54161847f8eSopenharmony_ci } 54261847f8eSopenharmony_ci 54361847f8eSopenharmony_ci /** 54461847f8eSopenharmony_ci * Provides the CMSignatureSpec type. 54561847f8eSopenharmony_ci * 54661847f8eSopenharmony_ci * @typedef CMSignatureSpec 54761847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 54861847f8eSopenharmony_ci * @since 11 54961847f8eSopenharmony_ci */ 55061847f8eSopenharmony_ci export interface CMSignatureSpec { 55161847f8eSopenharmony_ci /** 55261847f8eSopenharmony_ci * Indicates the key purpose of CMSignatureSpec. 55361847f8eSopenharmony_ci * 55461847f8eSopenharmony_ci * @type { CmKeyPurpose } 55561847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 55661847f8eSopenharmony_ci * @since 11 55761847f8eSopenharmony_ci */ 55861847f8eSopenharmony_ci purpose: CmKeyPurpose; 55961847f8eSopenharmony_ci 56061847f8eSopenharmony_ci /** 56161847f8eSopenharmony_ci * Indicates the key padding of CMSignatureSpec. 56261847f8eSopenharmony_ci * 56361847f8eSopenharmony_ci * @type { ?CmKeyPadding } 56461847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 56561847f8eSopenharmony_ci * @since 11 56661847f8eSopenharmony_ci */ 56761847f8eSopenharmony_ci padding?: CmKeyPadding; 56861847f8eSopenharmony_ci 56961847f8eSopenharmony_ci /** 57061847f8eSopenharmony_ci * Indicates the key digest of CMSignatureSpec. 57161847f8eSopenharmony_ci * 57261847f8eSopenharmony_ci * @type { ?CmKeyDigest } 57361847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 57461847f8eSopenharmony_ci * @since 11 57561847f8eSopenharmony_ci */ 57661847f8eSopenharmony_ci digest?: CmKeyDigest; 57761847f8eSopenharmony_ci } 57861847f8eSopenharmony_ci 57961847f8eSopenharmony_ci /** 58061847f8eSopenharmony_ci * Provides the CMHandle type. 58161847f8eSopenharmony_ci * 58261847f8eSopenharmony_ci * @typedef CMHandle 58361847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 58461847f8eSopenharmony_ci * @since 11 58561847f8eSopenharmony_ci */ 58661847f8eSopenharmony_ci export interface CMHandle { 58761847f8eSopenharmony_ci /** 58861847f8eSopenharmony_ci * Indicates the handle . 58961847f8eSopenharmony_ci * 59061847f8eSopenharmony_ci * @type { Uint8Array } 59161847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 59261847f8eSopenharmony_ci * @since 11 59361847f8eSopenharmony_ci */ 59461847f8eSopenharmony_ci handle: Uint8Array; 59561847f8eSopenharmony_ci } 59661847f8eSopenharmony_ci 59761847f8eSopenharmony_ci /** 59861847f8eSopenharmony_ci * Install private application certificate. 59961847f8eSopenharmony_ci * 60061847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_CERT_MANAGER 60161847f8eSopenharmony_ci * @param { Uint8Array } keystore - Indicates the keystore file with key pair and certificate. 60261847f8eSopenharmony_ci * @param { string } keystorePwd - Indicates the password of keystore file. 60361847f8eSopenharmony_ci * @param { string } certAlias - Indicates the certificate name inputted by the user. 60461847f8eSopenharmony_ci * @param { AsyncCallback<CMResult> } callback - The callback of installPrivateCertificate. 60561847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. 60661847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 60761847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 60861847f8eSopenharmony_ci * @throws { BusinessError } 17500001 - Internal error. 60961847f8eSopenharmony_ci * @throws { BusinessError } 17500003 - The keystore is in an invalid format or the keystore password is incorrect. 61061847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 61161847f8eSopenharmony_ci * @since 11 61261847f8eSopenharmony_ci */ 61361847f8eSopenharmony_ci /** 61461847f8eSopenharmony_ci * Install private application certificate. 61561847f8eSopenharmony_ci * 61661847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_CERT_MANAGER 61761847f8eSopenharmony_ci * @param { Uint8Array } keystore - Indicates the keystore file with key pair and certificate. 61861847f8eSopenharmony_ci * @param { string } keystorePwd - Indicates the password of keystore file. 61961847f8eSopenharmony_ci * @param { string } certAlias - Indicates the certificate name inputted by the user. 62061847f8eSopenharmony_ci * @param { AsyncCallback<CMResult> } callback - The callback of installPrivateCertificate. 62161847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. 62261847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 62361847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 62461847f8eSopenharmony_ci * @throws { BusinessError } 17500001 - Internal error. 62561847f8eSopenharmony_ci * @throws { BusinessError } 17500003 - The keystore is in an invalid format or the keystore password is incorrect. 62661847f8eSopenharmony_ci * @throws { BusinessError } 17500004 - The number of certificates or credentials reaches the maximum allowed. 62761847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 62861847f8eSopenharmony_ci * @since 12 62961847f8eSopenharmony_ci */ 63061847f8eSopenharmony_ci function installPrivateCertificate( 63161847f8eSopenharmony_ci keystore: Uint8Array, 63261847f8eSopenharmony_ci keystorePwd: string, 63361847f8eSopenharmony_ci certAlias: string, 63461847f8eSopenharmony_ci callback: AsyncCallback<CMResult> 63561847f8eSopenharmony_ci ): void; 63661847f8eSopenharmony_ci 63761847f8eSopenharmony_ci /** 63861847f8eSopenharmony_ci * Install private application certificate. 63961847f8eSopenharmony_ci * 64061847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_CERT_MANAGER 64161847f8eSopenharmony_ci * @param { Uint8Array } keystore - Indicates the keystore file with key pair and certificate. 64261847f8eSopenharmony_ci * @param { string } keystorePwd - Indicates the password of keystore file. 64361847f8eSopenharmony_ci * @param { string } certAlias - Indicates the certificate name inputted by the user. 64461847f8eSopenharmony_ci * @returns { Promise<CMResult> } The promise returned by the function. 64561847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. 64661847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 64761847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 64861847f8eSopenharmony_ci * @throws { BusinessError } 17500001 - Internal error. 64961847f8eSopenharmony_ci * @throws { BusinessError } 17500003 - The keystore is in an invalid format or the keystore password is incorrect. 65061847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 65161847f8eSopenharmony_ci * @since 11 65261847f8eSopenharmony_ci */ 65361847f8eSopenharmony_ci /** 65461847f8eSopenharmony_ci * Install private application certificate. 65561847f8eSopenharmony_ci * 65661847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_CERT_MANAGER 65761847f8eSopenharmony_ci * @param { Uint8Array } keystore - Indicates the keystore file with key pair and certificate. 65861847f8eSopenharmony_ci * @param { string } keystorePwd - Indicates the password of keystore file. 65961847f8eSopenharmony_ci * @param { string } certAlias - Indicates the certificate name inputted by the user. 66061847f8eSopenharmony_ci * @returns { Promise<CMResult> } The promise returned by the function. 66161847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. 66261847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 66361847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 66461847f8eSopenharmony_ci * @throws { BusinessError } 17500001 - Internal error. 66561847f8eSopenharmony_ci * @throws { BusinessError } 17500003 - The keystore is in an invalid format or the keystore password is incorrect. 66661847f8eSopenharmony_ci * @throws { BusinessError } 17500004 - The number of certificates or credentials reaches the maximum allowed. 66761847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 66861847f8eSopenharmony_ci * @since 12 66961847f8eSopenharmony_ci */ 67061847f8eSopenharmony_ci function installPrivateCertificate(keystore: Uint8Array, keystorePwd: string, certAlias: string): Promise<CMResult>; 67161847f8eSopenharmony_ci 67261847f8eSopenharmony_ci /** 67361847f8eSopenharmony_ci * Uninstall the specified normal application certificate. 67461847f8eSopenharmony_ci * 67561847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_CERT_MANAGER 67661847f8eSopenharmony_ci * @param { string } keyUri - Indicates key's name. 67761847f8eSopenharmony_ci * @param { AsyncCallback<void> } callback - The callback of uninstallPrivateCertificate. 67861847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. 67961847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 68061847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 68161847f8eSopenharmony_ci * @throws { BusinessError } 17500001 - Internal error. 68261847f8eSopenharmony_ci * @throws { BusinessError } 17500002 - The certificate does not exist. 68361847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 68461847f8eSopenharmony_ci * @since 11 68561847f8eSopenharmony_ci */ 68661847f8eSopenharmony_ci function uninstallPrivateCertificate(keyUri: string, callback: AsyncCallback<void>): void; 68761847f8eSopenharmony_ci 68861847f8eSopenharmony_ci /** 68961847f8eSopenharmony_ci * Uninstall the specified normal application certificate. 69061847f8eSopenharmony_ci * 69161847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_CERT_MANAGER 69261847f8eSopenharmony_ci * @param { string } keyUri - Indicates key's name. 69361847f8eSopenharmony_ci * @returns { Promise<void> } The promise returned by the function. 69461847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. 69561847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 69661847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 69761847f8eSopenharmony_ci * @throws { BusinessError } 17500001 - Internal error. 69861847f8eSopenharmony_ci * @throws { BusinessError } 17500002 - The certificate does not exist. 69961847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 70061847f8eSopenharmony_ci * @since 11 70161847f8eSopenharmony_ci */ 70261847f8eSopenharmony_ci function uninstallPrivateCertificate(keyUri: string): Promise<void>; 70361847f8eSopenharmony_ci 70461847f8eSopenharmony_ci /** 70561847f8eSopenharmony_ci * Get a list of all applications private certificates. 70661847f8eSopenharmony_ci * 70761847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_CERT_MANAGER and ohos.permission.ACCESS_CERT_MANAGER_INTERNAL 70861847f8eSopenharmony_ci * @param { AsyncCallback<CMResult> } callback - The callback of getAllAppPrivateCertificates. 70961847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. 71061847f8eSopenharmony_ci * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 71161847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 71261847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 71361847f8eSopenharmony_ci * @throws { BusinessError } 17500001 - Internal error. 71461847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 71561847f8eSopenharmony_ci * @systemapi 71661847f8eSopenharmony_ci * @since 11 71761847f8eSopenharmony_ci */ 71861847f8eSopenharmony_ci function getAllAppPrivateCertificates(callback: AsyncCallback<CMResult>): void; 71961847f8eSopenharmony_ci 72061847f8eSopenharmony_ci /** 72161847f8eSopenharmony_ci * Get a list of all applications private certificates. 72261847f8eSopenharmony_ci * 72361847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_CERT_MANAGER and ohos.permission.ACCESS_CERT_MANAGER_INTERNAL 72461847f8eSopenharmony_ci * @returns { Promise<CMResult> } The promise returned by the function. 72561847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. 72661847f8eSopenharmony_ci * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 72761847f8eSopenharmony_ci * @throws { BusinessError } 17500001 - Internal error. 72861847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 72961847f8eSopenharmony_ci * @systemapi 73061847f8eSopenharmony_ci * @since 11 73161847f8eSopenharmony_ci */ 73261847f8eSopenharmony_ci function getAllAppPrivateCertificates(): Promise<CMResult>; 73361847f8eSopenharmony_ci 73461847f8eSopenharmony_ci /** 73561847f8eSopenharmony_ci * Get the detail of private application certificate. 73661847f8eSopenharmony_ci * 73761847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_CERT_MANAGER 73861847f8eSopenharmony_ci * @param { string } keyUri - Indicates key's name. 73961847f8eSopenharmony_ci * @param { AsyncCallback<CMResult> } callback - The callback of getPrivateCertificate. 74061847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. 74161847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 74261847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 74361847f8eSopenharmony_ci * @throws { BusinessError } 17500001 - Internal error. 74461847f8eSopenharmony_ci * @throws { BusinessError } 17500002 - The certificate does not exist. 74561847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 74661847f8eSopenharmony_ci * @since 11 74761847f8eSopenharmony_ci */ 74861847f8eSopenharmony_ci function getPrivateCertificate(keyUri: string, callback: AsyncCallback<CMResult>): void; 74961847f8eSopenharmony_ci 75061847f8eSopenharmony_ci /** 75161847f8eSopenharmony_ci * Get the detail of private application certificate. 75261847f8eSopenharmony_ci * 75361847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_CERT_MANAGER 75461847f8eSopenharmony_ci * @param { string } keyUri - Indicates key's name. 75561847f8eSopenharmony_ci * @returns { Promise<CMResult> } The promise returned by the function. 75661847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. 75761847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 75861847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 75961847f8eSopenharmony_ci * @throws { BusinessError } 17500001 - Internal error. 76061847f8eSopenharmony_ci * @throws { BusinessError } 17500002 - The certificate does not exist. 76161847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 76261847f8eSopenharmony_ci * @since 11 76361847f8eSopenharmony_ci */ 76461847f8eSopenharmony_ci function getPrivateCertificate(keyUri: string): Promise<CMResult>; 76561847f8eSopenharmony_ci 76661847f8eSopenharmony_ci /** 76761847f8eSopenharmony_ci * Init operation for signing and verifying etc. 76861847f8eSopenharmony_ci * 76961847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_CERT_MANAGER 77061847f8eSopenharmony_ci * @param { string } authUri - Indicates the authorization relationship between application and application certificate. 77161847f8eSopenharmony_ci * @param { CMSignatureSpec } spec - Indicates the properties of the signature and verification. 77261847f8eSopenharmony_ci * @param { AsyncCallback<CMHandle> } callback - The callback of init. 77361847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. 77461847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 77561847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 77661847f8eSopenharmony_ci * @throws { BusinessError } 17500001 - Internal error. 77761847f8eSopenharmony_ci * @throws { BusinessError } 17500002 - The certificate does not exist. 77861847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 77961847f8eSopenharmony_ci * @since 11 78061847f8eSopenharmony_ci */ 78161847f8eSopenharmony_ci /** 78261847f8eSopenharmony_ci * Init operation for signing and verifying etc. 78361847f8eSopenharmony_ci * 78461847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_CERT_MANAGER 78561847f8eSopenharmony_ci * @param { string } authUri - Indicates the authorization relationship between application and application certificate. 78661847f8eSopenharmony_ci * @param { CMSignatureSpec } spec - Indicates the properties of the signature and verification. 78761847f8eSopenharmony_ci * @param { AsyncCallback<CMHandle> } callback - The callback of init. 78861847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. 78961847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 79061847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 79161847f8eSopenharmony_ci * @throws { BusinessError } 17500001 - Internal error. 79261847f8eSopenharmony_ci * @throws { BusinessError } 17500002 - The certificate does not exist. 79361847f8eSopenharmony_ci * @throws { BusinessError } 17500005 - The application is not authorized by the user. 79461847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 79561847f8eSopenharmony_ci * @since 12 79661847f8eSopenharmony_ci */ 79761847f8eSopenharmony_ci function init(authUri: string, spec: CMSignatureSpec, callback: AsyncCallback<CMHandle>): void; 79861847f8eSopenharmony_ci 79961847f8eSopenharmony_ci /** 80061847f8eSopenharmony_ci * Init operation for signing and verifying etc. 80161847f8eSopenharmony_ci * 80261847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_CERT_MANAGER 80361847f8eSopenharmony_ci * @param { string } authUri - Indicates the authorization relationship between application and application certificate. 80461847f8eSopenharmony_ci * @param { CMSignatureSpec } spec - Indicates the properties of the signature and verification. 80561847f8eSopenharmony_ci * @returns { Promise<CMHandle> } The promise returned by the function. 80661847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. 80761847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 80861847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 80961847f8eSopenharmony_ci * @throws { BusinessError } 17500001 - Internal error. 81061847f8eSopenharmony_ci * @throws { BusinessError } 17500002 - The certificate does not exist. 81161847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 81261847f8eSopenharmony_ci * @since 11 81361847f8eSopenharmony_ci */ 81461847f8eSopenharmony_ci /** 81561847f8eSopenharmony_ci * Init operation for signing and verifying etc. 81661847f8eSopenharmony_ci * 81761847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_CERT_MANAGER 81861847f8eSopenharmony_ci * @param { string } authUri - Indicates the authorization relationship between application and application certificate. 81961847f8eSopenharmony_ci * @param { CMSignatureSpec } spec - Indicates the properties of the signature and verification. 82061847f8eSopenharmony_ci * @returns { Promise<CMHandle> } The promise returned by the function. 82161847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. 82261847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 82361847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 82461847f8eSopenharmony_ci * @throws { BusinessError } 17500001 - Internal error. 82561847f8eSopenharmony_ci * @throws { BusinessError } 17500002 - The certificate does not exist. 82661847f8eSopenharmony_ci * @throws { BusinessError } 17500005 - The application is not authorized by the user. 82761847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 82861847f8eSopenharmony_ci * @since 12 82961847f8eSopenharmony_ci */ 83061847f8eSopenharmony_ci function init(authUri: string, spec: CMSignatureSpec): Promise<CMHandle>; 83161847f8eSopenharmony_ci 83261847f8eSopenharmony_ci /** 83361847f8eSopenharmony_ci * Update operation for signing and verifying etc. 83461847f8eSopenharmony_ci * 83561847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_CERT_MANAGER 83661847f8eSopenharmony_ci * @param { Uint8Array } handle - Indicates the handle of the init operation. 83761847f8eSopenharmony_ci * @param { Uint8Array } data - Indicates the input value. 83861847f8eSopenharmony_ci * @param { AsyncCallback<void> } callback - The callback of update. 83961847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. 84061847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 84161847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 84261847f8eSopenharmony_ci * @throws { BusinessError } 17500001 - Internal error. 84361847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 84461847f8eSopenharmony_ci * @since 11 84561847f8eSopenharmony_ci */ 84661847f8eSopenharmony_ci function update(handle: Uint8Array, data: Uint8Array, callback: AsyncCallback<void>): void; 84761847f8eSopenharmony_ci 84861847f8eSopenharmony_ci /** 84961847f8eSopenharmony_ci * Update operation for signing and verifying etc. 85061847f8eSopenharmony_ci * 85161847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_CERT_MANAGER 85261847f8eSopenharmony_ci * @param { Uint8Array } handle - Indicates the handle of the init operation. 85361847f8eSopenharmony_ci * @param { Uint8Array } data - Indicates the input value. 85461847f8eSopenharmony_ci * @returns { Promise<void> } The promise returned by the function. 85561847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. 85661847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 85761847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 85861847f8eSopenharmony_ci * @throws { BusinessError } 17500001 - Internal error. 85961847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 86061847f8eSopenharmony_ci * @since 11 86161847f8eSopenharmony_ci */ 86261847f8eSopenharmony_ci function update(handle: Uint8Array, data: Uint8Array): Promise<void>; 86361847f8eSopenharmony_ci 86461847f8eSopenharmony_ci /** 86561847f8eSopenharmony_ci * Finish operation for signing and verifying etc. 86661847f8eSopenharmony_ci * 86761847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_CERT_MANAGER 86861847f8eSopenharmony_ci * @param { Uint8Array } handle - Indicates the handle of the init operation. 86961847f8eSopenharmony_ci * @param { AsyncCallback<CMResult> } callback - The callback of finish. 87061847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. 87161847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 87261847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 87361847f8eSopenharmony_ci * @throws { BusinessError } 17500001 - Internal error. 87461847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 87561847f8eSopenharmony_ci * @since 11 87661847f8eSopenharmony_ci */ 87761847f8eSopenharmony_ci function finish(handle: Uint8Array, callback: AsyncCallback<CMResult>): void; 87861847f8eSopenharmony_ci 87961847f8eSopenharmony_ci /** 88061847f8eSopenharmony_ci * Finish operation for signing and verifying etc. 88161847f8eSopenharmony_ci * 88261847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_CERT_MANAGER 88361847f8eSopenharmony_ci * @param { Uint8Array } handle - Indicates the handle of the init operation. 88461847f8eSopenharmony_ci * @param { Uint8Array } signature - Indicates the sign data. 88561847f8eSopenharmony_ci * @param { AsyncCallback<CMResult> } callback - The callback of finish. 88661847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. 88761847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 88861847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 88961847f8eSopenharmony_ci * @throws { BusinessError } 17500001 - Internal error. 89061847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 89161847f8eSopenharmony_ci * @since 11 89261847f8eSopenharmony_ci */ 89361847f8eSopenharmony_ci function finish(handle: Uint8Array, signature: Uint8Array, callback: AsyncCallback<CMResult>): void; 89461847f8eSopenharmony_ci 89561847f8eSopenharmony_ci /** 89661847f8eSopenharmony_ci * Finish operation for signing and verifying etc. 89761847f8eSopenharmony_ci * 89861847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_CERT_MANAGER 89961847f8eSopenharmony_ci * @param { Uint8Array } handle - Indicates the handle of the init operation. 90061847f8eSopenharmony_ci * @param { Uint8Array } [options] signature - Indicates the sign data. 90161847f8eSopenharmony_ci * @returns { Promise<CMResult> } The promise returned by the function. 90261847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. 90361847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 90461847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 90561847f8eSopenharmony_ci * @throws { BusinessError } 17500001 - Internal error. 90661847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 90761847f8eSopenharmony_ci * @since 11 90861847f8eSopenharmony_ci */ 90961847f8eSopenharmony_ci function finish(handle: Uint8Array, signature?: Uint8Array): Promise<CMResult>; 91061847f8eSopenharmony_ci 91161847f8eSopenharmony_ci /** 91261847f8eSopenharmony_ci * Abort operation for signing and verifying etc. 91361847f8eSopenharmony_ci * 91461847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_CERT_MANAGER 91561847f8eSopenharmony_ci * @param { Uint8Array } handle - Indicates the handle of the init operation. 91661847f8eSopenharmony_ci * @param { AsyncCallback<void> } callback - The callback of abort. 91761847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. 91861847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 91961847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 92061847f8eSopenharmony_ci * @throws { BusinessError } 17500001 - Internal error. 92161847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 92261847f8eSopenharmony_ci * @since 11 92361847f8eSopenharmony_ci */ 92461847f8eSopenharmony_ci function abort(handle: Uint8Array, callback: AsyncCallback<void>): void; 92561847f8eSopenharmony_ci 92661847f8eSopenharmony_ci /** 92761847f8eSopenharmony_ci * Abort operation for signing and verifying etc. 92861847f8eSopenharmony_ci * 92961847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_CERT_MANAGER 93061847f8eSopenharmony_ci * @param { Uint8Array } handle - Indicates the handle of the init operation. 93161847f8eSopenharmony_ci * @returns { Promise<void> } The promise returned by the function. 93261847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. 93361847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 93461847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 93561847f8eSopenharmony_ci * @throws { BusinessError } 17500001 - Internal error. 93661847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 93761847f8eSopenharmony_ci * @since 11 93861847f8eSopenharmony_ci */ 93961847f8eSopenharmony_ci function abort(handle: Uint8Array): Promise<void>; 94061847f8eSopenharmony_ci 94161847f8eSopenharmony_ci /** 94261847f8eSopenharmony_ci * Get the detail of public application certificate. 94361847f8eSopenharmony_ci * 94461847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_CERT_MANAGER 94561847f8eSopenharmony_ci * @param { string } keyUri - Indicates the key's name. 94661847f8eSopenharmony_ci * @returns { Promise<CMResult> } The promise returned by the function. 94761847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. 94861847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 94961847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 95061847f8eSopenharmony_ci * @throws { BusinessError } 17500001 - Internal error. 95161847f8eSopenharmony_ci * @throws { BusinessError } 17500002 - The certificate does not exist. 95261847f8eSopenharmony_ci * @throws { BusinessError } 17500005 - The application is not authorized by the user. 95361847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 95461847f8eSopenharmony_ci * @since 12 95561847f8eSopenharmony_ci */ 95661847f8eSopenharmony_ci function getPublicCertificate(keyUri: string): Promise<CMResult>; 95761847f8eSopenharmony_ci 95861847f8eSopenharmony_ci /**: 95961847f8eSopenharmony_ci * Whether the current application is authorized by the specified public application certificate. 96061847f8eSopenharmony_ci * 96161847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_CERT_MANAGER 96261847f8eSopenharmony_ci * @param { string } keyUri - Indicates the key's name. 96361847f8eSopenharmony_ci * @returns { Promise<boolean> } The promise returned by the function. 96461847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. 96561847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 96661847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 96761847f8eSopenharmony_ci * @throws { BusinessError } 17500001 - Internal error. 96861847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 96961847f8eSopenharmony_ci * @since 12 97061847f8eSopenharmony_ci */ 97161847f8eSopenharmony_ci function isAuthorizedApp(keyUri: string): Promise<boolean>; 97261847f8eSopenharmony_ci 97361847f8eSopenharmony_ci /** 97461847f8eSopenharmony_ci * Get a list of all user trusted CA certificates. 97561847f8eSopenharmony_ci * 97661847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_CERT_MANAGER 97761847f8eSopenharmony_ci * @returns { Promise<CMResult> } The promise returned by the function. 97861847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. 97961847f8eSopenharmony_ci * @throws { BusinessError } 17500001 - Internal error. 98061847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 98161847f8eSopenharmony_ci * @since 12 98261847f8eSopenharmony_ci */ 98361847f8eSopenharmony_ci function getAllUserTrustedCertificates(): Promise<CMResult>; 98461847f8eSopenharmony_ci 98561847f8eSopenharmony_ci /** 98661847f8eSopenharmony_ci * Get the detail of user trusted CA certificate. 98761847f8eSopenharmony_ci * 98861847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_CERT_MANAGER 98961847f8eSopenharmony_ci * @param { string } certUri - Indicates the certificate's name. 99061847f8eSopenharmony_ci * @returns { Promise<CMResult> } The promise returned by the function. 99161847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. 99261847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 99361847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 99461847f8eSopenharmony_ci * @throws { BusinessError } 17500001 - Internal error. 99561847f8eSopenharmony_ci * @throws { BusinessError } 17500002 - The certificate does not exist. 99661847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 99761847f8eSopenharmony_ci * @since 12 99861847f8eSopenharmony_ci */ 99961847f8eSopenharmony_ci function getUserTrustedCertificate(certUri: string): Promise<CMResult>; 100061847f8eSopenharmony_ci 100161847f8eSopenharmony_ci /** 100261847f8eSopenharmony_ci * Get a list of all system application certificates, such as WLAN, VPN certificate. 100361847f8eSopenharmony_ci * 100461847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_CERT_MANAGER 100561847f8eSopenharmony_ci * @returns { Promise<CMResult> } The promise returned by the function. 100661847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. 100761847f8eSopenharmony_ci * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. 100861847f8eSopenharmony_ci * @throws { BusinessError } 17500001 - Internal error. 100961847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 101061847f8eSopenharmony_ci * @systemapi 101161847f8eSopenharmony_ci * @since 12 101261847f8eSopenharmony_ci */ 101361847f8eSopenharmony_ci function getAllSystemAppCertificates(): Promise<CMResult>; 101461847f8eSopenharmony_ci 101561847f8eSopenharmony_ci /** 101661847f8eSopenharmony_ci * Get all private certificates installed by the application. 101761847f8eSopenharmony_ci * 101861847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_CERT_MANAGER 101961847f8eSopenharmony_ci * @returns { Promise<CMResult> } The private certificates installed by the application. 102061847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API. 102161847f8eSopenharmony_ci * @throws { BusinessError } 17500001 - Internal error. 102261847f8eSopenharmony_ci * @syscap SystemCapability.Security.CertificateManager 102361847f8eSopenharmony_ci * @since 13 102461847f8eSopenharmony_ci */ 102561847f8eSopenharmony_ci function getPrivateCertificates(): Promise<CMResult>; 102661847f8eSopenharmony_ci} 102761847f8eSopenharmony_ci 102861847f8eSopenharmony_ciexport default certificateManager; 1029