161847f8eSopenharmony_ci/* 261847f8eSopenharmony_ci * Copyright (c) 2022-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_ciimport type { AsyncCallback } from './@ohos.base'; 2161847f8eSopenharmony_ciimport cryptoFramework from './@ohos.security.cryptoFramework'; 2261847f8eSopenharmony_ci 2361847f8eSopenharmony_ci/** 2461847f8eSopenharmony_ci * Provides a series of capabilities related to certificates, 2561847f8eSopenharmony_ci * which supports parsing, verification, and output of certificates, extensions, and CRLs. 2661847f8eSopenharmony_ci * 2761847f8eSopenharmony_ci * @namespace cert 2861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 2961847f8eSopenharmony_ci * @since 9 3061847f8eSopenharmony_ci */ 3161847f8eSopenharmony_ci/** 3261847f8eSopenharmony_ci * Provides a series of capabilities related to certificates, 3361847f8eSopenharmony_ci * which supports parsing, verification, and output of certificates, extensions, and CRLs. 3461847f8eSopenharmony_ci * 3561847f8eSopenharmony_ci * @namespace cert 3661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 3761847f8eSopenharmony_ci * @crossplatform 3861847f8eSopenharmony_ci * @since 11 3961847f8eSopenharmony_ci */ 4061847f8eSopenharmony_ci/** 4161847f8eSopenharmony_ci * Provides a series of capabilities related to certificates, 4261847f8eSopenharmony_ci * which supports parsing, verification, and output of certificates, extensions, and CRLs. 4361847f8eSopenharmony_ci * 4461847f8eSopenharmony_ci * @namespace cert 4561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 4661847f8eSopenharmony_ci * @crossplatform 4761847f8eSopenharmony_ci * @atomicservice 4861847f8eSopenharmony_ci * @since 12 4961847f8eSopenharmony_ci */ 5061847f8eSopenharmony_cideclare namespace cert { 5161847f8eSopenharmony_ci /** 5261847f8eSopenharmony_ci * Enum for result code 5361847f8eSopenharmony_ci * 5461847f8eSopenharmony_ci * @enum { number } 5561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 5661847f8eSopenharmony_ci * @since 9 5761847f8eSopenharmony_ci */ 5861847f8eSopenharmony_ci /** 5961847f8eSopenharmony_ci * Enum for result code 6061847f8eSopenharmony_ci * 6161847f8eSopenharmony_ci * @enum { number } 6261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 6361847f8eSopenharmony_ci * @crossplatform 6461847f8eSopenharmony_ci * @since 11 6561847f8eSopenharmony_ci */ 6661847f8eSopenharmony_ci /** 6761847f8eSopenharmony_ci * Enum for result code 6861847f8eSopenharmony_ci * 6961847f8eSopenharmony_ci * @enum { number } 7061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 7161847f8eSopenharmony_ci * @crossplatform 7261847f8eSopenharmony_ci * @atomicservice 7361847f8eSopenharmony_ci * @since 12 7461847f8eSopenharmony_ci */ 7561847f8eSopenharmony_ci enum CertResult { 7661847f8eSopenharmony_ci /** 7761847f8eSopenharmony_ci * Indicates that input parameters is invalid. 7861847f8eSopenharmony_ci * 7961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 8061847f8eSopenharmony_ci * @since 9 8161847f8eSopenharmony_ci */ 8261847f8eSopenharmony_ci /** 8361847f8eSopenharmony_ci * Indicates that input parameters is invalid. 8461847f8eSopenharmony_ci * 8561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 8661847f8eSopenharmony_ci * @crossplatform 8761847f8eSopenharmony_ci * @since 11 8861847f8eSopenharmony_ci */ 8961847f8eSopenharmony_ci /** 9061847f8eSopenharmony_ci * Indicates that input parameters is invalid. 9161847f8eSopenharmony_ci * 9261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 9361847f8eSopenharmony_ci * @crossplatform 9461847f8eSopenharmony_ci * @atomicservice 9561847f8eSopenharmony_ci * @since 12 9661847f8eSopenharmony_ci */ 9761847f8eSopenharmony_ci INVALID_PARAMS = 401, 9861847f8eSopenharmony_ci 9961847f8eSopenharmony_ci /** 10061847f8eSopenharmony_ci * Indicates that function or algorithm is not supported. 10161847f8eSopenharmony_ci * 10261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 10361847f8eSopenharmony_ci * @since 9 10461847f8eSopenharmony_ci */ 10561847f8eSopenharmony_ci /** 10661847f8eSopenharmony_ci * Indicates that function or algorithm is not supported. 10761847f8eSopenharmony_ci * 10861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 10961847f8eSopenharmony_ci * @crossplatform 11061847f8eSopenharmony_ci * @since 11 11161847f8eSopenharmony_ci */ 11261847f8eSopenharmony_ci /** 11361847f8eSopenharmony_ci * Indicates that function or algorithm is not supported. 11461847f8eSopenharmony_ci * 11561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 11661847f8eSopenharmony_ci * @crossplatform 11761847f8eSopenharmony_ci * @atomicservice 11861847f8eSopenharmony_ci * @since 12 11961847f8eSopenharmony_ci */ 12061847f8eSopenharmony_ci NOT_SUPPORT = 801, 12161847f8eSopenharmony_ci 12261847f8eSopenharmony_ci /** 12361847f8eSopenharmony_ci * Indicates the memory error. 12461847f8eSopenharmony_ci * 12561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 12661847f8eSopenharmony_ci * @since 9 12761847f8eSopenharmony_ci */ 12861847f8eSopenharmony_ci /** 12961847f8eSopenharmony_ci * Indicates the memory error. 13061847f8eSopenharmony_ci * 13161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 13261847f8eSopenharmony_ci * @crossplatform 13361847f8eSopenharmony_ci * @since 11 13461847f8eSopenharmony_ci */ 13561847f8eSopenharmony_ci /** 13661847f8eSopenharmony_ci * Indicates the memory error. 13761847f8eSopenharmony_ci * 13861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 13961847f8eSopenharmony_ci * @crossplatform 14061847f8eSopenharmony_ci * @atomicservice 14161847f8eSopenharmony_ci * @since 12 14261847f8eSopenharmony_ci */ 14361847f8eSopenharmony_ci ERR_OUT_OF_MEMORY = 19020001, 14461847f8eSopenharmony_ci 14561847f8eSopenharmony_ci /** 14661847f8eSopenharmony_ci * Indicates that runtime error. 14761847f8eSopenharmony_ci * 14861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 14961847f8eSopenharmony_ci * @since 9 15061847f8eSopenharmony_ci */ 15161847f8eSopenharmony_ci /** 15261847f8eSopenharmony_ci * Indicates that runtime error. 15361847f8eSopenharmony_ci * 15461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 15561847f8eSopenharmony_ci * @crossplatform 15661847f8eSopenharmony_ci * @since 11 15761847f8eSopenharmony_ci */ 15861847f8eSopenharmony_ci /** 15961847f8eSopenharmony_ci * Indicates that runtime error. 16061847f8eSopenharmony_ci * 16161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 16261847f8eSopenharmony_ci * @crossplatform 16361847f8eSopenharmony_ci * @atomicservice 16461847f8eSopenharmony_ci * @since 12 16561847f8eSopenharmony_ci */ 16661847f8eSopenharmony_ci ERR_RUNTIME_ERROR = 19020002, 16761847f8eSopenharmony_ci 16861847f8eSopenharmony_ci /** 16961847f8eSopenharmony_ci * Indicates the crypto operation error. 17061847f8eSopenharmony_ci * 17161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 17261847f8eSopenharmony_ci * @since 9 17361847f8eSopenharmony_ci */ 17461847f8eSopenharmony_ci /** 17561847f8eSopenharmony_ci * Indicates the crypto operation error. 17661847f8eSopenharmony_ci * 17761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 17861847f8eSopenharmony_ci * @crossplatform 17961847f8eSopenharmony_ci * @since 11 18061847f8eSopenharmony_ci */ 18161847f8eSopenharmony_ci /** 18261847f8eSopenharmony_ci * Indicates the crypto operation error. 18361847f8eSopenharmony_ci * 18461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 18561847f8eSopenharmony_ci * @crossplatform 18661847f8eSopenharmony_ci * @atomicservice 18761847f8eSopenharmony_ci * @since 12 18861847f8eSopenharmony_ci */ 18961847f8eSopenharmony_ci ERR_CRYPTO_OPERATION = 19030001, 19061847f8eSopenharmony_ci 19161847f8eSopenharmony_ci /** 19261847f8eSopenharmony_ci * Indicates that the certificate signature verification failed. 19361847f8eSopenharmony_ci * 19461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 19561847f8eSopenharmony_ci * @since 9 19661847f8eSopenharmony_ci */ 19761847f8eSopenharmony_ci /** 19861847f8eSopenharmony_ci * Indicates that the certificate signature verification failed. 19961847f8eSopenharmony_ci * 20061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 20161847f8eSopenharmony_ci * @crossplatform 20261847f8eSopenharmony_ci * @since 11 20361847f8eSopenharmony_ci */ 20461847f8eSopenharmony_ci /** 20561847f8eSopenharmony_ci * Indicates that the certificate signature verification failed. 20661847f8eSopenharmony_ci * 20761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 20861847f8eSopenharmony_ci * @crossplatform 20961847f8eSopenharmony_ci * @atomicservice 21061847f8eSopenharmony_ci * @since 12 21161847f8eSopenharmony_ci */ 21261847f8eSopenharmony_ci ERR_CERT_SIGNATURE_FAILURE = 19030002, 21361847f8eSopenharmony_ci 21461847f8eSopenharmony_ci /** 21561847f8eSopenharmony_ci * Indicates that the certificate has not taken effect. 21661847f8eSopenharmony_ci * 21761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 21861847f8eSopenharmony_ci * @since 9 21961847f8eSopenharmony_ci */ 22061847f8eSopenharmony_ci /** 22161847f8eSopenharmony_ci * Indicates that the certificate has not taken effect. 22261847f8eSopenharmony_ci * 22361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 22461847f8eSopenharmony_ci * @crossplatform 22561847f8eSopenharmony_ci * @since 11 22661847f8eSopenharmony_ci */ 22761847f8eSopenharmony_ci /** 22861847f8eSopenharmony_ci * Indicates that the certificate has not taken effect. 22961847f8eSopenharmony_ci * 23061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 23161847f8eSopenharmony_ci * @crossplatform 23261847f8eSopenharmony_ci * @atomicservice 23361847f8eSopenharmony_ci * @since 12 23461847f8eSopenharmony_ci */ 23561847f8eSopenharmony_ci ERR_CERT_NOT_YET_VALID = 19030003, 23661847f8eSopenharmony_ci 23761847f8eSopenharmony_ci /** 23861847f8eSopenharmony_ci * Indicates that the certificate has expired. 23961847f8eSopenharmony_ci * 24061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 24161847f8eSopenharmony_ci * @since 9 24261847f8eSopenharmony_ci */ 24361847f8eSopenharmony_ci /** 24461847f8eSopenharmony_ci * Indicates that the certificate has expired. 24561847f8eSopenharmony_ci * 24661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 24761847f8eSopenharmony_ci * @crossplatform 24861847f8eSopenharmony_ci * @since 11 24961847f8eSopenharmony_ci */ 25061847f8eSopenharmony_ci /** 25161847f8eSopenharmony_ci * Indicates that the certificate has expired. 25261847f8eSopenharmony_ci * 25361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 25461847f8eSopenharmony_ci * @crossplatform 25561847f8eSopenharmony_ci * @atomicservice 25661847f8eSopenharmony_ci * @since 12 25761847f8eSopenharmony_ci */ 25861847f8eSopenharmony_ci ERR_CERT_HAS_EXPIRED = 19030004, 25961847f8eSopenharmony_ci 26061847f8eSopenharmony_ci /** 26161847f8eSopenharmony_ci * Indicates a failure to obtain the certificate issuer. 26261847f8eSopenharmony_ci * 26361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 26461847f8eSopenharmony_ci * @since 9 26561847f8eSopenharmony_ci */ 26661847f8eSopenharmony_ci /** 26761847f8eSopenharmony_ci * Indicates a failure to obtain the certificate issuer. 26861847f8eSopenharmony_ci * 26961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 27061847f8eSopenharmony_ci * @crossplatform 27161847f8eSopenharmony_ci * @since 11 27261847f8eSopenharmony_ci */ 27361847f8eSopenharmony_ci /** 27461847f8eSopenharmony_ci * Indicates a failure to obtain the certificate issuer. 27561847f8eSopenharmony_ci * 27661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 27761847f8eSopenharmony_ci * @crossplatform 27861847f8eSopenharmony_ci * @atomicservice 27961847f8eSopenharmony_ci * @since 12 28061847f8eSopenharmony_ci */ 28161847f8eSopenharmony_ci ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY = 19030005, 28261847f8eSopenharmony_ci 28361847f8eSopenharmony_ci /** 28461847f8eSopenharmony_ci * The key cannot be used for signing a certificate. 28561847f8eSopenharmony_ci * 28661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 28761847f8eSopenharmony_ci * @since 9 28861847f8eSopenharmony_ci */ 28961847f8eSopenharmony_ci /** 29061847f8eSopenharmony_ci * The key cannot be used for signing a certificate. 29161847f8eSopenharmony_ci * 29261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 29361847f8eSopenharmony_ci * @crossplatform 29461847f8eSopenharmony_ci * @since 11 29561847f8eSopenharmony_ci */ 29661847f8eSopenharmony_ci /** 29761847f8eSopenharmony_ci * The key cannot be used for signing a certificate. 29861847f8eSopenharmony_ci * 29961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 30061847f8eSopenharmony_ci * @crossplatform 30161847f8eSopenharmony_ci * @atomicservice 30261847f8eSopenharmony_ci * @since 12 30361847f8eSopenharmony_ci */ 30461847f8eSopenharmony_ci ERR_KEYUSAGE_NO_CERTSIGN = 19030006, 30561847f8eSopenharmony_ci 30661847f8eSopenharmony_ci /** 30761847f8eSopenharmony_ci * The key cannot be used for digital signature. 30861847f8eSopenharmony_ci * 30961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 31061847f8eSopenharmony_ci * @since 9 31161847f8eSopenharmony_ci */ 31261847f8eSopenharmony_ci /** 31361847f8eSopenharmony_ci * The key cannot be used for digital signature. 31461847f8eSopenharmony_ci * 31561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 31661847f8eSopenharmony_ci * @crossplatform 31761847f8eSopenharmony_ci * @since 11 31861847f8eSopenharmony_ci */ 31961847f8eSopenharmony_ci /** 32061847f8eSopenharmony_ci * The key cannot be used for digital signature. 32161847f8eSopenharmony_ci * 32261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 32361847f8eSopenharmony_ci * @crossplatform 32461847f8eSopenharmony_ci * @atomicservice 32561847f8eSopenharmony_ci * @since 12 32661847f8eSopenharmony_ci */ 32761847f8eSopenharmony_ci ERR_KEYUSAGE_NO_DIGITAL_SIGNATURE = 19030007 32861847f8eSopenharmony_ci } 32961847f8eSopenharmony_ci 33061847f8eSopenharmony_ci /** 33161847f8eSopenharmony_ci * Provides the data blob type. 33261847f8eSopenharmony_ci * 33361847f8eSopenharmony_ci * @typedef DataBlob 33461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 33561847f8eSopenharmony_ci * @since 9 33661847f8eSopenharmony_ci */ 33761847f8eSopenharmony_ci /** 33861847f8eSopenharmony_ci * Provides the data blob type. 33961847f8eSopenharmony_ci * 34061847f8eSopenharmony_ci * @typedef DataBlob 34161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 34261847f8eSopenharmony_ci * @crossplatform 34361847f8eSopenharmony_ci * @since 11 34461847f8eSopenharmony_ci */ 34561847f8eSopenharmony_ci /** 34661847f8eSopenharmony_ci * Provides the data blob type. 34761847f8eSopenharmony_ci * 34861847f8eSopenharmony_ci * @typedef DataBlob 34961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 35061847f8eSopenharmony_ci * @crossplatform 35161847f8eSopenharmony_ci * @atomicservice 35261847f8eSopenharmony_ci * @since 12 35361847f8eSopenharmony_ci */ 35461847f8eSopenharmony_ci interface DataBlob { 35561847f8eSopenharmony_ci /** 35661847f8eSopenharmony_ci * Indicates the content of data blob. 35761847f8eSopenharmony_ci * 35861847f8eSopenharmony_ci * @type { Uint8Array } 35961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 36061847f8eSopenharmony_ci * @since 9 36161847f8eSopenharmony_ci */ 36261847f8eSopenharmony_ci /** 36361847f8eSopenharmony_ci * Indicates the content of data blob. 36461847f8eSopenharmony_ci * 36561847f8eSopenharmony_ci * @type { Uint8Array } 36661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 36761847f8eSopenharmony_ci * @crossplatform 36861847f8eSopenharmony_ci * @since 11 36961847f8eSopenharmony_ci */ 37061847f8eSopenharmony_ci /** 37161847f8eSopenharmony_ci * Indicates the content of data blob. 37261847f8eSopenharmony_ci * 37361847f8eSopenharmony_ci * @type { Uint8Array } 37461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 37561847f8eSopenharmony_ci * @crossplatform 37661847f8eSopenharmony_ci * @atomicservice 37761847f8eSopenharmony_ci * @since 12 37861847f8eSopenharmony_ci */ 37961847f8eSopenharmony_ci data: Uint8Array; 38061847f8eSopenharmony_ci } 38161847f8eSopenharmony_ci 38261847f8eSopenharmony_ci /** 38361847f8eSopenharmony_ci * Provides the data array type. 38461847f8eSopenharmony_ci * 38561847f8eSopenharmony_ci * @typedef DataArray 38661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 38761847f8eSopenharmony_ci * @since 9 38861847f8eSopenharmony_ci */ 38961847f8eSopenharmony_ci /** 39061847f8eSopenharmony_ci * Provides the data array type. 39161847f8eSopenharmony_ci * 39261847f8eSopenharmony_ci * @typedef DataArray 39361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 39461847f8eSopenharmony_ci * @crossplatform 39561847f8eSopenharmony_ci * @since 11 39661847f8eSopenharmony_ci */ 39761847f8eSopenharmony_ci /** 39861847f8eSopenharmony_ci * Provides the data array type. 39961847f8eSopenharmony_ci * 40061847f8eSopenharmony_ci * @typedef DataArray 40161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 40261847f8eSopenharmony_ci * @crossplatform 40361847f8eSopenharmony_ci * @atomicservice 40461847f8eSopenharmony_ci * @since 12 40561847f8eSopenharmony_ci */ 40661847f8eSopenharmony_ci interface DataArray { 40761847f8eSopenharmony_ci /** 40861847f8eSopenharmony_ci * Indicates the content of data array. 40961847f8eSopenharmony_ci * 41061847f8eSopenharmony_ci * @type { Array<Uint8Array> } 41161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 41261847f8eSopenharmony_ci * @since 9 41361847f8eSopenharmony_ci */ 41461847f8eSopenharmony_ci /** 41561847f8eSopenharmony_ci * Indicates the content of data array. 41661847f8eSopenharmony_ci * 41761847f8eSopenharmony_ci * @type { Array<Uint8Array> } 41861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 41961847f8eSopenharmony_ci * @crossplatform 42061847f8eSopenharmony_ci * @since 11 42161847f8eSopenharmony_ci */ 42261847f8eSopenharmony_ci /** 42361847f8eSopenharmony_ci * Indicates the content of data array. 42461847f8eSopenharmony_ci * 42561847f8eSopenharmony_ci * @type { Array<Uint8Array> } 42661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 42761847f8eSopenharmony_ci * @crossplatform 42861847f8eSopenharmony_ci * @atomicservice 42961847f8eSopenharmony_ci * @since 12 43061847f8eSopenharmony_ci */ 43161847f8eSopenharmony_ci data: Array<Uint8Array>; 43261847f8eSopenharmony_ci } 43361847f8eSopenharmony_ci 43461847f8eSopenharmony_ci /** 43561847f8eSopenharmony_ci * Enum for supported cert encoding format. 43661847f8eSopenharmony_ci * 43761847f8eSopenharmony_ci * @enum { number } 43861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 43961847f8eSopenharmony_ci * @since 9 44061847f8eSopenharmony_ci */ 44161847f8eSopenharmony_ci /** 44261847f8eSopenharmony_ci * Enum for supported cert encoding format. 44361847f8eSopenharmony_ci * 44461847f8eSopenharmony_ci * @enum { number } 44561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 44661847f8eSopenharmony_ci * @crossplatform 44761847f8eSopenharmony_ci * @since 11 44861847f8eSopenharmony_ci */ 44961847f8eSopenharmony_ci /** 45061847f8eSopenharmony_ci * Enum for supported cert encoding format. 45161847f8eSopenharmony_ci * 45261847f8eSopenharmony_ci * @enum { number } 45361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 45461847f8eSopenharmony_ci * @crossplatform 45561847f8eSopenharmony_ci * @atomicservice 45661847f8eSopenharmony_ci * @since 12 45761847f8eSopenharmony_ci */ 45861847f8eSopenharmony_ci enum EncodingFormat { 45961847f8eSopenharmony_ci /** 46061847f8eSopenharmony_ci * The value of cert DER format. 46161847f8eSopenharmony_ci * 46261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 46361847f8eSopenharmony_ci * @since 9 46461847f8eSopenharmony_ci */ 46561847f8eSopenharmony_ci /** 46661847f8eSopenharmony_ci * The value of cert DER format. 46761847f8eSopenharmony_ci * 46861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 46961847f8eSopenharmony_ci * @crossplatform 47061847f8eSopenharmony_ci * @since 11 47161847f8eSopenharmony_ci */ 47261847f8eSopenharmony_ci /** 47361847f8eSopenharmony_ci * The value of cert DER format. 47461847f8eSopenharmony_ci * 47561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 47661847f8eSopenharmony_ci * @crossplatform 47761847f8eSopenharmony_ci * @atomicservice 47861847f8eSopenharmony_ci * @since 12 47961847f8eSopenharmony_ci */ 48061847f8eSopenharmony_ci FORMAT_DER = 0, 48161847f8eSopenharmony_ci 48261847f8eSopenharmony_ci /** 48361847f8eSopenharmony_ci * The value of cert PEM format. 48461847f8eSopenharmony_ci * 48561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 48661847f8eSopenharmony_ci * @since 9 48761847f8eSopenharmony_ci */ 48861847f8eSopenharmony_ci /** 48961847f8eSopenharmony_ci * The value of cert PEM format. 49061847f8eSopenharmony_ci * 49161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 49261847f8eSopenharmony_ci * @crossplatform 49361847f8eSopenharmony_ci * @since 11 49461847f8eSopenharmony_ci */ 49561847f8eSopenharmony_ci /** 49661847f8eSopenharmony_ci * The value of cert PEM format. 49761847f8eSopenharmony_ci * 49861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 49961847f8eSopenharmony_ci * @crossplatform 50061847f8eSopenharmony_ci * @atomicservice 50161847f8eSopenharmony_ci * @since 12 50261847f8eSopenharmony_ci */ 50361847f8eSopenharmony_ci FORMAT_PEM = 1, 50461847f8eSopenharmony_ci 50561847f8eSopenharmony_ci /** 50661847f8eSopenharmony_ci * The value of cert chain PKCS7 format. 50761847f8eSopenharmony_ci * 50861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 50961847f8eSopenharmony_ci * @crossplatform 51061847f8eSopenharmony_ci * @since 11 51161847f8eSopenharmony_ci */ 51261847f8eSopenharmony_ci /** 51361847f8eSopenharmony_ci * The value of cert chain PKCS7 format. 51461847f8eSopenharmony_ci * 51561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 51661847f8eSopenharmony_ci * @crossplatform 51761847f8eSopenharmony_ci * @atomicservice 51861847f8eSopenharmony_ci * @since 12 51961847f8eSopenharmony_ci */ 52061847f8eSopenharmony_ci FORMAT_PKCS7 = 2 52161847f8eSopenharmony_ci } 52261847f8eSopenharmony_ci 52361847f8eSopenharmony_ci /** 52461847f8eSopenharmony_ci * Enum for the certificate item type. 52561847f8eSopenharmony_ci * 52661847f8eSopenharmony_ci * @enum { number } 52761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 52861847f8eSopenharmony_ci * @since 10 52961847f8eSopenharmony_ci */ 53061847f8eSopenharmony_ci /** 53161847f8eSopenharmony_ci * Enum for the certificate item type. 53261847f8eSopenharmony_ci * 53361847f8eSopenharmony_ci * @enum { number } 53461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 53561847f8eSopenharmony_ci * @crossplatform 53661847f8eSopenharmony_ci * @since 11 53761847f8eSopenharmony_ci */ 53861847f8eSopenharmony_ci /** 53961847f8eSopenharmony_ci * Enum for the certificate item type. 54061847f8eSopenharmony_ci * 54161847f8eSopenharmony_ci * @enum { number } 54261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 54361847f8eSopenharmony_ci * @crossplatform 54461847f8eSopenharmony_ci * @atomicservice 54561847f8eSopenharmony_ci * @since 12 54661847f8eSopenharmony_ci */ 54761847f8eSopenharmony_ci enum CertItemType { 54861847f8eSopenharmony_ci /** 54961847f8eSopenharmony_ci * Indicates to get certificate TBS(to be signed) value. 55061847f8eSopenharmony_ci * 55161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 55261847f8eSopenharmony_ci * @since 10 55361847f8eSopenharmony_ci */ 55461847f8eSopenharmony_ci /** 55561847f8eSopenharmony_ci * Indicates to get certificate TBS(to be signed) value. 55661847f8eSopenharmony_ci * 55761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 55861847f8eSopenharmony_ci * @crossplatform 55961847f8eSopenharmony_ci * @since 11 56061847f8eSopenharmony_ci */ 56161847f8eSopenharmony_ci /** 56261847f8eSopenharmony_ci * Indicates to get certificate TBS(to be signed) value. 56361847f8eSopenharmony_ci * 56461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 56561847f8eSopenharmony_ci * @crossplatform 56661847f8eSopenharmony_ci * @atomicservice 56761847f8eSopenharmony_ci * @since 12 56861847f8eSopenharmony_ci */ 56961847f8eSopenharmony_ci CERT_ITEM_TYPE_TBS = 0, 57061847f8eSopenharmony_ci 57161847f8eSopenharmony_ci /** 57261847f8eSopenharmony_ci * Indicates to get certificate public key. 57361847f8eSopenharmony_ci * 57461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 57561847f8eSopenharmony_ci * @since 10 57661847f8eSopenharmony_ci */ 57761847f8eSopenharmony_ci /** 57861847f8eSopenharmony_ci * Indicates to get certificate public key. 57961847f8eSopenharmony_ci * 58061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 58161847f8eSopenharmony_ci * @crossplatform 58261847f8eSopenharmony_ci * @since 11 58361847f8eSopenharmony_ci */ 58461847f8eSopenharmony_ci /** 58561847f8eSopenharmony_ci * Indicates to get certificate public key. 58661847f8eSopenharmony_ci * 58761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 58861847f8eSopenharmony_ci * @crossplatform 58961847f8eSopenharmony_ci * @atomicservice 59061847f8eSopenharmony_ci * @since 12 59161847f8eSopenharmony_ci */ 59261847f8eSopenharmony_ci CERT_ITEM_TYPE_PUBLIC_KEY = 1, 59361847f8eSopenharmony_ci 59461847f8eSopenharmony_ci /** 59561847f8eSopenharmony_ci * Indicates to get certificate issuer unique id value. 59661847f8eSopenharmony_ci * 59761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 59861847f8eSopenharmony_ci * @since 10 59961847f8eSopenharmony_ci */ 60061847f8eSopenharmony_ci /** 60161847f8eSopenharmony_ci * Indicates to get certificate issuer unique id value. 60261847f8eSopenharmony_ci * 60361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 60461847f8eSopenharmony_ci * @crossplatform 60561847f8eSopenharmony_ci * @since 11 60661847f8eSopenharmony_ci */ 60761847f8eSopenharmony_ci /** 60861847f8eSopenharmony_ci * Indicates to get certificate issuer unique id value. 60961847f8eSopenharmony_ci * 61061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 61161847f8eSopenharmony_ci * @crossplatform 61261847f8eSopenharmony_ci * @atomicservice 61361847f8eSopenharmony_ci * @since 12 61461847f8eSopenharmony_ci */ 61561847f8eSopenharmony_ci CERT_ITEM_TYPE_ISSUER_UNIQUE_ID = 2, 61661847f8eSopenharmony_ci 61761847f8eSopenharmony_ci /** 61861847f8eSopenharmony_ci * Indicates to get certificate subject unique id value. 61961847f8eSopenharmony_ci * 62061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 62161847f8eSopenharmony_ci * @since 10 62261847f8eSopenharmony_ci */ 62361847f8eSopenharmony_ci /** 62461847f8eSopenharmony_ci * Indicates to get certificate subject unique id value. 62561847f8eSopenharmony_ci * 62661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 62761847f8eSopenharmony_ci * @crossplatform 62861847f8eSopenharmony_ci * @since 11 62961847f8eSopenharmony_ci */ 63061847f8eSopenharmony_ci /** 63161847f8eSopenharmony_ci * Indicates to get certificate subject unique id value. 63261847f8eSopenharmony_ci * 63361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 63461847f8eSopenharmony_ci * @crossplatform 63561847f8eSopenharmony_ci * @atomicservice 63661847f8eSopenharmony_ci * @since 12 63761847f8eSopenharmony_ci */ 63861847f8eSopenharmony_ci CERT_ITEM_TYPE_SUBJECT_UNIQUE_ID = 3, 63961847f8eSopenharmony_ci 64061847f8eSopenharmony_ci /** 64161847f8eSopenharmony_ci * Indicates to get certificate extensions value. 64261847f8eSopenharmony_ci * 64361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 64461847f8eSopenharmony_ci * @since 10 64561847f8eSopenharmony_ci */ 64661847f8eSopenharmony_ci /** 64761847f8eSopenharmony_ci * Indicates to get certificate extensions value. 64861847f8eSopenharmony_ci * 64961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 65061847f8eSopenharmony_ci * @crossplatform 65161847f8eSopenharmony_ci * @since 11 65261847f8eSopenharmony_ci */ 65361847f8eSopenharmony_ci /** 65461847f8eSopenharmony_ci * Indicates to get certificate extensions value. 65561847f8eSopenharmony_ci * 65661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 65761847f8eSopenharmony_ci * @crossplatform 65861847f8eSopenharmony_ci * @atomicservice 65961847f8eSopenharmony_ci * @since 12 66061847f8eSopenharmony_ci */ 66161847f8eSopenharmony_ci CERT_ITEM_TYPE_EXTENSIONS = 4 66261847f8eSopenharmony_ci } 66361847f8eSopenharmony_ci 66461847f8eSopenharmony_ci /** 66561847f8eSopenharmony_ci * Enumerates for the certificate extension object identifier (OID) types. 66661847f8eSopenharmony_ci * 66761847f8eSopenharmony_ci * @enum { number } 66861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 66961847f8eSopenharmony_ci * @since 10 67061847f8eSopenharmony_ci */ 67161847f8eSopenharmony_ci /** 67261847f8eSopenharmony_ci * Enumerates for the certificate extension object identifier (OID) types. 67361847f8eSopenharmony_ci * 67461847f8eSopenharmony_ci * @enum { number } 67561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 67661847f8eSopenharmony_ci * @crossplatform 67761847f8eSopenharmony_ci * @since 11 67861847f8eSopenharmony_ci */ 67961847f8eSopenharmony_ci /** 68061847f8eSopenharmony_ci * Enumerates for the certificate extension object identifier (OID) types. 68161847f8eSopenharmony_ci * 68261847f8eSopenharmony_ci * @enum { number } 68361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 68461847f8eSopenharmony_ci * @crossplatform 68561847f8eSopenharmony_ci * @atomicservice 68661847f8eSopenharmony_ci * @since 12 68761847f8eSopenharmony_ci */ 68861847f8eSopenharmony_ci enum ExtensionOidType { 68961847f8eSopenharmony_ci /** 69061847f8eSopenharmony_ci * Indicates to obtain all types of OIDs, including critical and uncritical types. 69161847f8eSopenharmony_ci * 69261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 69361847f8eSopenharmony_ci * @since 10 69461847f8eSopenharmony_ci */ 69561847f8eSopenharmony_ci /** 69661847f8eSopenharmony_ci * Indicates to obtain all types of OIDs, including critical and uncritical types. 69761847f8eSopenharmony_ci * 69861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 69961847f8eSopenharmony_ci * @crossplatform 70061847f8eSopenharmony_ci * @since 11 70161847f8eSopenharmony_ci */ 70261847f8eSopenharmony_ci /** 70361847f8eSopenharmony_ci * Indicates to obtain all types of OIDs, including critical and uncritical types. 70461847f8eSopenharmony_ci * 70561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 70661847f8eSopenharmony_ci * @crossplatform 70761847f8eSopenharmony_ci * @atomicservice 70861847f8eSopenharmony_ci * @since 12 70961847f8eSopenharmony_ci */ 71061847f8eSopenharmony_ci EXTENSION_OID_TYPE_ALL = 0, 71161847f8eSopenharmony_ci 71261847f8eSopenharmony_ci /** 71361847f8eSopenharmony_ci * Indicates to obtain OIDs of the critical type. 71461847f8eSopenharmony_ci * 71561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 71661847f8eSopenharmony_ci * @since 10 71761847f8eSopenharmony_ci */ 71861847f8eSopenharmony_ci /** 71961847f8eSopenharmony_ci * Indicates to obtain OIDs of the critical type. 72061847f8eSopenharmony_ci * 72161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 72261847f8eSopenharmony_ci * @crossplatform 72361847f8eSopenharmony_ci * @since 11 72461847f8eSopenharmony_ci */ 72561847f8eSopenharmony_ci /** 72661847f8eSopenharmony_ci * Indicates to obtain OIDs of the critical type. 72761847f8eSopenharmony_ci * 72861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 72961847f8eSopenharmony_ci * @crossplatform 73061847f8eSopenharmony_ci * @atomicservice 73161847f8eSopenharmony_ci * @since 12 73261847f8eSopenharmony_ci */ 73361847f8eSopenharmony_ci EXTENSION_OID_TYPE_CRITICAL = 1, 73461847f8eSopenharmony_ci 73561847f8eSopenharmony_ci /** 73661847f8eSopenharmony_ci * Indicates to obtain OIDs of the uncritical type. 73761847f8eSopenharmony_ci * 73861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 73961847f8eSopenharmony_ci * @since 10 74061847f8eSopenharmony_ci */ 74161847f8eSopenharmony_ci /** 74261847f8eSopenharmony_ci * Indicates to obtain OIDs of the uncritical type. 74361847f8eSopenharmony_ci * 74461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 74561847f8eSopenharmony_ci * @crossplatform 74661847f8eSopenharmony_ci * @since 11 74761847f8eSopenharmony_ci */ 74861847f8eSopenharmony_ci /** 74961847f8eSopenharmony_ci * Indicates to obtain OIDs of the uncritical type. 75061847f8eSopenharmony_ci * 75161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 75261847f8eSopenharmony_ci * @crossplatform 75361847f8eSopenharmony_ci * @atomicservice 75461847f8eSopenharmony_ci * @since 12 75561847f8eSopenharmony_ci */ 75661847f8eSopenharmony_ci EXTENSION_OID_TYPE_UNCRITICAL = 2 75761847f8eSopenharmony_ci } 75861847f8eSopenharmony_ci 75961847f8eSopenharmony_ci /** 76061847f8eSopenharmony_ci * Enum for the certificate extension entry type. 76161847f8eSopenharmony_ci * 76261847f8eSopenharmony_ci * @enum { number } 76361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 76461847f8eSopenharmony_ci * @since 10 76561847f8eSopenharmony_ci */ 76661847f8eSopenharmony_ci /** 76761847f8eSopenharmony_ci * Enum for the certificate extension entry type. 76861847f8eSopenharmony_ci * 76961847f8eSopenharmony_ci * @enum { number } 77061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 77161847f8eSopenharmony_ci * @crossplatform 77261847f8eSopenharmony_ci * @since 11 77361847f8eSopenharmony_ci */ 77461847f8eSopenharmony_ci /** 77561847f8eSopenharmony_ci * Enum for the certificate extension entry type. 77661847f8eSopenharmony_ci * 77761847f8eSopenharmony_ci * @enum { number } 77861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 77961847f8eSopenharmony_ci * @crossplatform 78061847f8eSopenharmony_ci * @atomicservice 78161847f8eSopenharmony_ci * @since 12 78261847f8eSopenharmony_ci */ 78361847f8eSopenharmony_ci enum ExtensionEntryType { 78461847f8eSopenharmony_ci /** 78561847f8eSopenharmony_ci * Indicates to get extension entry. 78661847f8eSopenharmony_ci * 78761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 78861847f8eSopenharmony_ci * @since 10 78961847f8eSopenharmony_ci */ 79061847f8eSopenharmony_ci /** 79161847f8eSopenharmony_ci * Indicates to get extension entry. 79261847f8eSopenharmony_ci * 79361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 79461847f8eSopenharmony_ci * @crossplatform 79561847f8eSopenharmony_ci * @since 11 79661847f8eSopenharmony_ci */ 79761847f8eSopenharmony_ci /** 79861847f8eSopenharmony_ci * Indicates to get extension entry. 79961847f8eSopenharmony_ci * 80061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 80161847f8eSopenharmony_ci * @crossplatform 80261847f8eSopenharmony_ci * @atomicservice 80361847f8eSopenharmony_ci * @since 12 80461847f8eSopenharmony_ci */ 80561847f8eSopenharmony_ci EXTENSION_ENTRY_TYPE_ENTRY = 0, 80661847f8eSopenharmony_ci 80761847f8eSopenharmony_ci /** 80861847f8eSopenharmony_ci * Indicates to get extension entry critical. 80961847f8eSopenharmony_ci * 81061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 81161847f8eSopenharmony_ci * @since 10 81261847f8eSopenharmony_ci */ 81361847f8eSopenharmony_ci /** 81461847f8eSopenharmony_ci * Indicates to get extension entry critical. 81561847f8eSopenharmony_ci * 81661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 81761847f8eSopenharmony_ci * @crossplatform 81861847f8eSopenharmony_ci * @since 11 81961847f8eSopenharmony_ci */ 82061847f8eSopenharmony_ci /** 82161847f8eSopenharmony_ci * Indicates to get extension entry critical. 82261847f8eSopenharmony_ci * 82361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 82461847f8eSopenharmony_ci * @crossplatform 82561847f8eSopenharmony_ci * @atomicservice 82661847f8eSopenharmony_ci * @since 12 82761847f8eSopenharmony_ci */ 82861847f8eSopenharmony_ci EXTENSION_ENTRY_TYPE_ENTRY_CRITICAL = 1, 82961847f8eSopenharmony_ci 83061847f8eSopenharmony_ci /** 83161847f8eSopenharmony_ci * Indicates to get extension entry value. 83261847f8eSopenharmony_ci * 83361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 83461847f8eSopenharmony_ci * @since 10 83561847f8eSopenharmony_ci */ 83661847f8eSopenharmony_ci /** 83761847f8eSopenharmony_ci * Indicates to get extension entry value. 83861847f8eSopenharmony_ci * 83961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 84061847f8eSopenharmony_ci * @crossplatform 84161847f8eSopenharmony_ci * @since 11 84261847f8eSopenharmony_ci */ 84361847f8eSopenharmony_ci /** 84461847f8eSopenharmony_ci * Indicates to get extension entry value. 84561847f8eSopenharmony_ci * 84661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 84761847f8eSopenharmony_ci * @crossplatform 84861847f8eSopenharmony_ci * @atomicservice 84961847f8eSopenharmony_ci * @since 12 85061847f8eSopenharmony_ci */ 85161847f8eSopenharmony_ci EXTENSION_ENTRY_TYPE_ENTRY_VALUE = 2 85261847f8eSopenharmony_ci } 85361847f8eSopenharmony_ci 85461847f8eSopenharmony_ci /** 85561847f8eSopenharmony_ci * Provides the cert encoding blob type. 85661847f8eSopenharmony_ci * 85761847f8eSopenharmony_ci * @typedef EncodingBlob 85861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 85961847f8eSopenharmony_ci * @since 9 86061847f8eSopenharmony_ci */ 86161847f8eSopenharmony_ci /** 86261847f8eSopenharmony_ci * Provides the cert encoding blob type. 86361847f8eSopenharmony_ci * 86461847f8eSopenharmony_ci * @typedef EncodingBlob 86561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 86661847f8eSopenharmony_ci * @crossplatform 86761847f8eSopenharmony_ci * @since 11 86861847f8eSopenharmony_ci */ 86961847f8eSopenharmony_ci /** 87061847f8eSopenharmony_ci * Provides the cert encoding blob type. 87161847f8eSopenharmony_ci * 87261847f8eSopenharmony_ci * @typedef EncodingBlob 87361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 87461847f8eSopenharmony_ci * @crossplatform 87561847f8eSopenharmony_ci * @atomicservice 87661847f8eSopenharmony_ci * @since 12 87761847f8eSopenharmony_ci */ 87861847f8eSopenharmony_ci interface EncodingBlob { 87961847f8eSopenharmony_ci /** 88061847f8eSopenharmony_ci * The data input. 88161847f8eSopenharmony_ci * 88261847f8eSopenharmony_ci * @type { Uint8Array } 88361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 88461847f8eSopenharmony_ci * @since 9 88561847f8eSopenharmony_ci */ 88661847f8eSopenharmony_ci /** 88761847f8eSopenharmony_ci * The data input. 88861847f8eSopenharmony_ci * 88961847f8eSopenharmony_ci * @type { Uint8Array } 89061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 89161847f8eSopenharmony_ci * @crossplatform 89261847f8eSopenharmony_ci * @since 11 89361847f8eSopenharmony_ci */ 89461847f8eSopenharmony_ci /** 89561847f8eSopenharmony_ci * The data input. 89661847f8eSopenharmony_ci * 89761847f8eSopenharmony_ci * @type { Uint8Array } 89861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 89961847f8eSopenharmony_ci * @crossplatform 90061847f8eSopenharmony_ci * @atomicservice 90161847f8eSopenharmony_ci * @since 12 90261847f8eSopenharmony_ci */ 90361847f8eSopenharmony_ci data: Uint8Array; 90461847f8eSopenharmony_ci /** 90561847f8eSopenharmony_ci * The data encoding format. 90661847f8eSopenharmony_ci * 90761847f8eSopenharmony_ci * @type { EncodingFormat } 90861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 90961847f8eSopenharmony_ci * @since 9 91061847f8eSopenharmony_ci */ 91161847f8eSopenharmony_ci /** 91261847f8eSopenharmony_ci * The data encoding format. 91361847f8eSopenharmony_ci * 91461847f8eSopenharmony_ci * @type { EncodingFormat } 91561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 91661847f8eSopenharmony_ci * @crossplatform 91761847f8eSopenharmony_ci * @since 11 91861847f8eSopenharmony_ci */ 91961847f8eSopenharmony_ci /** 92061847f8eSopenharmony_ci * The data encoding format. 92161847f8eSopenharmony_ci * 92261847f8eSopenharmony_ci * @type { EncodingFormat } 92361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 92461847f8eSopenharmony_ci * @crossplatform 92561847f8eSopenharmony_ci * @atomicservice 92661847f8eSopenharmony_ci * @since 12 92761847f8eSopenharmony_ci */ 92861847f8eSopenharmony_ci encodingFormat: EncodingFormat; 92961847f8eSopenharmony_ci } 93061847f8eSopenharmony_ci 93161847f8eSopenharmony_ci /** 93261847f8eSopenharmony_ci * Provides the cert chain data type. 93361847f8eSopenharmony_ci * 93461847f8eSopenharmony_ci * @typedef CertChainData 93561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 93661847f8eSopenharmony_ci * @since 9 93761847f8eSopenharmony_ci */ 93861847f8eSopenharmony_ci /** 93961847f8eSopenharmony_ci * Provides the cert chain data type. 94061847f8eSopenharmony_ci * 94161847f8eSopenharmony_ci * @typedef CertChainData 94261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 94361847f8eSopenharmony_ci * @crossplatform 94461847f8eSopenharmony_ci * @since 11 94561847f8eSopenharmony_ci */ 94661847f8eSopenharmony_ci /** 94761847f8eSopenharmony_ci * Provides the cert chain data type. 94861847f8eSopenharmony_ci * 94961847f8eSopenharmony_ci * @typedef CertChainData 95061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 95161847f8eSopenharmony_ci * @crossplatform 95261847f8eSopenharmony_ci * @atomicservice 95361847f8eSopenharmony_ci * @since 12 95461847f8eSopenharmony_ci */ 95561847f8eSopenharmony_ci interface CertChainData { 95661847f8eSopenharmony_ci /** 95761847f8eSopenharmony_ci * The data input. 95861847f8eSopenharmony_ci * 95961847f8eSopenharmony_ci * @type { Uint8Array } 96061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 96161847f8eSopenharmony_ci * @since 9 96261847f8eSopenharmony_ci */ 96361847f8eSopenharmony_ci /** 96461847f8eSopenharmony_ci * The data input. 96561847f8eSopenharmony_ci * 96661847f8eSopenharmony_ci * @type { Uint8Array } 96761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 96861847f8eSopenharmony_ci * @crossplatform 96961847f8eSopenharmony_ci * @since 11 97061847f8eSopenharmony_ci */ 97161847f8eSopenharmony_ci /** 97261847f8eSopenharmony_ci * The data input. 97361847f8eSopenharmony_ci * 97461847f8eSopenharmony_ci * @type { Uint8Array } 97561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 97661847f8eSopenharmony_ci * @crossplatform 97761847f8eSopenharmony_ci * @atomicservice 97861847f8eSopenharmony_ci * @since 12 97961847f8eSopenharmony_ci */ 98061847f8eSopenharmony_ci data: Uint8Array; 98161847f8eSopenharmony_ci /** 98261847f8eSopenharmony_ci * The number of certs. 98361847f8eSopenharmony_ci * 98461847f8eSopenharmony_ci * @type { number } 98561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 98661847f8eSopenharmony_ci * @since 9 98761847f8eSopenharmony_ci */ 98861847f8eSopenharmony_ci /** 98961847f8eSopenharmony_ci * The number of certs. 99061847f8eSopenharmony_ci * 99161847f8eSopenharmony_ci * @type { number } 99261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 99361847f8eSopenharmony_ci * @crossplatform 99461847f8eSopenharmony_ci * @since 11 99561847f8eSopenharmony_ci */ 99661847f8eSopenharmony_ci /** 99761847f8eSopenharmony_ci * The number of certs. 99861847f8eSopenharmony_ci * 99961847f8eSopenharmony_ci * @type { number } 100061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 100161847f8eSopenharmony_ci * @crossplatform 100261847f8eSopenharmony_ci * @atomicservice 100361847f8eSopenharmony_ci * @since 12 100461847f8eSopenharmony_ci */ 100561847f8eSopenharmony_ci count: number; 100661847f8eSopenharmony_ci /** 100761847f8eSopenharmony_ci * The data encoding format. 100861847f8eSopenharmony_ci * 100961847f8eSopenharmony_ci * @type { EncodingFormat } 101061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 101161847f8eSopenharmony_ci * @since 9 101261847f8eSopenharmony_ci */ 101361847f8eSopenharmony_ci /** 101461847f8eSopenharmony_ci * The data encoding format. 101561847f8eSopenharmony_ci * 101661847f8eSopenharmony_ci * @type { EncodingFormat } 101761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 101861847f8eSopenharmony_ci * @crossplatform 101961847f8eSopenharmony_ci * @since 11 102061847f8eSopenharmony_ci */ 102161847f8eSopenharmony_ci /** 102261847f8eSopenharmony_ci * The data encoding format. 102361847f8eSopenharmony_ci * 102461847f8eSopenharmony_ci * @type { EncodingFormat } 102561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 102661847f8eSopenharmony_ci * @crossplatform 102761847f8eSopenharmony_ci * @atomicservice 102861847f8eSopenharmony_ci * @since 12 102961847f8eSopenharmony_ci */ 103061847f8eSopenharmony_ci encodingFormat: EncodingFormat; 103161847f8eSopenharmony_ci } 103261847f8eSopenharmony_ci 103361847f8eSopenharmony_ci /** 103461847f8eSopenharmony_ci * Enum for Encoding type. 103561847f8eSopenharmony_ci * 103661847f8eSopenharmony_ci * @enum { number } 103761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 103861847f8eSopenharmony_ci * @crossplatform 103961847f8eSopenharmony_ci * @atomicservice 104061847f8eSopenharmony_ci * @since 12 104161847f8eSopenharmony_ci */ 104261847f8eSopenharmony_ci enum EncodingType { 104361847f8eSopenharmony_ci /** 104461847f8eSopenharmony_ci * Indicates to utf8 type. 104561847f8eSopenharmony_ci * 104661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 104761847f8eSopenharmony_ci * @crossplatform 104861847f8eSopenharmony_ci * @atomicservice 104961847f8eSopenharmony_ci * @since 12 105061847f8eSopenharmony_ci */ 105161847f8eSopenharmony_ci ENCODING_UTF8 = 0 105261847f8eSopenharmony_ci } 105361847f8eSopenharmony_ci 105461847f8eSopenharmony_ci /** 105561847f8eSopenharmony_ci * Provides the x509 cert type. 105661847f8eSopenharmony_ci * 105761847f8eSopenharmony_ci * @typedef X509Cert 105861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 105961847f8eSopenharmony_ci * @since 9 106061847f8eSopenharmony_ci */ 106161847f8eSopenharmony_ci /** 106261847f8eSopenharmony_ci * Provides the x509 cert type. 106361847f8eSopenharmony_ci * 106461847f8eSopenharmony_ci * @typedef X509Cert 106561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 106661847f8eSopenharmony_ci * @crossplatform 106761847f8eSopenharmony_ci * @since 11 106861847f8eSopenharmony_ci */ 106961847f8eSopenharmony_ci /** 107061847f8eSopenharmony_ci * Provides the x509 cert type. 107161847f8eSopenharmony_ci * 107261847f8eSopenharmony_ci * @typedef X509Cert 107361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 107461847f8eSopenharmony_ci * @crossplatform 107561847f8eSopenharmony_ci * @atomicservice 107661847f8eSopenharmony_ci * @since 12 107761847f8eSopenharmony_ci */ 107861847f8eSopenharmony_ci interface X509Cert { 107961847f8eSopenharmony_ci /** 108061847f8eSopenharmony_ci * Verify the X509 cert. 108161847f8eSopenharmony_ci * 108261847f8eSopenharmony_ci * @param { cryptoFramework.PubKey } key - public key to verify cert. 108361847f8eSopenharmony_ci * @param { AsyncCallback<void> } callback - the callback of verify. 108461847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 108561847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 108661847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 108761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 108861847f8eSopenharmony_ci * @since 9 108961847f8eSopenharmony_ci */ 109061847f8eSopenharmony_ci /** 109161847f8eSopenharmony_ci * Verify the X509 cert. 109261847f8eSopenharmony_ci * 109361847f8eSopenharmony_ci * @param { cryptoFramework.PubKey } key - public key to verify cert. 109461847f8eSopenharmony_ci * @param { AsyncCallback<void> } callback - the callback of verify. 109561847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 109661847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 109761847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 109861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 109961847f8eSopenharmony_ci * @crossplatform 110061847f8eSopenharmony_ci * @since 11 110161847f8eSopenharmony_ci */ 110261847f8eSopenharmony_ci /** 110361847f8eSopenharmony_ci * Verify the X509 cert. 110461847f8eSopenharmony_ci * 110561847f8eSopenharmony_ci * @param { cryptoFramework.PubKey } key - public key to verify cert. 110661847f8eSopenharmony_ci * @param { AsyncCallback<void> } callback - the callback of verify. 110761847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 110861847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 110961847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 111061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 111161847f8eSopenharmony_ci * @crossplatform 111261847f8eSopenharmony_ci * @atomicservice 111361847f8eSopenharmony_ci * @since 12 111461847f8eSopenharmony_ci */ 111561847f8eSopenharmony_ci verify(key: cryptoFramework.PubKey, callback: AsyncCallback<void>): void; 111661847f8eSopenharmony_ci 111761847f8eSopenharmony_ci /** 111861847f8eSopenharmony_ci * Verify the X509 cert. 111961847f8eSopenharmony_ci * 112061847f8eSopenharmony_ci * @param { cryptoFramework.PubKey } key - public key to verify cert. 112161847f8eSopenharmony_ci * @returns { Promise<void> } the promise returned by the function. 112261847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 112361847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 112461847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 112561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 112661847f8eSopenharmony_ci * @since 9 112761847f8eSopenharmony_ci */ 112861847f8eSopenharmony_ci /** 112961847f8eSopenharmony_ci * Verify the X509 cert. 113061847f8eSopenharmony_ci * 113161847f8eSopenharmony_ci * @param { cryptoFramework.PubKey } key - public key to verify cert. 113261847f8eSopenharmony_ci * @returns { Promise<void> } the promise returned by the function. 113361847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 113461847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 113561847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 113661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 113761847f8eSopenharmony_ci * @crossplatform 113861847f8eSopenharmony_ci * @since 11 113961847f8eSopenharmony_ci */ 114061847f8eSopenharmony_ci /** 114161847f8eSopenharmony_ci * Verify the X509 cert. 114261847f8eSopenharmony_ci * 114361847f8eSopenharmony_ci * @param { cryptoFramework.PubKey } key - public key to verify cert. 114461847f8eSopenharmony_ci * @returns { Promise<void> } the promise returned by the function. 114561847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 114661847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 114761847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 114861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 114961847f8eSopenharmony_ci * @crossplatform 115061847f8eSopenharmony_ci * @atomicservice 115161847f8eSopenharmony_ci * @since 12 115261847f8eSopenharmony_ci */ 115361847f8eSopenharmony_ci verify(key: cryptoFramework.PubKey): Promise<void>; 115461847f8eSopenharmony_ci 115561847f8eSopenharmony_ci /** 115661847f8eSopenharmony_ci * Get X509 cert encoded data. 115761847f8eSopenharmony_ci * 115861847f8eSopenharmony_ci * @param { AsyncCallback<EncodingBlob> } callback - the callback of getEncoded. 115961847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 116061847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 116161847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 116261847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 116361847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 116461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 116561847f8eSopenharmony_ci * @since 9 116661847f8eSopenharmony_ci */ 116761847f8eSopenharmony_ci /** 116861847f8eSopenharmony_ci * Get X509 cert encoded data. 116961847f8eSopenharmony_ci * 117061847f8eSopenharmony_ci * @param { AsyncCallback<EncodingBlob> } callback - the callback of getEncoded. 117161847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 117261847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 117361847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 117461847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 117561847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 117661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 117761847f8eSopenharmony_ci * @crossplatform 117861847f8eSopenharmony_ci * @since 11 117961847f8eSopenharmony_ci */ 118061847f8eSopenharmony_ci /** 118161847f8eSopenharmony_ci * Get X509 cert encoded data. 118261847f8eSopenharmony_ci * 118361847f8eSopenharmony_ci * @param { AsyncCallback<EncodingBlob> } callback - the callback of getEncoded. 118461847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 118561847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 118661847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 118761847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 118861847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 118961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 119061847f8eSopenharmony_ci * @crossplatform 119161847f8eSopenharmony_ci * @atomicservice 119261847f8eSopenharmony_ci * @since 12 119361847f8eSopenharmony_ci */ 119461847f8eSopenharmony_ci getEncoded(callback: AsyncCallback<EncodingBlob>): void; 119561847f8eSopenharmony_ci 119661847f8eSopenharmony_ci /** 119761847f8eSopenharmony_ci * Get X509 cert encoded data. 119861847f8eSopenharmony_ci * 119961847f8eSopenharmony_ci * @returns { Promise<EncodingBlob> } the promise of X509 cert encoded data. 120061847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 120161847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 120261847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 120361847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 120461847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 120561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 120661847f8eSopenharmony_ci * @since 9 120761847f8eSopenharmony_ci */ 120861847f8eSopenharmony_ci /** 120961847f8eSopenharmony_ci * Get X509 cert encoded data. 121061847f8eSopenharmony_ci * 121161847f8eSopenharmony_ci * @returns { Promise<EncodingBlob> } the promise of X509 cert encoded data. 121261847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 121361847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 121461847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 121561847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 121661847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 121761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 121861847f8eSopenharmony_ci * @crossplatform 121961847f8eSopenharmony_ci * @since 11 122061847f8eSopenharmony_ci */ 122161847f8eSopenharmony_ci /** 122261847f8eSopenharmony_ci * Get X509 cert encoded data. 122361847f8eSopenharmony_ci * 122461847f8eSopenharmony_ci * @returns { Promise<EncodingBlob> } the promise of X509 cert encoded data. 122561847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 122661847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 122761847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 122861847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 122961847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 123061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 123161847f8eSopenharmony_ci * @crossplatform 123261847f8eSopenharmony_ci * @atomicservice 123361847f8eSopenharmony_ci * @since 12 123461847f8eSopenharmony_ci */ 123561847f8eSopenharmony_ci getEncoded(): Promise<EncodingBlob>; 123661847f8eSopenharmony_ci 123761847f8eSopenharmony_ci /** 123861847f8eSopenharmony_ci * Get X509 cert public key. 123961847f8eSopenharmony_ci * 124061847f8eSopenharmony_ci * @returns { cryptoFramework.PubKey } X509 cert pubKey. 124161847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 124261847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 124361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 124461847f8eSopenharmony_ci * @since 9 124561847f8eSopenharmony_ci */ 124661847f8eSopenharmony_ci /** 124761847f8eSopenharmony_ci * Get X509 cert public key. 124861847f8eSopenharmony_ci * 124961847f8eSopenharmony_ci * @returns { cryptoFramework.PubKey } X509 cert pubKey. 125061847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 125161847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 125261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 125361847f8eSopenharmony_ci * @crossplatform 125461847f8eSopenharmony_ci * @since 11 125561847f8eSopenharmony_ci */ 125661847f8eSopenharmony_ci /** 125761847f8eSopenharmony_ci * Get X509 cert public key. 125861847f8eSopenharmony_ci * 125961847f8eSopenharmony_ci * @returns { cryptoFramework.PubKey } X509 cert pubKey. 126061847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 126161847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 126261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 126361847f8eSopenharmony_ci * @crossplatform 126461847f8eSopenharmony_ci * @atomicservice 126561847f8eSopenharmony_ci * @since 12 126661847f8eSopenharmony_ci */ 126761847f8eSopenharmony_ci getPublicKey(): cryptoFramework.PubKey; 126861847f8eSopenharmony_ci 126961847f8eSopenharmony_ci /** 127061847f8eSopenharmony_ci * Check the X509 cert validity with date. 127161847f8eSopenharmony_ci * 127261847f8eSopenharmony_ci * @param { string } date - indicates the cert date. 127361847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 127461847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 127561847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 127661847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 127761847f8eSopenharmony_ci * @throws { BusinessError } 19030003 - the certificate has not taken effect. 127861847f8eSopenharmony_ci * @throws { BusinessError } 19030004 - the certificate has expired. 127961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 128061847f8eSopenharmony_ci * @since 9 128161847f8eSopenharmony_ci */ 128261847f8eSopenharmony_ci /** 128361847f8eSopenharmony_ci * Check the X509 cert validity with date. 128461847f8eSopenharmony_ci * 128561847f8eSopenharmony_ci * @param { string } date - indicates the cert date. 128661847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 128761847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 128861847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 128961847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 129061847f8eSopenharmony_ci * @throws { BusinessError } 19030003 - the certificate has not taken effect. 129161847f8eSopenharmony_ci * @throws { BusinessError } 19030004 - the certificate has expired. 129261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 129361847f8eSopenharmony_ci * @crossplatform 129461847f8eSopenharmony_ci * @since 11 129561847f8eSopenharmony_ci */ 129661847f8eSopenharmony_ci /** 129761847f8eSopenharmony_ci * Check the X509 cert validity with date. 129861847f8eSopenharmony_ci * 129961847f8eSopenharmony_ci * @param { string } date - indicates the cert date. 130061847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 130161847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 130261847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 130361847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 130461847f8eSopenharmony_ci * @throws { BusinessError } 19030003 - the certificate has not taken effect. 130561847f8eSopenharmony_ci * @throws { BusinessError } 19030004 - the certificate has expired. 130661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 130761847f8eSopenharmony_ci * @crossplatform 130861847f8eSopenharmony_ci * @atomicservice 130961847f8eSopenharmony_ci * @since 12 131061847f8eSopenharmony_ci */ 131161847f8eSopenharmony_ci checkValidityWithDate(date: string): void; 131261847f8eSopenharmony_ci 131361847f8eSopenharmony_ci /** 131461847f8eSopenharmony_ci * Get X509 cert version. 131561847f8eSopenharmony_ci * 131661847f8eSopenharmony_ci * @returns { number } X509 cert version. 131761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 131861847f8eSopenharmony_ci * @since 9 131961847f8eSopenharmony_ci */ 132061847f8eSopenharmony_ci /** 132161847f8eSopenharmony_ci * Get X509 cert version. 132261847f8eSopenharmony_ci * 132361847f8eSopenharmony_ci * @returns { number } X509 cert version. 132461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 132561847f8eSopenharmony_ci * @crossplatform 132661847f8eSopenharmony_ci * @since 11 132761847f8eSopenharmony_ci */ 132861847f8eSopenharmony_ci /** 132961847f8eSopenharmony_ci * Get X509 cert version. 133061847f8eSopenharmony_ci * 133161847f8eSopenharmony_ci * @returns { number } X509 cert version. 133261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 133361847f8eSopenharmony_ci * @crossplatform 133461847f8eSopenharmony_ci * @atomicservice 133561847f8eSopenharmony_ci * @since 12 133661847f8eSopenharmony_ci */ 133761847f8eSopenharmony_ci getVersion(): number; 133861847f8eSopenharmony_ci 133961847f8eSopenharmony_ci /** 134061847f8eSopenharmony_ci * Get X509 cert serial number. 134161847f8eSopenharmony_ci * 134261847f8eSopenharmony_ci * @returns { number } X509 cert serial number. 134361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 134461847f8eSopenharmony_ci * @since 9 134561847f8eSopenharmony_ci * @deprecated since 10 134661847f8eSopenharmony_ci * @useinstead ohos.security.cert.X509Cert.getCertSerialNumber 134761847f8eSopenharmony_ci */ 134861847f8eSopenharmony_ci getSerialNumber(): number; 134961847f8eSopenharmony_ci 135061847f8eSopenharmony_ci /** 135161847f8eSopenharmony_ci * Get X509 cert serial number. 135261847f8eSopenharmony_ci * 135361847f8eSopenharmony_ci * @returns { bigint } X509 cert serial number. 135461847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 135561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 135661847f8eSopenharmony_ci * @since 10 135761847f8eSopenharmony_ci */ 135861847f8eSopenharmony_ci /** 135961847f8eSopenharmony_ci * Get X509 cert serial number. 136061847f8eSopenharmony_ci * 136161847f8eSopenharmony_ci * @returns { bigint } X509 cert serial number. 136261847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 136361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 136461847f8eSopenharmony_ci * @crossplatform 136561847f8eSopenharmony_ci * @since 11 136661847f8eSopenharmony_ci */ 136761847f8eSopenharmony_ci /** 136861847f8eSopenharmony_ci * Get X509 cert serial number. 136961847f8eSopenharmony_ci * 137061847f8eSopenharmony_ci * @returns { bigint } X509 cert serial number. 137161847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 137261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 137361847f8eSopenharmony_ci * @crossplatform 137461847f8eSopenharmony_ci * @atomicservice 137561847f8eSopenharmony_ci * @since 12 137661847f8eSopenharmony_ci */ 137761847f8eSopenharmony_ci getCertSerialNumber(): bigint; 137861847f8eSopenharmony_ci 137961847f8eSopenharmony_ci /** 138061847f8eSopenharmony_ci * Get X509 cert issuer name. 138161847f8eSopenharmony_ci * 138261847f8eSopenharmony_ci * @returns { DataBlob } X509 cert issuer name. 138361847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 138461847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 138561847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 138661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 138761847f8eSopenharmony_ci * @since 9 138861847f8eSopenharmony_ci */ 138961847f8eSopenharmony_ci /** 139061847f8eSopenharmony_ci * Get X509 cert issuer name. 139161847f8eSopenharmony_ci * 139261847f8eSopenharmony_ci * @returns { DataBlob } X509 cert issuer name. 139361847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 139461847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 139561847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 139661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 139761847f8eSopenharmony_ci * @crossplatform 139861847f8eSopenharmony_ci * @since 11 139961847f8eSopenharmony_ci */ 140061847f8eSopenharmony_ci /** 140161847f8eSopenharmony_ci * Get X509 cert issuer name. 140261847f8eSopenharmony_ci * 140361847f8eSopenharmony_ci * @returns { DataBlob } X509 cert issuer name. 140461847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 140561847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 140661847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 140761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 140861847f8eSopenharmony_ci * @crossplatform 140961847f8eSopenharmony_ci * @atomicservice 141061847f8eSopenharmony_ci * @since 12 141161847f8eSopenharmony_ci */ 141261847f8eSopenharmony_ci getIssuerName(): DataBlob; 141361847f8eSopenharmony_ci 141461847f8eSopenharmony_ci /** 141561847f8eSopenharmony_ci * Get X509 cert subject name. 141661847f8eSopenharmony_ci * 141761847f8eSopenharmony_ci * @returns { DataBlob } X509 cert subject name. 141861847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 141961847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 142061847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 142161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 142261847f8eSopenharmony_ci * @since 9 142361847f8eSopenharmony_ci */ 142461847f8eSopenharmony_ci /** 142561847f8eSopenharmony_ci * Get X509 cert subject name. 142661847f8eSopenharmony_ci * 142761847f8eSopenharmony_ci * @returns { DataBlob } X509 cert subject name. 142861847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 142961847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 143061847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 143161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 143261847f8eSopenharmony_ci * @crossplatform 143361847f8eSopenharmony_ci * @since 11 143461847f8eSopenharmony_ci */ 143561847f8eSopenharmony_ci /** 143661847f8eSopenharmony_ci * Get X509 cert subject name. 143761847f8eSopenharmony_ci * 143861847f8eSopenharmony_ci * @param { EncodingType } [encodingType] indicates the encoding type, if the encoding type parameter is not set, 143961847f8eSopenharmony_ci * the default ASCII encoding is used. 144061847f8eSopenharmony_ci * @returns { DataBlob } X509 cert subject name. 144161847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Incorrect parameter types; 144261847f8eSopenharmony_ci * <br>2. Parameter verification failed. 144361847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 144461847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 144561847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 144661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 144761847f8eSopenharmony_ci * @crossplatform 144861847f8eSopenharmony_ci * @atomicservice 144961847f8eSopenharmony_ci * @since 12 145061847f8eSopenharmony_ci */ 145161847f8eSopenharmony_ci getSubjectName(encodingType?: EncodingType): DataBlob; 145261847f8eSopenharmony_ci 145361847f8eSopenharmony_ci /** 145461847f8eSopenharmony_ci * Get X509 cert not before time. 145561847f8eSopenharmony_ci * 145661847f8eSopenharmony_ci * @returns { string } X509 cert not before time. 145761847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 145861847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 145961847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 146061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 146161847f8eSopenharmony_ci * @since 9 146261847f8eSopenharmony_ci */ 146361847f8eSopenharmony_ci /** 146461847f8eSopenharmony_ci * Get X509 cert not before time. 146561847f8eSopenharmony_ci * 146661847f8eSopenharmony_ci * @returns { string } X509 cert not before time. 146761847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 146861847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 146961847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 147061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 147161847f8eSopenharmony_ci * @crossplatform 147261847f8eSopenharmony_ci * @since 11 147361847f8eSopenharmony_ci */ 147461847f8eSopenharmony_ci /** 147561847f8eSopenharmony_ci * Get X509 cert not before time. 147661847f8eSopenharmony_ci * 147761847f8eSopenharmony_ci * @returns { string } X509 cert not before time. 147861847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 147961847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 148061847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 148161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 148261847f8eSopenharmony_ci * @crossplatform 148361847f8eSopenharmony_ci * @atomicservice 148461847f8eSopenharmony_ci * @since 12 148561847f8eSopenharmony_ci */ 148661847f8eSopenharmony_ci getNotBeforeTime(): string; 148761847f8eSopenharmony_ci 148861847f8eSopenharmony_ci /** 148961847f8eSopenharmony_ci * Get X509 cert not after time. 149061847f8eSopenharmony_ci * 149161847f8eSopenharmony_ci * @returns { string } X509 cert not after time. 149261847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 149361847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 149461847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 149561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 149661847f8eSopenharmony_ci * @since 9 149761847f8eSopenharmony_ci */ 149861847f8eSopenharmony_ci /** 149961847f8eSopenharmony_ci * Get X509 cert not after time. 150061847f8eSopenharmony_ci * 150161847f8eSopenharmony_ci * @returns { string } X509 cert not after time. 150261847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 150361847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 150461847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 150561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 150661847f8eSopenharmony_ci * @crossplatform 150761847f8eSopenharmony_ci * @since 11 150861847f8eSopenharmony_ci */ 150961847f8eSopenharmony_ci /** 151061847f8eSopenharmony_ci * Get X509 cert not after time. 151161847f8eSopenharmony_ci * 151261847f8eSopenharmony_ci * @returns { string } X509 cert not after time. 151361847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 151461847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 151561847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 151661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 151761847f8eSopenharmony_ci * @crossplatform 151861847f8eSopenharmony_ci * @atomicservice 151961847f8eSopenharmony_ci * @since 12 152061847f8eSopenharmony_ci */ 152161847f8eSopenharmony_ci getNotAfterTime(): string; 152261847f8eSopenharmony_ci 152361847f8eSopenharmony_ci /** 152461847f8eSopenharmony_ci * Get X509 cert signature. 152561847f8eSopenharmony_ci * 152661847f8eSopenharmony_ci * @returns { DataBlob } X509 cert signature. 152761847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 152861847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 152961847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 153061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 153161847f8eSopenharmony_ci * @since 9 153261847f8eSopenharmony_ci */ 153361847f8eSopenharmony_ci /** 153461847f8eSopenharmony_ci * Get X509 cert signature. 153561847f8eSopenharmony_ci * 153661847f8eSopenharmony_ci * @returns { DataBlob } X509 cert signature. 153761847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 153861847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 153961847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 154061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 154161847f8eSopenharmony_ci * @crossplatform 154261847f8eSopenharmony_ci * @since 11 154361847f8eSopenharmony_ci */ 154461847f8eSopenharmony_ci /** 154561847f8eSopenharmony_ci * Get X509 cert signature. 154661847f8eSopenharmony_ci * 154761847f8eSopenharmony_ci * @returns { DataBlob } X509 cert signature. 154861847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 154961847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 155061847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 155161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 155261847f8eSopenharmony_ci * @crossplatform 155361847f8eSopenharmony_ci * @atomicservice 155461847f8eSopenharmony_ci * @since 12 155561847f8eSopenharmony_ci */ 155661847f8eSopenharmony_ci getSignature(): DataBlob; 155761847f8eSopenharmony_ci 155861847f8eSopenharmony_ci /** 155961847f8eSopenharmony_ci * Get X509 cert signature's algorithm name. 156061847f8eSopenharmony_ci * 156161847f8eSopenharmony_ci * @returns { string } X509 cert signature's algorithm name. 156261847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 156361847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 156461847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 156561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 156661847f8eSopenharmony_ci * @since 9 156761847f8eSopenharmony_ci */ 156861847f8eSopenharmony_ci /** 156961847f8eSopenharmony_ci * Get X509 cert signature's algorithm name. 157061847f8eSopenharmony_ci * 157161847f8eSopenharmony_ci * @returns { string } X509 cert signature's algorithm name. 157261847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 157361847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 157461847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 157561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 157661847f8eSopenharmony_ci * @crossplatform 157761847f8eSopenharmony_ci * @since 11 157861847f8eSopenharmony_ci */ 157961847f8eSopenharmony_ci /** 158061847f8eSopenharmony_ci * Get X509 cert signature's algorithm name. 158161847f8eSopenharmony_ci * 158261847f8eSopenharmony_ci * @returns { string } X509 cert signature's algorithm name. 158361847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 158461847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 158561847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 158661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 158761847f8eSopenharmony_ci * @crossplatform 158861847f8eSopenharmony_ci * @atomicservice 158961847f8eSopenharmony_ci * @since 12 159061847f8eSopenharmony_ci */ 159161847f8eSopenharmony_ci getSignatureAlgName(): string; 159261847f8eSopenharmony_ci 159361847f8eSopenharmony_ci /** 159461847f8eSopenharmony_ci * Get X509 cert signature's algorithm oid. 159561847f8eSopenharmony_ci * 159661847f8eSopenharmony_ci * @returns { string } X509 cert signature's algorithm oid. 159761847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 159861847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 159961847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 160061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 160161847f8eSopenharmony_ci * @since 9 160261847f8eSopenharmony_ci */ 160361847f8eSopenharmony_ci /** 160461847f8eSopenharmony_ci * Get X509 cert signature's algorithm oid. 160561847f8eSopenharmony_ci * 160661847f8eSopenharmony_ci * @returns { string } X509 cert signature's algorithm oid. 160761847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 160861847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 160961847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 161061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 161161847f8eSopenharmony_ci * @crossplatform 161261847f8eSopenharmony_ci * @since 11 161361847f8eSopenharmony_ci */ 161461847f8eSopenharmony_ci /** 161561847f8eSopenharmony_ci * Get X509 cert signature's algorithm oid. 161661847f8eSopenharmony_ci * 161761847f8eSopenharmony_ci * @returns { string } X509 cert signature's algorithm oid. 161861847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 161961847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 162061847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 162161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 162261847f8eSopenharmony_ci * @crossplatform 162361847f8eSopenharmony_ci * @atomicservice 162461847f8eSopenharmony_ci * @since 12 162561847f8eSopenharmony_ci */ 162661847f8eSopenharmony_ci getSignatureAlgOid(): string; 162761847f8eSopenharmony_ci 162861847f8eSopenharmony_ci /** 162961847f8eSopenharmony_ci * Get X509 cert signature's algorithm name. 163061847f8eSopenharmony_ci * 163161847f8eSopenharmony_ci * @returns { DataBlob } X509 cert signature's algorithm name. 163261847f8eSopenharmony_ci * @throws { BusinessError } 801 - this operation is not supported. 163361847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 163461847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 163561847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 163661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 163761847f8eSopenharmony_ci * @since 9 163861847f8eSopenharmony_ci */ 163961847f8eSopenharmony_ci /** 164061847f8eSopenharmony_ci * Get X509 cert signature's algorithm name. 164161847f8eSopenharmony_ci * 164261847f8eSopenharmony_ci * @returns { DataBlob } X509 cert signature's algorithm name. 164361847f8eSopenharmony_ci * @throws { BusinessError } 801 - this operation is not supported. 164461847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 164561847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 164661847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 164761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 164861847f8eSopenharmony_ci * @crossplatform 164961847f8eSopenharmony_ci * @since 11 165061847f8eSopenharmony_ci */ 165161847f8eSopenharmony_ci /** 165261847f8eSopenharmony_ci * Get X509 cert signature's algorithm name. 165361847f8eSopenharmony_ci * 165461847f8eSopenharmony_ci * @returns { DataBlob } X509 cert signature's algorithm name. 165561847f8eSopenharmony_ci * @throws { BusinessError } 801 - this operation is not supported. 165661847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 165761847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 165861847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 165961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 166061847f8eSopenharmony_ci * @crossplatform 166161847f8eSopenharmony_ci * @atomicservice 166261847f8eSopenharmony_ci * @since 12 166361847f8eSopenharmony_ci */ 166461847f8eSopenharmony_ci getSignatureAlgParams(): DataBlob; 166561847f8eSopenharmony_ci 166661847f8eSopenharmony_ci /** 166761847f8eSopenharmony_ci * Get X509 cert key usage. 166861847f8eSopenharmony_ci * 166961847f8eSopenharmony_ci * @returns { DataBlob } X509 cert key usage. 167061847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 167161847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 167261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 167361847f8eSopenharmony_ci * @since 9 167461847f8eSopenharmony_ci */ 167561847f8eSopenharmony_ci /** 167661847f8eSopenharmony_ci * Get X509 cert key usage. 167761847f8eSopenharmony_ci * 167861847f8eSopenharmony_ci * @returns { DataBlob } X509 cert key usage. 167961847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 168061847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 168161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 168261847f8eSopenharmony_ci * @crossplatform 168361847f8eSopenharmony_ci * @since 11 168461847f8eSopenharmony_ci */ 168561847f8eSopenharmony_ci /** 168661847f8eSopenharmony_ci * Get X509 cert key usage. 168761847f8eSopenharmony_ci * 168861847f8eSopenharmony_ci * @returns { DataBlob } X509 cert key usage. 168961847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 169061847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 169161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 169261847f8eSopenharmony_ci * @crossplatform 169361847f8eSopenharmony_ci * @atomicservice 169461847f8eSopenharmony_ci * @since 12 169561847f8eSopenharmony_ci */ 169661847f8eSopenharmony_ci getKeyUsage(): DataBlob; 169761847f8eSopenharmony_ci 169861847f8eSopenharmony_ci /** 169961847f8eSopenharmony_ci * Get X509 cert extended key usage. 170061847f8eSopenharmony_ci * 170161847f8eSopenharmony_ci * @returns { DataArray } X509 cert extended key usage. 170261847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 170361847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 170461847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 170561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 170661847f8eSopenharmony_ci * @since 9 170761847f8eSopenharmony_ci */ 170861847f8eSopenharmony_ci /** 170961847f8eSopenharmony_ci * Get X509 cert extended key usage. 171061847f8eSopenharmony_ci * 171161847f8eSopenharmony_ci * @returns { DataArray } X509 cert extended key usage. 171261847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 171361847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 171461847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 171561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 171661847f8eSopenharmony_ci * @crossplatform 171761847f8eSopenharmony_ci * @since 11 171861847f8eSopenharmony_ci */ 171961847f8eSopenharmony_ci /** 172061847f8eSopenharmony_ci * Get X509 cert extended key usage. 172161847f8eSopenharmony_ci * 172261847f8eSopenharmony_ci * @returns { DataArray } X509 cert extended key usage. 172361847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 172461847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 172561847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 172661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 172761847f8eSopenharmony_ci * @crossplatform 172861847f8eSopenharmony_ci * @atomicservice 172961847f8eSopenharmony_ci * @since 12 173061847f8eSopenharmony_ci */ 173161847f8eSopenharmony_ci getExtKeyUsage(): DataArray; 173261847f8eSopenharmony_ci 173361847f8eSopenharmony_ci /** 173461847f8eSopenharmony_ci * Get X509 cert basic constraints path len. 173561847f8eSopenharmony_ci * 173661847f8eSopenharmony_ci * @returns { number } X509 cert basic constraints path len. 173761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 173861847f8eSopenharmony_ci * @since 9 173961847f8eSopenharmony_ci */ 174061847f8eSopenharmony_ci /** 174161847f8eSopenharmony_ci * Get X509 cert basic constraints path len. 174261847f8eSopenharmony_ci * 174361847f8eSopenharmony_ci * @returns { number } X509 cert basic constraints path len. 174461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 174561847f8eSopenharmony_ci * @crossplatform 174661847f8eSopenharmony_ci * @since 11 174761847f8eSopenharmony_ci */ 174861847f8eSopenharmony_ci /** 174961847f8eSopenharmony_ci * Get X509 cert basic constraints path len. 175061847f8eSopenharmony_ci * 175161847f8eSopenharmony_ci * @returns { number } X509 cert basic constraints path len. 175261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 175361847f8eSopenharmony_ci * @crossplatform 175461847f8eSopenharmony_ci * @atomicservice 175561847f8eSopenharmony_ci * @since 12 175661847f8eSopenharmony_ci */ 175761847f8eSopenharmony_ci getBasicConstraints(): number; 175861847f8eSopenharmony_ci 175961847f8eSopenharmony_ci /** 176061847f8eSopenharmony_ci * Get X509 cert subject alternative name. 176161847f8eSopenharmony_ci * 176261847f8eSopenharmony_ci * @returns { DataArray } X509 cert subject alternative name. 176361847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 176461847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 176561847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 176661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 176761847f8eSopenharmony_ci * @since 9 176861847f8eSopenharmony_ci */ 176961847f8eSopenharmony_ci /** 177061847f8eSopenharmony_ci * Get X509 cert subject alternative name. 177161847f8eSopenharmony_ci * 177261847f8eSopenharmony_ci * @returns { DataArray } X509 cert subject alternative name. 177361847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 177461847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 177561847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 177661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 177761847f8eSopenharmony_ci * @crossplatform 177861847f8eSopenharmony_ci * @since 11 177961847f8eSopenharmony_ci */ 178061847f8eSopenharmony_ci /** 178161847f8eSopenharmony_ci * Get X509 cert subject alternative name. 178261847f8eSopenharmony_ci * 178361847f8eSopenharmony_ci * @returns { DataArray } X509 cert subject alternative name. 178461847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 178561847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 178661847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 178761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 178861847f8eSopenharmony_ci * @crossplatform 178961847f8eSopenharmony_ci * @atomicservice 179061847f8eSopenharmony_ci * @since 12 179161847f8eSopenharmony_ci */ 179261847f8eSopenharmony_ci getSubjectAltNames(): DataArray; 179361847f8eSopenharmony_ci 179461847f8eSopenharmony_ci /** 179561847f8eSopenharmony_ci * Get X509 cert issuer alternative name. 179661847f8eSopenharmony_ci * 179761847f8eSopenharmony_ci * @returns { DataArray } X509 cert issuer alternative name. 179861847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 179961847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 180061847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 180161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 180261847f8eSopenharmony_ci * @since 9 180361847f8eSopenharmony_ci */ 180461847f8eSopenharmony_ci /** 180561847f8eSopenharmony_ci * Get X509 cert issuer alternative name. 180661847f8eSopenharmony_ci * 180761847f8eSopenharmony_ci * @returns { DataArray } X509 cert issuer alternative name. 180861847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 180961847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 181061847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 181161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 181261847f8eSopenharmony_ci * @crossplatform 181361847f8eSopenharmony_ci * @since 11 181461847f8eSopenharmony_ci */ 181561847f8eSopenharmony_ci /** 181661847f8eSopenharmony_ci * Get X509 cert issuer alternative name. 181761847f8eSopenharmony_ci * 181861847f8eSopenharmony_ci * @returns { DataArray } X509 cert issuer alternative name. 181961847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 182061847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 182161847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 182261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 182361847f8eSopenharmony_ci * @crossplatform 182461847f8eSopenharmony_ci * @atomicservice 182561847f8eSopenharmony_ci * @since 12 182661847f8eSopenharmony_ci */ 182761847f8eSopenharmony_ci getIssuerAltNames(): DataArray; 182861847f8eSopenharmony_ci 182961847f8eSopenharmony_ci /** 183061847f8eSopenharmony_ci * Get certificate item value. 183161847f8eSopenharmony_ci * 183261847f8eSopenharmony_ci * @param { CertItemType } itemType 183361847f8eSopenharmony_ci * @returns { DataBlob } cert item value. 183461847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 183561847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 183661847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 183761847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 183861847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 183961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 184061847f8eSopenharmony_ci * @since 10 184161847f8eSopenharmony_ci */ 184261847f8eSopenharmony_ci /** 184361847f8eSopenharmony_ci * Get certificate item value. 184461847f8eSopenharmony_ci * 184561847f8eSopenharmony_ci * @param { CertItemType } itemType 184661847f8eSopenharmony_ci * @returns { DataBlob } cert item value. 184761847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 184861847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 184961847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 185061847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 185161847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 185261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 185361847f8eSopenharmony_ci * @crossplatform 185461847f8eSopenharmony_ci * @since 11 185561847f8eSopenharmony_ci */ 185661847f8eSopenharmony_ci /** 185761847f8eSopenharmony_ci * Get certificate item value. 185861847f8eSopenharmony_ci * 185961847f8eSopenharmony_ci * @param { CertItemType } itemType 186061847f8eSopenharmony_ci * @returns { DataBlob } cert item value. 186161847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 186261847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 186361847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 186461847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 186561847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 186661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 186761847f8eSopenharmony_ci * @crossplatform 186861847f8eSopenharmony_ci * @atomicservice 186961847f8eSopenharmony_ci * @since 12 187061847f8eSopenharmony_ci */ 187161847f8eSopenharmony_ci getItem(itemType: CertItemType): DataBlob; 187261847f8eSopenharmony_ci 187361847f8eSopenharmony_ci /** 187461847f8eSopenharmony_ci * Check the X509 cert if match the parameters. 187561847f8eSopenharmony_ci * 187661847f8eSopenharmony_ci * @param { X509CertMatchParameters } param - indicate the match parameters. 187761847f8eSopenharmony_ci * @returns { boolean } true - match X509Cert, false - not match. 187861847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 187961847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 188061847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 188161847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 188261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 188361847f8eSopenharmony_ci * @crossplatform 188461847f8eSopenharmony_ci * @since 11 188561847f8eSopenharmony_ci */ 188661847f8eSopenharmony_ci /** 188761847f8eSopenharmony_ci * Check the X509 cert if match the parameters. 188861847f8eSopenharmony_ci * 188961847f8eSopenharmony_ci * @param { X509CertMatchParameters } param - indicate the match parameters. 189061847f8eSopenharmony_ci * @returns { boolean } true - match X509Cert, false - not match. 189161847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 189261847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 189361847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 189461847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 189561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 189661847f8eSopenharmony_ci * @crossplatform 189761847f8eSopenharmony_ci * @atomicservice 189861847f8eSopenharmony_ci * @since 12 189961847f8eSopenharmony_ci */ 190061847f8eSopenharmony_ci match(param: X509CertMatchParameters): boolean; 190161847f8eSopenharmony_ci 190261847f8eSopenharmony_ci /** 190361847f8eSopenharmony_ci * Obtain CRL distribution points. 190461847f8eSopenharmony_ci * 190561847f8eSopenharmony_ci * @returns { DataArray } X509 cert CRL distribution points. 190661847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 190761847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 190861847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 190961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 191061847f8eSopenharmony_ci * @crossplatform 191161847f8eSopenharmony_ci * @atomicservice 191261847f8eSopenharmony_ci * @since 12 191361847f8eSopenharmony_ci */ 191461847f8eSopenharmony_ci getCRLDistributionPoint(): DataArray; 191561847f8eSopenharmony_ci 191661847f8eSopenharmony_ci /** 191761847f8eSopenharmony_ci * Get X500 distinguished name of the issuer. 191861847f8eSopenharmony_ci * 191961847f8eSopenharmony_ci * @returns { X500DistinguishedName } X500 distinguished name object. 192061847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 192161847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 192261847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 192361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 192461847f8eSopenharmony_ci * @crossplatform 192561847f8eSopenharmony_ci * @atomicservice 192661847f8eSopenharmony_ci * @since 12 192761847f8eSopenharmony_ci */ 192861847f8eSopenharmony_ci getIssuerX500DistinguishedName(): X500DistinguishedName; 192961847f8eSopenharmony_ci 193061847f8eSopenharmony_ci /** 193161847f8eSopenharmony_ci * Get X500 distinguished name of the subject. 193261847f8eSopenharmony_ci * 193361847f8eSopenharmony_ci * @returns { X500DistinguishedName } X500 distinguished name object. 193461847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 193561847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 193661847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 193761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 193861847f8eSopenharmony_ci * @crossplatform 193961847f8eSopenharmony_ci * @atomicservice 194061847f8eSopenharmony_ci * @since 12 194161847f8eSopenharmony_ci */ 194261847f8eSopenharmony_ci getSubjectX500DistinguishedName(): X500DistinguishedName; 194361847f8eSopenharmony_ci 194461847f8eSopenharmony_ci /** 194561847f8eSopenharmony_ci * Get the string type data of the object. 194661847f8eSopenharmony_ci * 194761847f8eSopenharmony_ci * @returns { string } the string type data of the object. 194861847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 194961847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 195061847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 195161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 195261847f8eSopenharmony_ci * @crossplatform 195361847f8eSopenharmony_ci * @atomicservice 195461847f8eSopenharmony_ci * @since 12 195561847f8eSopenharmony_ci */ 195661847f8eSopenharmony_ci toString(): string; 195761847f8eSopenharmony_ci 195861847f8eSopenharmony_ci /** 195961847f8eSopenharmony_ci * Get the hash value of DER format data. 196061847f8eSopenharmony_ci * 196161847f8eSopenharmony_ci * @returns { Uint8Array } the hash value of DER format data. 196261847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 196361847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 196461847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 196561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 196661847f8eSopenharmony_ci * @crossplatform 196761847f8eSopenharmony_ci * @atomicservice 196861847f8eSopenharmony_ci * @since 12 196961847f8eSopenharmony_ci */ 197061847f8eSopenharmony_ci hashCode(): Uint8Array; 197161847f8eSopenharmony_ci 197261847f8eSopenharmony_ci /** 197361847f8eSopenharmony_ci * Get the extension der encoding data for the corresponding entity. 197461847f8eSopenharmony_ci * 197561847f8eSopenharmony_ci * @returns { CertExtension } the certExtension object. 197661847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 197761847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 197861847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 197961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 198061847f8eSopenharmony_ci * @crossplatform 198161847f8eSopenharmony_ci * @atomicservice 198261847f8eSopenharmony_ci * @since 12 198361847f8eSopenharmony_ci */ 198461847f8eSopenharmony_ci getExtensionsObject(): CertExtension; 198561847f8eSopenharmony_ci } 198661847f8eSopenharmony_ci 198761847f8eSopenharmony_ci /** 198861847f8eSopenharmony_ci * Provides to create X509 certificate object. 198961847f8eSopenharmony_ci * The returned object provides the data parsing or verification capability. 199061847f8eSopenharmony_ci * 199161847f8eSopenharmony_ci * @param { EncodingBlob } inStream - indicate the input cert data. 199261847f8eSopenharmony_ci * @param { AsyncCallback<X509Cert> } callback - the callback of createX509Cert. 199361847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 199461847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 199561847f8eSopenharmony_ci * @throws { BusinessError } 801 - this operation is not supported. 199661847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 199761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 199861847f8eSopenharmony_ci * @since 9 199961847f8eSopenharmony_ci */ 200061847f8eSopenharmony_ci /** 200161847f8eSopenharmony_ci * Provides to create X509 certificate object. 200261847f8eSopenharmony_ci * The returned object provides the data parsing or verification capability. 200361847f8eSopenharmony_ci * 200461847f8eSopenharmony_ci * @param { EncodingBlob } inStream - indicate the input cert data. 200561847f8eSopenharmony_ci * @param { AsyncCallback<X509Cert> } callback - the callback of createX509Cert. 200661847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 200761847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 200861847f8eSopenharmony_ci * @throws { BusinessError } 801 - this operation is not supported. 200961847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 201061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 201161847f8eSopenharmony_ci * @crossplatform 201261847f8eSopenharmony_ci * @since 11 201361847f8eSopenharmony_ci */ 201461847f8eSopenharmony_ci /** 201561847f8eSopenharmony_ci * Provides to create X509 certificate object. 201661847f8eSopenharmony_ci * The returned object provides the data parsing or verification capability. 201761847f8eSopenharmony_ci * 201861847f8eSopenharmony_ci * @param { EncodingBlob } inStream - indicate the input cert data. 201961847f8eSopenharmony_ci * @param { AsyncCallback<X509Cert> } callback - the callback of createX509Cert. 202061847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 202161847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 202261847f8eSopenharmony_ci * @throws { BusinessError } 801 - this operation is not supported. 202361847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 202461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 202561847f8eSopenharmony_ci * @crossplatform 202661847f8eSopenharmony_ci * @atomicservice 202761847f8eSopenharmony_ci * @since 12 202861847f8eSopenharmony_ci */ 202961847f8eSopenharmony_ci function createX509Cert(inStream: EncodingBlob, callback: AsyncCallback<X509Cert>): void; 203061847f8eSopenharmony_ci 203161847f8eSopenharmony_ci /** 203261847f8eSopenharmony_ci * Provides to create X509 certificate object. 203361847f8eSopenharmony_ci * The returned object provides the data parsing or verification capability. 203461847f8eSopenharmony_ci * 203561847f8eSopenharmony_ci * @param { EncodingBlob } inStream - indicate the input cert data. 203661847f8eSopenharmony_ci * @returns { Promise<X509Cert> } the promise of X509 cert instance. 203761847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 203861847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 203961847f8eSopenharmony_ci * @throws { BusinessError } 801 - this operation is not supported. 204061847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 204161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 204261847f8eSopenharmony_ci * @since 9 204361847f8eSopenharmony_ci */ 204461847f8eSopenharmony_ci /** 204561847f8eSopenharmony_ci * Provides to create X509 certificate object. 204661847f8eSopenharmony_ci * The returned object provides the data parsing or verification capability. 204761847f8eSopenharmony_ci * 204861847f8eSopenharmony_ci * @param { EncodingBlob } inStream - indicate the input cert data. 204961847f8eSopenharmony_ci * @returns { Promise<X509Cert> } the promise of X509 cert instance. 205061847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 205161847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 205261847f8eSopenharmony_ci * @throws { BusinessError } 801 - this operation is not supported. 205361847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 205461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 205561847f8eSopenharmony_ci * @crossplatform 205661847f8eSopenharmony_ci * @since 11 205761847f8eSopenharmony_ci */ 205861847f8eSopenharmony_ci /** 205961847f8eSopenharmony_ci * Provides to create X509 certificate object. 206061847f8eSopenharmony_ci * The returned object provides the data parsing or verification capability. 206161847f8eSopenharmony_ci * 206261847f8eSopenharmony_ci * @param { EncodingBlob } inStream - indicate the input cert data. 206361847f8eSopenharmony_ci * @returns { Promise<X509Cert> } the promise of X509 cert instance. 206461847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 206561847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 206661847f8eSopenharmony_ci * @throws { BusinessError } 801 - this operation is not supported. 206761847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 206861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 206961847f8eSopenharmony_ci * @crossplatform 207061847f8eSopenharmony_ci * @atomicservice 207161847f8eSopenharmony_ci * @since 12 207261847f8eSopenharmony_ci */ 207361847f8eSopenharmony_ci function createX509Cert(inStream: EncodingBlob): Promise<X509Cert>; 207461847f8eSopenharmony_ci 207561847f8eSopenharmony_ci /** 207661847f8eSopenharmony_ci * The CertExtension interface is used to parse and verify certificate extension. 207761847f8eSopenharmony_ci * 207861847f8eSopenharmony_ci * @typedef CertExtension 207961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 208061847f8eSopenharmony_ci * @since 10 208161847f8eSopenharmony_ci */ 208261847f8eSopenharmony_ci /** 208361847f8eSopenharmony_ci * The CertExtension interface is used to parse and verify certificate extension. 208461847f8eSopenharmony_ci * 208561847f8eSopenharmony_ci * @typedef CertExtension 208661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 208761847f8eSopenharmony_ci * @crossplatform 208861847f8eSopenharmony_ci * @since 11 208961847f8eSopenharmony_ci */ 209061847f8eSopenharmony_ci /** 209161847f8eSopenharmony_ci * The CertExtension interface is used to parse and verify certificate extension. 209261847f8eSopenharmony_ci * 209361847f8eSopenharmony_ci * @typedef CertExtension 209461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 209561847f8eSopenharmony_ci * @crossplatform 209661847f8eSopenharmony_ci * @atomicservice 209761847f8eSopenharmony_ci * @since 12 209861847f8eSopenharmony_ci */ 209961847f8eSopenharmony_ci interface CertExtension { 210061847f8eSopenharmony_ci /** 210161847f8eSopenharmony_ci * Get certificate extension encoded data. 210261847f8eSopenharmony_ci * 210361847f8eSopenharmony_ci * @returns { EncodingBlob } cert extension encoded data. 210461847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 210561847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 210661847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 210761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 210861847f8eSopenharmony_ci * @since 10 210961847f8eSopenharmony_ci */ 211061847f8eSopenharmony_ci /** 211161847f8eSopenharmony_ci * Get certificate extension encoded data. 211261847f8eSopenharmony_ci * 211361847f8eSopenharmony_ci * @returns { EncodingBlob } cert extension encoded data. 211461847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 211561847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 211661847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 211761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 211861847f8eSopenharmony_ci * @crossplatform 211961847f8eSopenharmony_ci * @since 11 212061847f8eSopenharmony_ci */ 212161847f8eSopenharmony_ci /** 212261847f8eSopenharmony_ci * Get certificate extension encoded data. 212361847f8eSopenharmony_ci * 212461847f8eSopenharmony_ci * @returns { EncodingBlob } cert extension encoded data. 212561847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 212661847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 212761847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 212861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 212961847f8eSopenharmony_ci * @crossplatform 213061847f8eSopenharmony_ci * @atomicservice 213161847f8eSopenharmony_ci * @since 12 213261847f8eSopenharmony_ci */ 213361847f8eSopenharmony_ci getEncoded(): EncodingBlob; 213461847f8eSopenharmony_ci 213561847f8eSopenharmony_ci /** 213661847f8eSopenharmony_ci * Get certificate extension oid list. 213761847f8eSopenharmony_ci * 213861847f8eSopenharmony_ci * @param { ExtensionOidType } valueType 213961847f8eSopenharmony_ci * @returns { DataArray } cert extension OID list value. 214061847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 214161847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 214261847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 214361847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 214461847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 214561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 214661847f8eSopenharmony_ci * @since 10 214761847f8eSopenharmony_ci */ 214861847f8eSopenharmony_ci /** 214961847f8eSopenharmony_ci * Get certificate extension oid list. 215061847f8eSopenharmony_ci * 215161847f8eSopenharmony_ci * @param { ExtensionOidType } valueType 215261847f8eSopenharmony_ci * @returns { DataArray } cert extension OID list value. 215361847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 215461847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 215561847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 215661847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 215761847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 215861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 215961847f8eSopenharmony_ci * @crossplatform 216061847f8eSopenharmony_ci * @since 11 216161847f8eSopenharmony_ci */ 216261847f8eSopenharmony_ci /** 216361847f8eSopenharmony_ci * Get certificate extension oid list. 216461847f8eSopenharmony_ci * 216561847f8eSopenharmony_ci * @param { ExtensionOidType } valueType 216661847f8eSopenharmony_ci * @returns { DataArray } cert extension OID list value. 216761847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 216861847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 216961847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 217061847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 217161847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 217261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 217361847f8eSopenharmony_ci * @crossplatform 217461847f8eSopenharmony_ci * @atomicservice 217561847f8eSopenharmony_ci * @since 12 217661847f8eSopenharmony_ci */ 217761847f8eSopenharmony_ci getOidList(valueType: ExtensionOidType): DataArray; 217861847f8eSopenharmony_ci 217961847f8eSopenharmony_ci /** 218061847f8eSopenharmony_ci * Get certificate extension entry. 218161847f8eSopenharmony_ci * 218261847f8eSopenharmony_ci * @param { ExtensionEntryType } valueType 218361847f8eSopenharmony_ci * @param { DataBlob } oid 218461847f8eSopenharmony_ci * @returns { DataBlob } cert extension entry value. 218561847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 218661847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 218761847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 218861847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 218961847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 219061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 219161847f8eSopenharmony_ci * @since 10 219261847f8eSopenharmony_ci */ 219361847f8eSopenharmony_ci /** 219461847f8eSopenharmony_ci * Get certificate extension entry. 219561847f8eSopenharmony_ci * 219661847f8eSopenharmony_ci * @param { ExtensionEntryType } valueType 219761847f8eSopenharmony_ci * @param { DataBlob } oid 219861847f8eSopenharmony_ci * @returns { DataBlob } cert extension entry value. 219961847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 220061847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 220161847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 220261847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 220361847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 220461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 220561847f8eSopenharmony_ci * @crossplatform 220661847f8eSopenharmony_ci * @since 11 220761847f8eSopenharmony_ci */ 220861847f8eSopenharmony_ci /** 220961847f8eSopenharmony_ci * Get certificate extension entry. 221061847f8eSopenharmony_ci * 221161847f8eSopenharmony_ci * @param { ExtensionEntryType } valueType 221261847f8eSopenharmony_ci * @param { DataBlob } oid 221361847f8eSopenharmony_ci * @returns { DataBlob } cert extension entry value. 221461847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 221561847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 221661847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 221761847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 221861847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 221961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 222061847f8eSopenharmony_ci * @crossplatform 222161847f8eSopenharmony_ci * @atomicservice 222261847f8eSopenharmony_ci * @since 12 222361847f8eSopenharmony_ci */ 222461847f8eSopenharmony_ci getEntry(valueType: ExtensionEntryType, oid: DataBlob): DataBlob; 222561847f8eSopenharmony_ci 222661847f8eSopenharmony_ci /** 222761847f8eSopenharmony_ci * Check whether the certificate is a CA(The keyusage contains signature usage and the value of cA in BasicConstraints is true). 222861847f8eSopenharmony_ci * If not a CA, return -1, otherwise return the path length constraint in BasicConstraints. 222961847f8eSopenharmony_ci * If the certificate is a CA and the path length constraint does not appear, then return -2 to indicate that there is no limit to path length. 223061847f8eSopenharmony_ci * 223161847f8eSopenharmony_ci * @returns { number } path length constraint. 223261847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 223361847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 223461847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 223561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 223661847f8eSopenharmony_ci * @since 10 223761847f8eSopenharmony_ci */ 223861847f8eSopenharmony_ci /** 223961847f8eSopenharmony_ci * Check whether the certificate is a CA(The keyusage contains signature usage and the value of cA in BasicConstraints is true). 224061847f8eSopenharmony_ci * If not a CA, return -1, otherwise return the path length constraint in BasicConstraints. 224161847f8eSopenharmony_ci * If the certificate is a CA and the path length constraint does not appear, then return -2 to indicate that there is no limit to path length. 224261847f8eSopenharmony_ci * 224361847f8eSopenharmony_ci * @returns { number } path length constraint. 224461847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 224561847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 224661847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 224761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 224861847f8eSopenharmony_ci * @crossplatform 224961847f8eSopenharmony_ci * @since 11 225061847f8eSopenharmony_ci */ 225161847f8eSopenharmony_ci /** 225261847f8eSopenharmony_ci * Check whether the certificate is a CA(The keyusage contains signature usage and the value of cA in BasicConstraints is true). 225361847f8eSopenharmony_ci * If not a CA, return -1, otherwise return the path length constraint in BasicConstraints. 225461847f8eSopenharmony_ci * If the certificate is a CA and the path length constraint does not appear, then return -2 to indicate that there is no limit to path length. 225561847f8eSopenharmony_ci * 225661847f8eSopenharmony_ci * @returns { number } path length constraint. 225761847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 225861847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 225961847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 226061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 226161847f8eSopenharmony_ci * @crossplatform 226261847f8eSopenharmony_ci * @atomicservice 226361847f8eSopenharmony_ci * @since 12 226461847f8eSopenharmony_ci */ 226561847f8eSopenharmony_ci checkCA(): number; 226661847f8eSopenharmony_ci 226761847f8eSopenharmony_ci /** 226861847f8eSopenharmony_ci * Check if exists Unsupported critical extension. 226961847f8eSopenharmony_ci * 227061847f8eSopenharmony_ci * @returns { boolean } true - exists unsupported critical extension, false - else. 227161847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 227261847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 227361847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 227461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 227561847f8eSopenharmony_ci * @crossplatform 227661847f8eSopenharmony_ci * @since 11 227761847f8eSopenharmony_ci */ 227861847f8eSopenharmony_ci /** 227961847f8eSopenharmony_ci * Check if exists Unsupported critical extension. 228061847f8eSopenharmony_ci * 228161847f8eSopenharmony_ci * @returns { boolean } true - exists unsupported critical extension, false - else. 228261847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 228361847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 228461847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 228561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 228661847f8eSopenharmony_ci * @crossplatform 228761847f8eSopenharmony_ci * @atomicservice 228861847f8eSopenharmony_ci * @since 12 228961847f8eSopenharmony_ci */ 229061847f8eSopenharmony_ci hasUnsupportedCriticalExtension(): boolean; 229161847f8eSopenharmony_ci } 229261847f8eSopenharmony_ci 229361847f8eSopenharmony_ci /** 229461847f8eSopenharmony_ci * Provides to create certificate extension object. 229561847f8eSopenharmony_ci * The returned object provides the data parsing or verification capability. 229661847f8eSopenharmony_ci * 229761847f8eSopenharmony_ci * @param { EncodingBlob } inStream - indicate the input cert extensions data. 229861847f8eSopenharmony_ci * @param { AsyncCallback<CertExtension> } callback - the callback of of certificate extension instance. 229961847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 230061847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 230161847f8eSopenharmony_ci * @throws { BusinessError } 801 - this operation is not supported. 230261847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 230361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 230461847f8eSopenharmony_ci * @since 10 230561847f8eSopenharmony_ci */ 230661847f8eSopenharmony_ci /** 230761847f8eSopenharmony_ci * Provides to create certificate extension object. 230861847f8eSopenharmony_ci * The returned object provides the data parsing or verification capability. 230961847f8eSopenharmony_ci * 231061847f8eSopenharmony_ci * @param { EncodingBlob } inStream - indicate the input cert extensions data. 231161847f8eSopenharmony_ci * @param { AsyncCallback<CertExtension> } callback - the callback of of certificate extension instance. 231261847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 231361847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 231461847f8eSopenharmony_ci * @throws { BusinessError } 801 - this operation is not supported. 231561847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 231661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 231761847f8eSopenharmony_ci * @crossplatform 231861847f8eSopenharmony_ci * @since 11 231961847f8eSopenharmony_ci */ 232061847f8eSopenharmony_ci /** 232161847f8eSopenharmony_ci * Provides to create certificate extension object. 232261847f8eSopenharmony_ci * The returned object provides the data parsing or verification capability. 232361847f8eSopenharmony_ci * 232461847f8eSopenharmony_ci * @param { EncodingBlob } inStream - indicate the input cert extensions data. 232561847f8eSopenharmony_ci * @param { AsyncCallback<CertExtension> } callback - the callback of of certificate extension instance. 232661847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 232761847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 232861847f8eSopenharmony_ci * @throws { BusinessError } 801 - this operation is not supported. 232961847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 233061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 233161847f8eSopenharmony_ci * @crossplatform 233261847f8eSopenharmony_ci * @atomicservice 233361847f8eSopenharmony_ci * @since 12 233461847f8eSopenharmony_ci */ 233561847f8eSopenharmony_ci function createCertExtension(inStream: EncodingBlob, callback: AsyncCallback<CertExtension>): void; 233661847f8eSopenharmony_ci 233761847f8eSopenharmony_ci /** 233861847f8eSopenharmony_ci * Provides to create certificate extension object. 233961847f8eSopenharmony_ci * The returned object provides the data parsing or verification capability. 234061847f8eSopenharmony_ci * 234161847f8eSopenharmony_ci * @param { EncodingBlob } inStream - indicate the input cert extensions data. 234261847f8eSopenharmony_ci * @returns { Promise<CertExtension> } the promise of certificate extension instance. 234361847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 234461847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 234561847f8eSopenharmony_ci * @throws { BusinessError } 801 - this operation is not supported. 234661847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 234761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 234861847f8eSopenharmony_ci * @since 10 234961847f8eSopenharmony_ci */ 235061847f8eSopenharmony_ci /** 235161847f8eSopenharmony_ci * Provides to create certificate extension object. 235261847f8eSopenharmony_ci * The returned object provides the data parsing or verification capability. 235361847f8eSopenharmony_ci * 235461847f8eSopenharmony_ci * @param { EncodingBlob } inStream - indicate the input cert extensions data. 235561847f8eSopenharmony_ci * @returns { Promise<CertExtension> } the promise of certificate extension instance. 235661847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 235761847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 235861847f8eSopenharmony_ci * @throws { BusinessError } 801 - this operation is not supported. 235961847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 236061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 236161847f8eSopenharmony_ci * @crossplatform 236261847f8eSopenharmony_ci * @since 11 236361847f8eSopenharmony_ci */ 236461847f8eSopenharmony_ci /** 236561847f8eSopenharmony_ci * Provides to create certificate extension object. 236661847f8eSopenharmony_ci * The returned object provides the data parsing or verification capability. 236761847f8eSopenharmony_ci * 236861847f8eSopenharmony_ci * @param { EncodingBlob } inStream - indicate the input cert extensions data. 236961847f8eSopenharmony_ci * @returns { Promise<CertExtension> } the promise of certificate extension instance. 237061847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 237161847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 237261847f8eSopenharmony_ci * @throws { BusinessError } 801 - this operation is not supported. 237361847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 237461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 237561847f8eSopenharmony_ci * @crossplatform 237661847f8eSopenharmony_ci * @atomicservice 237761847f8eSopenharmony_ci * @since 12 237861847f8eSopenharmony_ci */ 237961847f8eSopenharmony_ci function createCertExtension(inStream: EncodingBlob): Promise<CertExtension>; 238061847f8eSopenharmony_ci 238161847f8eSopenharmony_ci /** 238261847f8eSopenharmony_ci * Interface of X509CrlEntry. 238361847f8eSopenharmony_ci * 238461847f8eSopenharmony_ci * @typedef X509CrlEntry 238561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 238661847f8eSopenharmony_ci * @since 9 238761847f8eSopenharmony_ci * @deprecated since 11 238861847f8eSopenharmony_ci * @useinstead ohos.security.cert.X509CRLEntry 238961847f8eSopenharmony_ci */ 239061847f8eSopenharmony_ci interface X509CrlEntry { 239161847f8eSopenharmony_ci /** 239261847f8eSopenharmony_ci * Returns the ASN of this CRL entry 1 der coding form, i.e. internal sequence. 239361847f8eSopenharmony_ci * 239461847f8eSopenharmony_ci * @param { AsyncCallback<EncodingBlob> } callback - the callback of getEncoded. 239561847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 239661847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 239761847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 239861847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 239961847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 240061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 240161847f8eSopenharmony_ci * @since 9 240261847f8eSopenharmony_ci * @deprecated since 11 240361847f8eSopenharmony_ci * @useinstead ohos.security.cert.X509CRLEntry#getEncoded 240461847f8eSopenharmony_ci */ 240561847f8eSopenharmony_ci getEncoded(callback: AsyncCallback<EncodingBlob>): void; 240661847f8eSopenharmony_ci 240761847f8eSopenharmony_ci /** 240861847f8eSopenharmony_ci * Returns the ASN of this CRL entry 1 der coding form, i.e. internal sequence. 240961847f8eSopenharmony_ci * 241061847f8eSopenharmony_ci * @returns { Promise<EncodingBlob> } the promise of crl entry blob data. 241161847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 241261847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 241361847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 241461847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 241561847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 241661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 241761847f8eSopenharmony_ci * @since 9 241861847f8eSopenharmony_ci * @deprecated since 11 241961847f8eSopenharmony_ci * @useinstead ohos.security.cert.X509CRLEntry#getEncoded 242061847f8eSopenharmony_ci */ 242161847f8eSopenharmony_ci getEncoded(): Promise<EncodingBlob>; 242261847f8eSopenharmony_ci 242361847f8eSopenharmony_ci /** 242461847f8eSopenharmony_ci * Get the serial number from this x509crl entry. 242561847f8eSopenharmony_ci * 242661847f8eSopenharmony_ci * @returns { number } serial number of crl entry. 242761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 242861847f8eSopenharmony_ci * @since 9 242961847f8eSopenharmony_ci * @deprecated since 11 243061847f8eSopenharmony_ci * @useinstead ohos.security.cert.X509CRLEntry#getSerialNumber 243161847f8eSopenharmony_ci */ 243261847f8eSopenharmony_ci getSerialNumber(): number; 243361847f8eSopenharmony_ci 243461847f8eSopenharmony_ci /** 243561847f8eSopenharmony_ci * Get the issuer of the x509 certificate described by this entry. 243661847f8eSopenharmony_ci * 243761847f8eSopenharmony_ci * @returns { DataBlob } DataBlob of issuer. 243861847f8eSopenharmony_ci * @throws { BusinessError } 801 - this operation is not supported. 243961847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 244061847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 244161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 244261847f8eSopenharmony_ci * @since 9 244361847f8eSopenharmony_ci * @deprecated since 11 244461847f8eSopenharmony_ci * @useinstead ohos.security.cert.X509CRLEntry#getCertIssuer 244561847f8eSopenharmony_ci */ 244661847f8eSopenharmony_ci getCertIssuer(): DataBlob; 244761847f8eSopenharmony_ci 244861847f8eSopenharmony_ci /** 244961847f8eSopenharmony_ci * Get the revocation date from x509crl entry. 245061847f8eSopenharmony_ci * 245161847f8eSopenharmony_ci * @returns { string } string of revocation date. 245261847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 245361847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 245461847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 245561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 245661847f8eSopenharmony_ci * @since 9 245761847f8eSopenharmony_ci * @deprecated since 11 245861847f8eSopenharmony_ci * @useinstead ohos.security.cert.X509CRLEntry#getRevocationDate 245961847f8eSopenharmony_ci */ 246061847f8eSopenharmony_ci getRevocationDate(): string; 246161847f8eSopenharmony_ci } 246261847f8eSopenharmony_ci 246361847f8eSopenharmony_ci /** 246461847f8eSopenharmony_ci * Interface of X509CRLEntry. 246561847f8eSopenharmony_ci * 246661847f8eSopenharmony_ci * @typedef X509CRLEntry 246761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 246861847f8eSopenharmony_ci * @crossplatform 246961847f8eSopenharmony_ci * @since 11 247061847f8eSopenharmony_ci */ 247161847f8eSopenharmony_ci /** 247261847f8eSopenharmony_ci * Interface of X509CRLEntry. 247361847f8eSopenharmony_ci * 247461847f8eSopenharmony_ci * @typedef X509CRLEntry 247561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 247661847f8eSopenharmony_ci * @crossplatform 247761847f8eSopenharmony_ci * @atomicservice 247861847f8eSopenharmony_ci * @since 12 247961847f8eSopenharmony_ci */ 248061847f8eSopenharmony_ci interface X509CRLEntry { 248161847f8eSopenharmony_ci /** 248261847f8eSopenharmony_ci * Returns the ASN of this CRL entry 1 der coding form, i.e. internal sequence. 248361847f8eSopenharmony_ci * 248461847f8eSopenharmony_ci * @param { AsyncCallback<EncodingBlob> } callback - the callback of getEncoded. 248561847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 248661847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 248761847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 248861847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 248961847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 249061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 249161847f8eSopenharmony_ci * @crossplatform 249261847f8eSopenharmony_ci * @since 11 249361847f8eSopenharmony_ci */ 249461847f8eSopenharmony_ci /** 249561847f8eSopenharmony_ci * Returns the ASN of this CRL entry 1 der coding form, i.e. internal sequence. 249661847f8eSopenharmony_ci * 249761847f8eSopenharmony_ci * @param { AsyncCallback<EncodingBlob> } callback - the callback of getEncoded. 249861847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 249961847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 250061847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 250161847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 250261847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 250361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 250461847f8eSopenharmony_ci * @crossplatform 250561847f8eSopenharmony_ci * @atomicservice 250661847f8eSopenharmony_ci * @since 12 250761847f8eSopenharmony_ci */ 250861847f8eSopenharmony_ci getEncoded(callback: AsyncCallback<EncodingBlob>): void; 250961847f8eSopenharmony_ci 251061847f8eSopenharmony_ci /** 251161847f8eSopenharmony_ci * Returns the ASN of this CRL entry 1 der coding form, i.e. internal sequence. 251261847f8eSopenharmony_ci * 251361847f8eSopenharmony_ci * @returns { Promise<EncodingBlob> } the promise of CRL entry blob data. 251461847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 251561847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 251661847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 251761847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 251861847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 251961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 252061847f8eSopenharmony_ci * @crossplatform 252161847f8eSopenharmony_ci * @since 11 252261847f8eSopenharmony_ci */ 252361847f8eSopenharmony_ci /** 252461847f8eSopenharmony_ci * Returns the ASN of this CRL entry 1 der coding form, i.e. internal sequence. 252561847f8eSopenharmony_ci * 252661847f8eSopenharmony_ci * @returns { Promise<EncodingBlob> } the promise of CRL entry blob data. 252761847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 252861847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 252961847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 253061847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 253161847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 253261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 253361847f8eSopenharmony_ci * @crossplatform 253461847f8eSopenharmony_ci * @atomicservice 253561847f8eSopenharmony_ci * @since 12 253661847f8eSopenharmony_ci */ 253761847f8eSopenharmony_ci getEncoded(): Promise<EncodingBlob>; 253861847f8eSopenharmony_ci 253961847f8eSopenharmony_ci /** 254061847f8eSopenharmony_ci * Get the serial number from this x509CRL entry. 254161847f8eSopenharmony_ci * 254261847f8eSopenharmony_ci * @returns { bigint } serial number of CRL entry. 254361847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 254461847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 254561847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 254661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 254761847f8eSopenharmony_ci * @crossplatform 254861847f8eSopenharmony_ci * @since 11 254961847f8eSopenharmony_ci */ 255061847f8eSopenharmony_ci /** 255161847f8eSopenharmony_ci * Get the serial number from this x509CRL entry. 255261847f8eSopenharmony_ci * 255361847f8eSopenharmony_ci * @returns { bigint } serial number of CRL entry. 255461847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 255561847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 255661847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 255761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 255861847f8eSopenharmony_ci * @crossplatform 255961847f8eSopenharmony_ci * @atomicservice 256061847f8eSopenharmony_ci * @since 12 256161847f8eSopenharmony_ci */ 256261847f8eSopenharmony_ci getSerialNumber(): bigint; 256361847f8eSopenharmony_ci 256461847f8eSopenharmony_ci /** 256561847f8eSopenharmony_ci * Get the issuer of the x509 certificate described by this entry. 256661847f8eSopenharmony_ci * 256761847f8eSopenharmony_ci * @returns { DataBlob } DataBlob of issuer. 256861847f8eSopenharmony_ci * @throws { BusinessError } 801 - this operation is not supported. 256961847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 257061847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 257161847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 257261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 257361847f8eSopenharmony_ci * @crossplatform 257461847f8eSopenharmony_ci * @since 11 257561847f8eSopenharmony_ci */ 257661847f8eSopenharmony_ci /** 257761847f8eSopenharmony_ci * Get the issuer of the x509 certificate described by this entry. 257861847f8eSopenharmony_ci * 257961847f8eSopenharmony_ci * @returns { DataBlob } DataBlob of issuer. 258061847f8eSopenharmony_ci * @throws { BusinessError } 801 - this operation is not supported. 258161847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 258261847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 258361847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 258461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 258561847f8eSopenharmony_ci * @crossplatform 258661847f8eSopenharmony_ci * @atomicservice 258761847f8eSopenharmony_ci * @since 12 258861847f8eSopenharmony_ci */ 258961847f8eSopenharmony_ci getCertIssuer(): DataBlob; 259061847f8eSopenharmony_ci 259161847f8eSopenharmony_ci /** 259261847f8eSopenharmony_ci * Get the revocation date from x509CRL entry. 259361847f8eSopenharmony_ci * 259461847f8eSopenharmony_ci * @returns { string } string of revocation date. 259561847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 259661847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 259761847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 259861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 259961847f8eSopenharmony_ci * @crossplatform 260061847f8eSopenharmony_ci * @since 11 260161847f8eSopenharmony_ci */ 260261847f8eSopenharmony_ci /** 260361847f8eSopenharmony_ci * Get the revocation date from x509CRL entry. 260461847f8eSopenharmony_ci * 260561847f8eSopenharmony_ci * @returns { string } string of revocation date. 260661847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 260761847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 260861847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 260961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 261061847f8eSopenharmony_ci * @crossplatform 261161847f8eSopenharmony_ci * @atomicservice 261261847f8eSopenharmony_ci * @since 12 261361847f8eSopenharmony_ci */ 261461847f8eSopenharmony_ci getRevocationDate(): string; 261561847f8eSopenharmony_ci 261661847f8eSopenharmony_ci /** 261761847f8eSopenharmony_ci * Get Extensions of CRL Entry. 261861847f8eSopenharmony_ci * 261961847f8eSopenharmony_ci * @returns { DataBlob } DataBlob of extensions 262061847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 262161847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 262261847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 262361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 262461847f8eSopenharmony_ci * @crossplatform 262561847f8eSopenharmony_ci * @since 11 262661847f8eSopenharmony_ci */ 262761847f8eSopenharmony_ci /** 262861847f8eSopenharmony_ci * Get Extensions of CRL Entry. 262961847f8eSopenharmony_ci * 263061847f8eSopenharmony_ci * @returns { DataBlob } DataBlob of extensions 263161847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 263261847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 263361847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 263461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 263561847f8eSopenharmony_ci * @crossplatform 263661847f8eSopenharmony_ci * @atomicservice 263761847f8eSopenharmony_ci * @since 12 263861847f8eSopenharmony_ci */ 263961847f8eSopenharmony_ci getExtensions(): DataBlob; 264061847f8eSopenharmony_ci 264161847f8eSopenharmony_ci /** 264261847f8eSopenharmony_ci * Check if CRL Entry has extension . 264361847f8eSopenharmony_ci * 264461847f8eSopenharmony_ci * @returns { boolean } true - CRL Entry has extension, false - else. 264561847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 264661847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 264761847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 264861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 264961847f8eSopenharmony_ci * @crossplatform 265061847f8eSopenharmony_ci * @since 11 265161847f8eSopenharmony_ci */ 265261847f8eSopenharmony_ci /** 265361847f8eSopenharmony_ci * Check if CRL Entry has extension . 265461847f8eSopenharmony_ci * 265561847f8eSopenharmony_ci * @returns { boolean } true - CRL Entry has extension, false - else. 265661847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 265761847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 265861847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 265961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 266061847f8eSopenharmony_ci * @crossplatform 266161847f8eSopenharmony_ci * @atomicservice 266261847f8eSopenharmony_ci * @since 12 266361847f8eSopenharmony_ci */ 266461847f8eSopenharmony_ci hasExtensions(): boolean; 266561847f8eSopenharmony_ci 266661847f8eSopenharmony_ci /** 266761847f8eSopenharmony_ci * Get X500 distinguished name of the issuer. 266861847f8eSopenharmony_ci * 266961847f8eSopenharmony_ci * @returns { X500DistinguishedName } X500 distinguished name object. 267061847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 267161847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 267261847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 267361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 267461847f8eSopenharmony_ci * @crossplatform 267561847f8eSopenharmony_ci * @atomicservice 267661847f8eSopenharmony_ci * @since 12 267761847f8eSopenharmony_ci */ 267861847f8eSopenharmony_ci getCertIssuerX500DistinguishedName(): X500DistinguishedName; 267961847f8eSopenharmony_ci 268061847f8eSopenharmony_ci /** 268161847f8eSopenharmony_ci * Get the string type data of the object. 268261847f8eSopenharmony_ci * 268361847f8eSopenharmony_ci * @returns { string } the string type data of the object. 268461847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 268561847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 268661847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 268761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 268861847f8eSopenharmony_ci * @crossplatform 268961847f8eSopenharmony_ci * @atomicservice 269061847f8eSopenharmony_ci * @since 12 269161847f8eSopenharmony_ci */ 269261847f8eSopenharmony_ci toString(): string; 269361847f8eSopenharmony_ci 269461847f8eSopenharmony_ci /** 269561847f8eSopenharmony_ci * Get the hash value of DER format data. 269661847f8eSopenharmony_ci * 269761847f8eSopenharmony_ci * @returns { Uint8Array } the hash value of DER format data. 269861847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 269961847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 270061847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 270161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 270261847f8eSopenharmony_ci * @crossplatform 270361847f8eSopenharmony_ci * @atomicservice 270461847f8eSopenharmony_ci * @since 12 270561847f8eSopenharmony_ci */ 270661847f8eSopenharmony_ci hashCode(): Uint8Array; 270761847f8eSopenharmony_ci 270861847f8eSopenharmony_ci /** 270961847f8eSopenharmony_ci * Get the extension der encoding data for the corresponding entity. 271061847f8eSopenharmony_ci * 271161847f8eSopenharmony_ci * @returns { CertExtension } the certExtension object. 271261847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 271361847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 271461847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 271561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 271661847f8eSopenharmony_ci * @crossplatform 271761847f8eSopenharmony_ci * @atomicservice 271861847f8eSopenharmony_ci * @since 12 271961847f8eSopenharmony_ci */ 272061847f8eSopenharmony_ci getExtensionsObject(): CertExtension; 272161847f8eSopenharmony_ci } 272261847f8eSopenharmony_ci 272361847f8eSopenharmony_ci /** 272461847f8eSopenharmony_ci * Interface of X509Crl. 272561847f8eSopenharmony_ci * 272661847f8eSopenharmony_ci * @typedef X509Crl 272761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 272861847f8eSopenharmony_ci * @since 9 272961847f8eSopenharmony_ci * @deprecated since 11 273061847f8eSopenharmony_ci * @useinstead ohos.security.cert.X509CRL 273161847f8eSopenharmony_ci */ 273261847f8eSopenharmony_ci interface X509Crl { 273361847f8eSopenharmony_ci /** 273461847f8eSopenharmony_ci * Check if the given certificate is on this CRL. 273561847f8eSopenharmony_ci * 273661847f8eSopenharmony_ci * @param { X509Cert } cert - input cert data. 273761847f8eSopenharmony_ci * @returns { boolean } result of Check cert is revoked or not. 273861847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 273961847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 274061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 274161847f8eSopenharmony_ci * @since 9 274261847f8eSopenharmony_ci * @deprecated since 11 274361847f8eSopenharmony_ci * @useinstead ohos.security.cert.X509CRL#isRevoked 274461847f8eSopenharmony_ci */ 274561847f8eSopenharmony_ci isRevoked(cert: X509Cert): boolean; 274661847f8eSopenharmony_ci 274761847f8eSopenharmony_ci /** 274861847f8eSopenharmony_ci * Returns the type of this CRL. 274961847f8eSopenharmony_ci * 275061847f8eSopenharmony_ci * @returns { string } string of crl type. 275161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 275261847f8eSopenharmony_ci * @since 9 275361847f8eSopenharmony_ci * @deprecated since 11 275461847f8eSopenharmony_ci * @useinstead ohos.security.cert.X509CRL#getType 275561847f8eSopenharmony_ci */ 275661847f8eSopenharmony_ci getType(): string; 275761847f8eSopenharmony_ci 275861847f8eSopenharmony_ci /** 275961847f8eSopenharmony_ci * Get the der coding format. 276061847f8eSopenharmony_ci * 276161847f8eSopenharmony_ci * @param { AsyncCallback<EncodingBlob> } callback - the callback of getEncoded. 276261847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 276361847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 276461847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 276561847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 276661847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 276761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 276861847f8eSopenharmony_ci * @since 9 276961847f8eSopenharmony_ci * @deprecated since 11 277061847f8eSopenharmony_ci * @useinstead ohos.security.cert.X509CRL#getEncoded 277161847f8eSopenharmony_ci */ 277261847f8eSopenharmony_ci getEncoded(callback: AsyncCallback<EncodingBlob>): void; 277361847f8eSopenharmony_ci 277461847f8eSopenharmony_ci /** 277561847f8eSopenharmony_ci * Get the der coding format. 277661847f8eSopenharmony_ci * 277761847f8eSopenharmony_ci * @returns { Promise<EncodingBlob> } the promise of crl blob data. 277861847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 277961847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 278061847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 278161847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 278261847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 278361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 278461847f8eSopenharmony_ci * @since 9 278561847f8eSopenharmony_ci * @deprecated since 11 278661847f8eSopenharmony_ci * @useinstead ohos.security.cert.X509CRL#getEncoded 278761847f8eSopenharmony_ci */ 278861847f8eSopenharmony_ci getEncoded(): Promise<EncodingBlob>; 278961847f8eSopenharmony_ci 279061847f8eSopenharmony_ci /** 279161847f8eSopenharmony_ci * Use the public key to verify the signature of CRL. 279261847f8eSopenharmony_ci * 279361847f8eSopenharmony_ci * @param { cryptoFramework.PubKey } key - input public Key. 279461847f8eSopenharmony_ci * @param { AsyncCallback<void> } callback - the callback of getEncoded. 279561847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 279661847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 279761847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 279861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 279961847f8eSopenharmony_ci * @since 9 280061847f8eSopenharmony_ci * @deprecated since 11 280161847f8eSopenharmony_ci * @useinstead ohos.security.cert.X509CRL#verify 280261847f8eSopenharmony_ci */ 280361847f8eSopenharmony_ci verify(key: cryptoFramework.PubKey, callback: AsyncCallback<void>): void; 280461847f8eSopenharmony_ci 280561847f8eSopenharmony_ci /** 280661847f8eSopenharmony_ci * Use the public key to verify the signature of CRL. 280761847f8eSopenharmony_ci * 280861847f8eSopenharmony_ci * @param { cryptoFramework.PubKey } key - input public Key. 280961847f8eSopenharmony_ci * @returns { Promise<void> } the promise returned by the function. 281061847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 281161847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 281261847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 281361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 281461847f8eSopenharmony_ci * @since 9 281561847f8eSopenharmony_ci * @deprecated since 11 281661847f8eSopenharmony_ci * @useinstead ohos.security.cert.X509CRL#verify 281761847f8eSopenharmony_ci */ 281861847f8eSopenharmony_ci verify(key: cryptoFramework.PubKey): Promise<void>; 281961847f8eSopenharmony_ci 282061847f8eSopenharmony_ci /** 282161847f8eSopenharmony_ci * Get version number from CRL. 282261847f8eSopenharmony_ci * 282361847f8eSopenharmony_ci * @returns { number } version of crl. 282461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 282561847f8eSopenharmony_ci * @since 9 282661847f8eSopenharmony_ci * @deprecated since 11 282761847f8eSopenharmony_ci * @useinstead ohos.security.cert.X509CRL#getVersion 282861847f8eSopenharmony_ci */ 282961847f8eSopenharmony_ci getVersion(): number; 283061847f8eSopenharmony_ci 283161847f8eSopenharmony_ci /** 283261847f8eSopenharmony_ci * Get the issuer name from CRL. Issuer means the entity that signs and publishes the CRL. 283361847f8eSopenharmony_ci * 283461847f8eSopenharmony_ci * @returns { DataBlob } issuer name of crl. 283561847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 283661847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 283761847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 283861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 283961847f8eSopenharmony_ci * @since 9 284061847f8eSopenharmony_ci * @deprecated since 11 284161847f8eSopenharmony_ci * @useinstead ohos.security.cert.X509CRL#getIssuerName 284261847f8eSopenharmony_ci */ 284361847f8eSopenharmony_ci getIssuerName(): DataBlob; 284461847f8eSopenharmony_ci 284561847f8eSopenharmony_ci /** 284661847f8eSopenharmony_ci * Get lastUpdate value from CRL. 284761847f8eSopenharmony_ci * 284861847f8eSopenharmony_ci * @returns { string } last update of crl. 284961847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 285061847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 285161847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 285261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 285361847f8eSopenharmony_ci * @since 9 285461847f8eSopenharmony_ci * @deprecated since 11 285561847f8eSopenharmony_ci * @useinstead ohos.security.cert.X509CRL#getLastUpdate 285661847f8eSopenharmony_ci */ 285761847f8eSopenharmony_ci getLastUpdate(): string; 285861847f8eSopenharmony_ci 285961847f8eSopenharmony_ci /** 286061847f8eSopenharmony_ci * Get nextUpdate value from CRL. 286161847f8eSopenharmony_ci * 286261847f8eSopenharmony_ci * @returns { string } next update of crl. 286361847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 286461847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 286561847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 286661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 286761847f8eSopenharmony_ci * @since 9 286861847f8eSopenharmony_ci * @deprecated since 11 286961847f8eSopenharmony_ci * @useinstead ohos.security.cert.X509CRL#getNextUpdate 287061847f8eSopenharmony_ci */ 287161847f8eSopenharmony_ci getNextUpdate(): string; 287261847f8eSopenharmony_ci 287361847f8eSopenharmony_ci /** 287461847f8eSopenharmony_ci * This method can be used to find CRL entries in specified CRLs. 287561847f8eSopenharmony_ci * 287661847f8eSopenharmony_ci * @param { number } serialNumber - serial number of crl. 287761847f8eSopenharmony_ci * @returns { X509CrlEntry } next update of crl. 287861847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 287961847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 288061847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 288161847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 288261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 288361847f8eSopenharmony_ci * @since 9 288461847f8eSopenharmony_ci * @deprecated since 11 288561847f8eSopenharmony_ci * @useinstead ohos.security.cert.X509CRL#getRevokedCert 288661847f8eSopenharmony_ci */ 288761847f8eSopenharmony_ci getRevokedCert(serialNumber: number): X509CrlEntry; 288861847f8eSopenharmony_ci 288961847f8eSopenharmony_ci /** 289061847f8eSopenharmony_ci * This method can be used to find CRL entries in specified cert. 289161847f8eSopenharmony_ci * 289261847f8eSopenharmony_ci * @param { X509Cert } cert - cert of x509. 289361847f8eSopenharmony_ci * @returns { X509CrlEntry } X509CrlEntry instance. 289461847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 289561847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 289661847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 289761847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 289861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 289961847f8eSopenharmony_ci * @since 9 290061847f8eSopenharmony_ci * @deprecated since 11 290161847f8eSopenharmony_ci * @useinstead ohos.security.cert.X509CRL#getRevokedCertWithCert 290261847f8eSopenharmony_ci */ 290361847f8eSopenharmony_ci getRevokedCertWithCert(cert: X509Cert): X509CrlEntry; 290461847f8eSopenharmony_ci 290561847f8eSopenharmony_ci /** 290661847f8eSopenharmony_ci * Get all entries in this CRL. 290761847f8eSopenharmony_ci * 290861847f8eSopenharmony_ci * @param { AsyncCallback<Array<X509CrlEntry>> } callback - the callback of getRevokedCerts. 290961847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 291061847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 291161847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 291261847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 291361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 291461847f8eSopenharmony_ci * @since 9 291561847f8eSopenharmony_ci * @deprecated since 11 291661847f8eSopenharmony_ci * @useinstead ohos.security.cert.X509CRL#getRevokedCerts 291761847f8eSopenharmony_ci */ 291861847f8eSopenharmony_ci getRevokedCerts(callback: AsyncCallback<Array<X509CrlEntry>>): void; 291961847f8eSopenharmony_ci 292061847f8eSopenharmony_ci /** 292161847f8eSopenharmony_ci * Get all entries in this CRL. 292261847f8eSopenharmony_ci * 292361847f8eSopenharmony_ci * @returns { Promise<Array<X509CrlEntry>> } the promise of X509CrlEntry instance. 292461847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 292561847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 292661847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 292761847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 292861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 292961847f8eSopenharmony_ci * @since 9 293061847f8eSopenharmony_ci * @deprecated since 11 293161847f8eSopenharmony_ci * @useinstead ohos.security.cert.X509CRL#getRevokedCerts 293261847f8eSopenharmony_ci */ 293361847f8eSopenharmony_ci getRevokedCerts(): Promise<Array<X509CrlEntry>>; 293461847f8eSopenharmony_ci 293561847f8eSopenharmony_ci /** 293661847f8eSopenharmony_ci * Get the CRL information encoded by Der from this CRL. 293761847f8eSopenharmony_ci * 293861847f8eSopenharmony_ci * @returns { DataBlob } DataBlob of tbs info. 293961847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 294061847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 294161847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 294261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 294361847f8eSopenharmony_ci * @since 9 294461847f8eSopenharmony_ci * @deprecated since 11 294561847f8eSopenharmony_ci * @useinstead ohos.security.cert.X509CRL#getTBSInfo 294661847f8eSopenharmony_ci */ 294761847f8eSopenharmony_ci getTbsInfo(): DataBlob; 294861847f8eSopenharmony_ci 294961847f8eSopenharmony_ci /** 295061847f8eSopenharmony_ci * Get signature value from CRL. 295161847f8eSopenharmony_ci * 295261847f8eSopenharmony_ci * @returns { DataBlob } DataBlob of signature. 295361847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 295461847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 295561847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 295661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 295761847f8eSopenharmony_ci * @since 9 295861847f8eSopenharmony_ci * @deprecated since 11 295961847f8eSopenharmony_ci * @useinstead ohos.security.cert.X509CRL#getSignature 296061847f8eSopenharmony_ci */ 296161847f8eSopenharmony_ci getSignature(): DataBlob; 296261847f8eSopenharmony_ci 296361847f8eSopenharmony_ci /** 296461847f8eSopenharmony_ci * Get the signature algorithm name of the CRL signature algorithm. 296561847f8eSopenharmony_ci * 296661847f8eSopenharmony_ci * @returns { string } string of signature algorithm name. 296761847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 296861847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 296961847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 297061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 297161847f8eSopenharmony_ci * @since 9 297261847f8eSopenharmony_ci * @deprecated since 11 297361847f8eSopenharmony_ci * @useinstead ohos.security.cert.X509CRL#getSignatureAlgName 297461847f8eSopenharmony_ci */ 297561847f8eSopenharmony_ci getSignatureAlgName(): string; 297661847f8eSopenharmony_ci 297761847f8eSopenharmony_ci /** 297861847f8eSopenharmony_ci * Get the signature algorithm oid string from CRL. 297961847f8eSopenharmony_ci * 298061847f8eSopenharmony_ci * @returns { string } string of signature algorithm oid. 298161847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 298261847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 298361847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 298461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 298561847f8eSopenharmony_ci * @since 9 298661847f8eSopenharmony_ci * @deprecated since 11 298761847f8eSopenharmony_ci * @useinstead ohos.security.cert.X509CRL#getSignatureAlgOid 298861847f8eSopenharmony_ci */ 298961847f8eSopenharmony_ci getSignatureAlgOid(): string; 299061847f8eSopenharmony_ci 299161847f8eSopenharmony_ci /** 299261847f8eSopenharmony_ci * Get the der encoded signature algorithm parameters from the CRL signature algorithm. 299361847f8eSopenharmony_ci * 299461847f8eSopenharmony_ci * @returns { DataBlob } DataBlob of signature algorithm params. 299561847f8eSopenharmony_ci * @throws { BusinessError } 801 - this operation is not supported. 299661847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 299761847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 299861847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 299961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 300061847f8eSopenharmony_ci * @since 9 300161847f8eSopenharmony_ci * @deprecated since 11 300261847f8eSopenharmony_ci * @useinstead ohos.security.cert.X509CRL#getSignatureAlgParams 300361847f8eSopenharmony_ci */ 300461847f8eSopenharmony_ci getSignatureAlgParams(): DataBlob; 300561847f8eSopenharmony_ci } 300661847f8eSopenharmony_ci 300761847f8eSopenharmony_ci /** 300861847f8eSopenharmony_ci * Provides to create X509 CRL object. 300961847f8eSopenharmony_ci * The returned object provides the data parsing or verification capability. 301061847f8eSopenharmony_ci * 301161847f8eSopenharmony_ci * @param { EncodingBlob } inStream - indicates the input CRL data. 301261847f8eSopenharmony_ci * @param { AsyncCallback<X509Crl> } callback - the callback of createX509Crl to return x509 CRL instance. 301361847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 301461847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 301561847f8eSopenharmony_ci * @throws { BusinessError } 801 - this operation is not supported. 301661847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 301761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 301861847f8eSopenharmony_ci * @since 9 301961847f8eSopenharmony_ci * @deprecated since 11 302061847f8eSopenharmony_ci * @useinstead ohos.security.cert#createX509CRL 302161847f8eSopenharmony_ci */ 302261847f8eSopenharmony_ci function createX509Crl(inStream: EncodingBlob, callback: AsyncCallback<X509Crl>): void; 302361847f8eSopenharmony_ci 302461847f8eSopenharmony_ci /** 302561847f8eSopenharmony_ci * Provides to create X509 CRL object. 302661847f8eSopenharmony_ci * The returned object provides the data parsing or verification capability. 302761847f8eSopenharmony_ci * 302861847f8eSopenharmony_ci * @param { EncodingBlob } inStream - indicates the input CRL data. 302961847f8eSopenharmony_ci * @returns { Promise<X509Crl> } the promise of x509 CRL instance. 303061847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 303161847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 303261847f8eSopenharmony_ci * @throws { BusinessError } 801 - this operation is not supported. 303361847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 303461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 303561847f8eSopenharmony_ci * @since 9 303661847f8eSopenharmony_ci * @deprecated since 11 303761847f8eSopenharmony_ci * @useinstead ohos.security.cert#createX509CRL 303861847f8eSopenharmony_ci */ 303961847f8eSopenharmony_ci function createX509Crl(inStream: EncodingBlob): Promise<X509Crl>; 304061847f8eSopenharmony_ci 304161847f8eSopenharmony_ci /** 304261847f8eSopenharmony_ci * Interface of X509CRL. 304361847f8eSopenharmony_ci * 304461847f8eSopenharmony_ci * @typedef X509CRL 304561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 304661847f8eSopenharmony_ci * @crossplatform 304761847f8eSopenharmony_ci * @since 11 304861847f8eSopenharmony_ci */ 304961847f8eSopenharmony_ci /** 305061847f8eSopenharmony_ci * Interface of X509CRL. 305161847f8eSopenharmony_ci * 305261847f8eSopenharmony_ci * @typedef X509CRL 305361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 305461847f8eSopenharmony_ci * @crossplatform 305561847f8eSopenharmony_ci * @atomicservice 305661847f8eSopenharmony_ci * @since 12 305761847f8eSopenharmony_ci */ 305861847f8eSopenharmony_ci interface X509CRL { 305961847f8eSopenharmony_ci /** 306061847f8eSopenharmony_ci * Check if the given certificate is on this CRL. 306161847f8eSopenharmony_ci * 306261847f8eSopenharmony_ci * @param { X509Cert } cert - input cert data. 306361847f8eSopenharmony_ci * @returns { boolean } result of Check cert is revoked or not. 306461847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 306561847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 306661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 306761847f8eSopenharmony_ci * @crossplatform 306861847f8eSopenharmony_ci * @since 11 306961847f8eSopenharmony_ci */ 307061847f8eSopenharmony_ci /** 307161847f8eSopenharmony_ci * Check if the given certificate is on this CRL. 307261847f8eSopenharmony_ci * 307361847f8eSopenharmony_ci * @param { X509Cert } cert - input cert data. 307461847f8eSopenharmony_ci * @returns { boolean } result of Check cert is revoked or not. 307561847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 307661847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 307761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 307861847f8eSopenharmony_ci * @crossplatform 307961847f8eSopenharmony_ci * @atomicservice 308061847f8eSopenharmony_ci * @since 12 308161847f8eSopenharmony_ci */ 308261847f8eSopenharmony_ci isRevoked(cert: X509Cert): boolean; 308361847f8eSopenharmony_ci 308461847f8eSopenharmony_ci /** 308561847f8eSopenharmony_ci * Returns the type of this CRL. 308661847f8eSopenharmony_ci * 308761847f8eSopenharmony_ci * @returns { string } string of CRL type. 308861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 308961847f8eSopenharmony_ci * @crossplatform 309061847f8eSopenharmony_ci * @since 11 309161847f8eSopenharmony_ci */ 309261847f8eSopenharmony_ci /** 309361847f8eSopenharmony_ci * Returns the type of this CRL. 309461847f8eSopenharmony_ci * 309561847f8eSopenharmony_ci * @returns { string } string of CRL type. 309661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 309761847f8eSopenharmony_ci * @crossplatform 309861847f8eSopenharmony_ci * @atomicservice 309961847f8eSopenharmony_ci * @since 12 310061847f8eSopenharmony_ci */ 310161847f8eSopenharmony_ci getType(): string; 310261847f8eSopenharmony_ci 310361847f8eSopenharmony_ci /** 310461847f8eSopenharmony_ci * Get the der coding format. 310561847f8eSopenharmony_ci * 310661847f8eSopenharmony_ci * @param { AsyncCallback<EncodingBlob> } callback - the callback of getEncoded. 310761847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 310861847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 310961847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 311061847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 311161847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 311261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 311361847f8eSopenharmony_ci * @crossplatform 311461847f8eSopenharmony_ci * @since 11 311561847f8eSopenharmony_ci */ 311661847f8eSopenharmony_ci /** 311761847f8eSopenharmony_ci * Get the der coding format. 311861847f8eSopenharmony_ci * 311961847f8eSopenharmony_ci * @param { AsyncCallback<EncodingBlob> } callback - the callback of getEncoded. 312061847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 312161847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 312261847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 312361847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 312461847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 312561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 312661847f8eSopenharmony_ci * @crossplatform 312761847f8eSopenharmony_ci * @atomicservice 312861847f8eSopenharmony_ci * @since 12 312961847f8eSopenharmony_ci */ 313061847f8eSopenharmony_ci getEncoded(callback: AsyncCallback<EncodingBlob>): void; 313161847f8eSopenharmony_ci 313261847f8eSopenharmony_ci /** 313361847f8eSopenharmony_ci * Get the der coding format. 313461847f8eSopenharmony_ci * 313561847f8eSopenharmony_ci * @returns { Promise<EncodingBlob> } the promise of CRL blob data. 313661847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 313761847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 313861847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 313961847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 314061847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 314161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 314261847f8eSopenharmony_ci * @crossplatform 314361847f8eSopenharmony_ci * @since 11 314461847f8eSopenharmony_ci */ 314561847f8eSopenharmony_ci /** 314661847f8eSopenharmony_ci * Get the der coding format. 314761847f8eSopenharmony_ci * 314861847f8eSopenharmony_ci * @returns { Promise<EncodingBlob> } the promise of CRL blob data. 314961847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 315061847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 315161847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 315261847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 315361847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 315461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 315561847f8eSopenharmony_ci * @crossplatform 315661847f8eSopenharmony_ci * @atomicservice 315761847f8eSopenharmony_ci * @since 12 315861847f8eSopenharmony_ci */ 315961847f8eSopenharmony_ci getEncoded(): Promise<EncodingBlob>; 316061847f8eSopenharmony_ci 316161847f8eSopenharmony_ci /** 316261847f8eSopenharmony_ci * Use the public key to verify the signature of CRL. 316361847f8eSopenharmony_ci * 316461847f8eSopenharmony_ci * @param { cryptoFramework.PubKey } key - input public Key. 316561847f8eSopenharmony_ci * @param { AsyncCallback<void> } callback - the callback of getEncoded. 316661847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 316761847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 316861847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 316961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 317061847f8eSopenharmony_ci * @crossplatform 317161847f8eSopenharmony_ci * @since 11 317261847f8eSopenharmony_ci */ 317361847f8eSopenharmony_ci /** 317461847f8eSopenharmony_ci * Use the public key to verify the signature of CRL. 317561847f8eSopenharmony_ci * 317661847f8eSopenharmony_ci * @param { cryptoFramework.PubKey } key - input public Key. 317761847f8eSopenharmony_ci * @param { AsyncCallback<void> } callback - the callback of getEncoded. 317861847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 317961847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 318061847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 318161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 318261847f8eSopenharmony_ci * @crossplatform 318361847f8eSopenharmony_ci * @atomicservice 318461847f8eSopenharmony_ci * @since 12 318561847f8eSopenharmony_ci */ 318661847f8eSopenharmony_ci verify(key: cryptoFramework.PubKey, callback: AsyncCallback<void>): void; 318761847f8eSopenharmony_ci 318861847f8eSopenharmony_ci /** 318961847f8eSopenharmony_ci * Use the public key to verify the signature of CRL. 319061847f8eSopenharmony_ci * 319161847f8eSopenharmony_ci * @param { cryptoFramework.PubKey } key - input public Key. 319261847f8eSopenharmony_ci * @returns { Promise<void> } the promise returned by the function. 319361847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 319461847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 319561847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 319661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 319761847f8eSopenharmony_ci * @crossplatform 319861847f8eSopenharmony_ci * @since 11 319961847f8eSopenharmony_ci */ 320061847f8eSopenharmony_ci /** 320161847f8eSopenharmony_ci * Use the public key to verify the signature of CRL. 320261847f8eSopenharmony_ci * 320361847f8eSopenharmony_ci * @param { cryptoFramework.PubKey } key - input public Key. 320461847f8eSopenharmony_ci * @returns { Promise<void> } the promise returned by the function. 320561847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 320661847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 320761847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 320861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 320961847f8eSopenharmony_ci * @crossplatform 321061847f8eSopenharmony_ci * @atomicservice 321161847f8eSopenharmony_ci * @since 12 321261847f8eSopenharmony_ci */ 321361847f8eSopenharmony_ci verify(key: cryptoFramework.PubKey): Promise<void>; 321461847f8eSopenharmony_ci 321561847f8eSopenharmony_ci /** 321661847f8eSopenharmony_ci * Get version number from CRL. 321761847f8eSopenharmony_ci * 321861847f8eSopenharmony_ci * @returns { number } version of CRL. 321961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 322061847f8eSopenharmony_ci * @crossplatform 322161847f8eSopenharmony_ci * @since 11 322261847f8eSopenharmony_ci */ 322361847f8eSopenharmony_ci /** 322461847f8eSopenharmony_ci * Get version number from CRL. 322561847f8eSopenharmony_ci * 322661847f8eSopenharmony_ci * @returns { number } version of CRL. 322761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 322861847f8eSopenharmony_ci * @crossplatform 322961847f8eSopenharmony_ci * @atomicservice 323061847f8eSopenharmony_ci * @since 12 323161847f8eSopenharmony_ci */ 323261847f8eSopenharmony_ci getVersion(): number; 323361847f8eSopenharmony_ci 323461847f8eSopenharmony_ci /** 323561847f8eSopenharmony_ci * Get the issuer name from CRL. Issuer means the entity that signs and publishes the CRL. 323661847f8eSopenharmony_ci * 323761847f8eSopenharmony_ci * @returns { DataBlob } issuer name of CRL. 323861847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 323961847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 324061847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 324161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 324261847f8eSopenharmony_ci * @crossplatform 324361847f8eSopenharmony_ci * @since 11 324461847f8eSopenharmony_ci */ 324561847f8eSopenharmony_ci /** 324661847f8eSopenharmony_ci * Get the issuer name from CRL. Issuer means the entity that signs and publishes the CRL. 324761847f8eSopenharmony_ci * 324861847f8eSopenharmony_ci * @returns { DataBlob } issuer name of CRL. 324961847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 325061847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 325161847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 325261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 325361847f8eSopenharmony_ci * @crossplatform 325461847f8eSopenharmony_ci * @atomicservice 325561847f8eSopenharmony_ci * @since 12 325661847f8eSopenharmony_ci */ 325761847f8eSopenharmony_ci getIssuerName(): DataBlob; 325861847f8eSopenharmony_ci 325961847f8eSopenharmony_ci /** 326061847f8eSopenharmony_ci * Get lastUpdate value from CRL. 326161847f8eSopenharmony_ci * 326261847f8eSopenharmony_ci * @returns { string } last update of CRL. 326361847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 326461847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 326561847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 326661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 326761847f8eSopenharmony_ci * @crossplatform 326861847f8eSopenharmony_ci * @since 11 326961847f8eSopenharmony_ci */ 327061847f8eSopenharmony_ci /** 327161847f8eSopenharmony_ci * Get lastUpdate value from CRL. 327261847f8eSopenharmony_ci * 327361847f8eSopenharmony_ci * @returns { string } last update of CRL. 327461847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 327561847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 327661847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 327761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 327861847f8eSopenharmony_ci * @crossplatform 327961847f8eSopenharmony_ci * @atomicservice 328061847f8eSopenharmony_ci * @since 12 328161847f8eSopenharmony_ci */ 328261847f8eSopenharmony_ci getLastUpdate(): string; 328361847f8eSopenharmony_ci 328461847f8eSopenharmony_ci /** 328561847f8eSopenharmony_ci * Get nextUpdate value from CRL. 328661847f8eSopenharmony_ci * 328761847f8eSopenharmony_ci * @returns { string } next update of CRL. 328861847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 328961847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 329061847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 329161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 329261847f8eSopenharmony_ci * @crossplatform 329361847f8eSopenharmony_ci * @since 11 329461847f8eSopenharmony_ci */ 329561847f8eSopenharmony_ci /** 329661847f8eSopenharmony_ci * Get nextUpdate value from CRL. 329761847f8eSopenharmony_ci * 329861847f8eSopenharmony_ci * @returns { string } next update of CRL. 329961847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 330061847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 330161847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 330261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 330361847f8eSopenharmony_ci * @crossplatform 330461847f8eSopenharmony_ci * @atomicservice 330561847f8eSopenharmony_ci * @since 12 330661847f8eSopenharmony_ci */ 330761847f8eSopenharmony_ci getNextUpdate(): string; 330861847f8eSopenharmony_ci 330961847f8eSopenharmony_ci /** 331061847f8eSopenharmony_ci * This method can be used to find CRL entries in specified CRLs. 331161847f8eSopenharmony_ci * 331261847f8eSopenharmony_ci * @param { bigint } serialNumber - serial number of CRL. 331361847f8eSopenharmony_ci * @returns { X509CRLEntry } next update of CRL. 331461847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 331561847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 331661847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 331761847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 331861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 331961847f8eSopenharmony_ci * @crossplatform 332061847f8eSopenharmony_ci * @since 11 332161847f8eSopenharmony_ci */ 332261847f8eSopenharmony_ci /** 332361847f8eSopenharmony_ci * This method can be used to find CRL entries in specified CRLs. 332461847f8eSopenharmony_ci * 332561847f8eSopenharmony_ci * @param { bigint } serialNumber - serial number of CRL. 332661847f8eSopenharmony_ci * @returns { X509CRLEntry } next update of CRL. 332761847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 332861847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 332961847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 333061847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 333161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 333261847f8eSopenharmony_ci * @crossplatform 333361847f8eSopenharmony_ci * @atomicservice 333461847f8eSopenharmony_ci * @since 12 333561847f8eSopenharmony_ci */ 333661847f8eSopenharmony_ci getRevokedCert(serialNumber: bigint): X509CRLEntry; 333761847f8eSopenharmony_ci 333861847f8eSopenharmony_ci /** 333961847f8eSopenharmony_ci * This method can be used to find CRL entries in specified cert. 334061847f8eSopenharmony_ci * 334161847f8eSopenharmony_ci * @param { X509Cert } cert - cert of x509. 334261847f8eSopenharmony_ci * @returns { X509CRLEntry } X509CRLEntry instance. 334361847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 334461847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 334561847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 334661847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 334761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 334861847f8eSopenharmony_ci * @crossplatform 334961847f8eSopenharmony_ci * @since 11 335061847f8eSopenharmony_ci */ 335161847f8eSopenharmony_ci /** 335261847f8eSopenharmony_ci * This method can be used to find CRL entries in specified cert. 335361847f8eSopenharmony_ci * 335461847f8eSopenharmony_ci * @param { X509Cert } cert - cert of x509. 335561847f8eSopenharmony_ci * @returns { X509CRLEntry } X509CRLEntry instance. 335661847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 335761847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 335861847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 335961847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 336061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 336161847f8eSopenharmony_ci * @crossplatform 336261847f8eSopenharmony_ci * @atomicservice 336361847f8eSopenharmony_ci * @since 12 336461847f8eSopenharmony_ci */ 336561847f8eSopenharmony_ci getRevokedCertWithCert(cert: X509Cert): X509CRLEntry; 336661847f8eSopenharmony_ci 336761847f8eSopenharmony_ci /** 336861847f8eSopenharmony_ci * Get all entries in this CRL. 336961847f8eSopenharmony_ci * 337061847f8eSopenharmony_ci * @param { AsyncCallback<Array<X509CRLEntry>> } callback - the callback of getRevokedCerts. 337161847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 337261847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 337361847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 337461847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 337561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 337661847f8eSopenharmony_ci * @crossplatform 337761847f8eSopenharmony_ci * @since 11 337861847f8eSopenharmony_ci */ 337961847f8eSopenharmony_ci /** 338061847f8eSopenharmony_ci * Get all entries in this CRL. 338161847f8eSopenharmony_ci * 338261847f8eSopenharmony_ci * @param { AsyncCallback<Array<X509CRLEntry>> } callback - the callback of getRevokedCerts. 338361847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 338461847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 338561847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 338661847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 338761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 338861847f8eSopenharmony_ci * @crossplatform 338961847f8eSopenharmony_ci * @atomicservice 339061847f8eSopenharmony_ci * @since 12 339161847f8eSopenharmony_ci */ 339261847f8eSopenharmony_ci getRevokedCerts(callback: AsyncCallback<Array<X509CRLEntry>>): void; 339361847f8eSopenharmony_ci 339461847f8eSopenharmony_ci /** 339561847f8eSopenharmony_ci * Get all entries in this CRL. 339661847f8eSopenharmony_ci * 339761847f8eSopenharmony_ci * @returns { Promise<Array<X509CRLEntry>> } the promise of X509CRLEntry instance. 339861847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 339961847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 340061847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 340161847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 340261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 340361847f8eSopenharmony_ci * @crossplatform 340461847f8eSopenharmony_ci * @since 11 340561847f8eSopenharmony_ci */ 340661847f8eSopenharmony_ci /** 340761847f8eSopenharmony_ci * Get all entries in this CRL. 340861847f8eSopenharmony_ci * 340961847f8eSopenharmony_ci * @returns { Promise<Array<X509CRLEntry>> } the promise of X509CRLEntry instance. 341061847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 341161847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 341261847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 341361847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 341461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 341561847f8eSopenharmony_ci * @crossplatform 341661847f8eSopenharmony_ci * @atomicservice 341761847f8eSopenharmony_ci * @since 12 341861847f8eSopenharmony_ci */ 341961847f8eSopenharmony_ci getRevokedCerts(): Promise<Array<X509CRLEntry>>; 342061847f8eSopenharmony_ci 342161847f8eSopenharmony_ci /** 342261847f8eSopenharmony_ci * Get the CRL information encoded by Der from this CRL. 342361847f8eSopenharmony_ci * 342461847f8eSopenharmony_ci * @returns { DataBlob } DataBlob of tbs info. 342561847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 342661847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 342761847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 342861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 342961847f8eSopenharmony_ci * @crossplatform 343061847f8eSopenharmony_ci * @since 11 343161847f8eSopenharmony_ci */ 343261847f8eSopenharmony_ci /** 343361847f8eSopenharmony_ci * Get the CRL information encoded by Der from this CRL. 343461847f8eSopenharmony_ci * 343561847f8eSopenharmony_ci * @returns { DataBlob } DataBlob of tbs info. 343661847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 343761847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 343861847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 343961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 344061847f8eSopenharmony_ci * @crossplatform 344161847f8eSopenharmony_ci * @atomicservice 344261847f8eSopenharmony_ci * @since 12 344361847f8eSopenharmony_ci */ 344461847f8eSopenharmony_ci getTBSInfo(): DataBlob; 344561847f8eSopenharmony_ci 344661847f8eSopenharmony_ci /** 344761847f8eSopenharmony_ci * Get signature value from CRL. 344861847f8eSopenharmony_ci * 344961847f8eSopenharmony_ci * @returns { DataBlob } DataBlob of signature. 345061847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 345161847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 345261847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 345361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 345461847f8eSopenharmony_ci * @crossplatform 345561847f8eSopenharmony_ci * @since 11 345661847f8eSopenharmony_ci */ 345761847f8eSopenharmony_ci /** 345861847f8eSopenharmony_ci * Get signature value from CRL. 345961847f8eSopenharmony_ci * 346061847f8eSopenharmony_ci * @returns { DataBlob } DataBlob of signature. 346161847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 346261847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 346361847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 346461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 346561847f8eSopenharmony_ci * @crossplatform 346661847f8eSopenharmony_ci * @atomicservice 346761847f8eSopenharmony_ci * @since 12 346861847f8eSopenharmony_ci */ 346961847f8eSopenharmony_ci getSignature(): DataBlob; 347061847f8eSopenharmony_ci 347161847f8eSopenharmony_ci /** 347261847f8eSopenharmony_ci * Get the signature algorithm name of the CRL signature algorithm. 347361847f8eSopenharmony_ci * 347461847f8eSopenharmony_ci * @returns { string } string of signature algorithm name. 347561847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 347661847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 347761847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 347861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 347961847f8eSopenharmony_ci * @crossplatform 348061847f8eSopenharmony_ci * @since 11 348161847f8eSopenharmony_ci */ 348261847f8eSopenharmony_ci /** 348361847f8eSopenharmony_ci * Get the signature algorithm name of the CRL signature algorithm. 348461847f8eSopenharmony_ci * 348561847f8eSopenharmony_ci * @returns { string } string of signature algorithm name. 348661847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 348761847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 348861847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 348961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 349061847f8eSopenharmony_ci * @crossplatform 349161847f8eSopenharmony_ci * @atomicservice 349261847f8eSopenharmony_ci * @since 12 349361847f8eSopenharmony_ci */ 349461847f8eSopenharmony_ci getSignatureAlgName(): string; 349561847f8eSopenharmony_ci 349661847f8eSopenharmony_ci /** 349761847f8eSopenharmony_ci * Get the signature algorithm oid string from CRL. 349861847f8eSopenharmony_ci * 349961847f8eSopenharmony_ci * @returns { string } string of signature algorithm oid. 350061847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 350161847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 350261847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 350361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 350461847f8eSopenharmony_ci * @crossplatform 350561847f8eSopenharmony_ci * @since 11 350661847f8eSopenharmony_ci */ 350761847f8eSopenharmony_ci /** 350861847f8eSopenharmony_ci * Get the signature algorithm oid string from CRL. 350961847f8eSopenharmony_ci * 351061847f8eSopenharmony_ci * @returns { string } string of signature algorithm oid. 351161847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 351261847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 351361847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 351461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 351561847f8eSopenharmony_ci * @crossplatform 351661847f8eSopenharmony_ci * @atomicservice 351761847f8eSopenharmony_ci * @since 12 351861847f8eSopenharmony_ci */ 351961847f8eSopenharmony_ci getSignatureAlgOid(): string; 352061847f8eSopenharmony_ci 352161847f8eSopenharmony_ci /** 352261847f8eSopenharmony_ci * Get the der encoded signature algorithm parameters from the CRL signature algorithm. 352361847f8eSopenharmony_ci * 352461847f8eSopenharmony_ci * @returns { DataBlob } DataBlob of signature algorithm params. 352561847f8eSopenharmony_ci * @throws { BusinessError } 801 - this operation is not supported. 352661847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 352761847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 352861847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 352961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 353061847f8eSopenharmony_ci * @crossplatform 353161847f8eSopenharmony_ci * @since 11 353261847f8eSopenharmony_ci */ 353361847f8eSopenharmony_ci /** 353461847f8eSopenharmony_ci * Get the der encoded signature algorithm parameters from the CRL signature algorithm. 353561847f8eSopenharmony_ci * 353661847f8eSopenharmony_ci * @returns { DataBlob } DataBlob of signature algorithm params. 353761847f8eSopenharmony_ci * @throws { BusinessError } 801 - this operation is not supported. 353861847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 353961847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 354061847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 354161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 354261847f8eSopenharmony_ci * @crossplatform 354361847f8eSopenharmony_ci * @atomicservice 354461847f8eSopenharmony_ci * @since 12 354561847f8eSopenharmony_ci */ 354661847f8eSopenharmony_ci getSignatureAlgParams(): DataBlob; 354761847f8eSopenharmony_ci 354861847f8eSopenharmony_ci /** 354961847f8eSopenharmony_ci * Get Extensions of CRL Entry. 355061847f8eSopenharmony_ci * 355161847f8eSopenharmony_ci * @returns { DataBlob } DataBlob of extensions 355261847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 355361847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 355461847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 355561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 355661847f8eSopenharmony_ci * @crossplatform 355761847f8eSopenharmony_ci * @since 11 355861847f8eSopenharmony_ci */ 355961847f8eSopenharmony_ci /** 356061847f8eSopenharmony_ci * Get Extensions of CRL Entry. 356161847f8eSopenharmony_ci * 356261847f8eSopenharmony_ci * @returns { DataBlob } DataBlob of extensions 356361847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 356461847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 356561847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 356661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 356761847f8eSopenharmony_ci * @crossplatform 356861847f8eSopenharmony_ci * @atomicservice 356961847f8eSopenharmony_ci * @since 12 357061847f8eSopenharmony_ci */ 357161847f8eSopenharmony_ci getExtensions(): DataBlob; 357261847f8eSopenharmony_ci 357361847f8eSopenharmony_ci /** 357461847f8eSopenharmony_ci * Check if the X509 CRL match the parameters. 357561847f8eSopenharmony_ci * 357661847f8eSopenharmony_ci * @param { X509CRLMatchParameters } param - indicate the X509CRLMatchParameters object. 357761847f8eSopenharmony_ci * @returns { boolean } true - match X509CRL, false - not match. 357861847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 357961847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 358061847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 358161847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 358261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 358361847f8eSopenharmony_ci * @crossplatform 358461847f8eSopenharmony_ci * @since 11 358561847f8eSopenharmony_ci */ 358661847f8eSopenharmony_ci /** 358761847f8eSopenharmony_ci * Check if the X509 CRL match the parameters. 358861847f8eSopenharmony_ci * 358961847f8eSopenharmony_ci * @param { X509CRLMatchParameters } param - indicate the X509CRLMatchParameters object. 359061847f8eSopenharmony_ci * @returns { boolean } true - match X509CRL, false - not match. 359161847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 359261847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 359361847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 359461847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 359561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 359661847f8eSopenharmony_ci * @crossplatform 359761847f8eSopenharmony_ci * @atomicservice 359861847f8eSopenharmony_ci * @since 12 359961847f8eSopenharmony_ci */ 360061847f8eSopenharmony_ci match(param: X509CRLMatchParameters): boolean; 360161847f8eSopenharmony_ci 360261847f8eSopenharmony_ci /** 360361847f8eSopenharmony_ci * Get X500 distinguished name of the issuer. 360461847f8eSopenharmony_ci * 360561847f8eSopenharmony_ci * @returns { X500DistinguishedName } X500 distinguished name object. 360661847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 360761847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 360861847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 360961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 361061847f8eSopenharmony_ci * @crossplatform 361161847f8eSopenharmony_ci * @atomicservice 361261847f8eSopenharmony_ci * @since 12 361361847f8eSopenharmony_ci */ 361461847f8eSopenharmony_ci getIssuerX500DistinguishedName(): X500DistinguishedName; 361561847f8eSopenharmony_ci 361661847f8eSopenharmony_ci /** 361761847f8eSopenharmony_ci * Get the string type data of the object. 361861847f8eSopenharmony_ci * 361961847f8eSopenharmony_ci * @returns { string } the string type data of the object. 362061847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 362161847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 362261847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 362361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 362461847f8eSopenharmony_ci * @crossplatform 362561847f8eSopenharmony_ci * @atomicservice 362661847f8eSopenharmony_ci * @since 12 362761847f8eSopenharmony_ci */ 362861847f8eSopenharmony_ci toString(): string; 362961847f8eSopenharmony_ci 363061847f8eSopenharmony_ci /** 363161847f8eSopenharmony_ci * Get the hash value of DER format data. 363261847f8eSopenharmony_ci * 363361847f8eSopenharmony_ci * @returns { Uint8Array } the hash value of DER format data. 363461847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 363561847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 363661847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 363761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 363861847f8eSopenharmony_ci * @crossplatform 363961847f8eSopenharmony_ci * @atomicservice 364061847f8eSopenharmony_ci * @since 12 364161847f8eSopenharmony_ci */ 364261847f8eSopenharmony_ci hashCode(): Uint8Array; 364361847f8eSopenharmony_ci 364461847f8eSopenharmony_ci /** 364561847f8eSopenharmony_ci * Get the extension der encoding data for the corresponding entity. 364661847f8eSopenharmony_ci * 364761847f8eSopenharmony_ci * @returns { CertExtension } the certExtension object. 364861847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 364961847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 365061847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 365161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 365261847f8eSopenharmony_ci * @crossplatform 365361847f8eSopenharmony_ci * @atomicservice 365461847f8eSopenharmony_ci * @since 12 365561847f8eSopenharmony_ci */ 365661847f8eSopenharmony_ci getExtensionsObject(): CertExtension; 365761847f8eSopenharmony_ci } 365861847f8eSopenharmony_ci 365961847f8eSopenharmony_ci /** 366061847f8eSopenharmony_ci * Provides to create X509 CRL object. 366161847f8eSopenharmony_ci * The returned object provides the data parsing or verification capability. 366261847f8eSopenharmony_ci * 366361847f8eSopenharmony_ci * @param { EncodingBlob } inStream - indicates the input CRL data. 366461847f8eSopenharmony_ci * @param { AsyncCallback<X509CRL> } callback - the callback of createX509CRL to return x509 CRL instance. 366561847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 366661847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 366761847f8eSopenharmony_ci * @throws { BusinessError } 801 - this operation is not supported. 366861847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 366961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 367061847f8eSopenharmony_ci * @crossplatform 367161847f8eSopenharmony_ci * @since 11 367261847f8eSopenharmony_ci */ 367361847f8eSopenharmony_ci /** 367461847f8eSopenharmony_ci * Provides to create X509 CRL object. 367561847f8eSopenharmony_ci * The returned object provides the data parsing or verification capability. 367661847f8eSopenharmony_ci * 367761847f8eSopenharmony_ci * @param { EncodingBlob } inStream - indicates the input CRL data. 367861847f8eSopenharmony_ci * @param { AsyncCallback<X509CRL> } callback - the callback of createX509CRL to return x509 CRL instance. 367961847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 368061847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 368161847f8eSopenharmony_ci * @throws { BusinessError } 801 - this operation is not supported. 368261847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 368361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 368461847f8eSopenharmony_ci * @crossplatform 368561847f8eSopenharmony_ci * @atomicservice 368661847f8eSopenharmony_ci * @since 12 368761847f8eSopenharmony_ci */ 368861847f8eSopenharmony_ci function createX509CRL(inStream: EncodingBlob, callback: AsyncCallback<X509CRL>): void; 368961847f8eSopenharmony_ci 369061847f8eSopenharmony_ci /** 369161847f8eSopenharmony_ci * Provides to create X509 CRL object. 369261847f8eSopenharmony_ci * The returned object provides the data parsing or verification capability. 369361847f8eSopenharmony_ci * 369461847f8eSopenharmony_ci * @param { EncodingBlob } inStream - indicates the input CRL data. 369561847f8eSopenharmony_ci * @returns { Promise<X509CRL> } the promise of x509 CRL instance. 369661847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 369761847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 369861847f8eSopenharmony_ci * @throws { BusinessError } 801 - this operation is not supported. 369961847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 370061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 370161847f8eSopenharmony_ci * @crossplatform 370261847f8eSopenharmony_ci * @since 11 370361847f8eSopenharmony_ci */ 370461847f8eSopenharmony_ci /** 370561847f8eSopenharmony_ci * Provides to create X509 CRL object. 370661847f8eSopenharmony_ci * The returned object provides the data parsing or verification capability. 370761847f8eSopenharmony_ci * 370861847f8eSopenharmony_ci * @param { EncodingBlob } inStream - indicates the input CRL data. 370961847f8eSopenharmony_ci * @returns { Promise<X509CRL> } the promise of x509 CRL instance. 371061847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 371161847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 371261847f8eSopenharmony_ci * @throws { BusinessError } 801 - this operation is not supported. 371361847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 371461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 371561847f8eSopenharmony_ci * @crossplatform 371661847f8eSopenharmony_ci * @atomicservice 371761847f8eSopenharmony_ci * @since 12 371861847f8eSopenharmony_ci */ 371961847f8eSopenharmony_ci function createX509CRL(inStream: EncodingBlob): Promise<X509CRL>; 372061847f8eSopenharmony_ci 372161847f8eSopenharmony_ci /** 372261847f8eSopenharmony_ci * Certification chain validator. 372361847f8eSopenharmony_ci * 372461847f8eSopenharmony_ci * @typedef CertChainValidator 372561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 372661847f8eSopenharmony_ci * @since 9 372761847f8eSopenharmony_ci */ 372861847f8eSopenharmony_ci /** 372961847f8eSopenharmony_ci * Certification chain validator. 373061847f8eSopenharmony_ci * 373161847f8eSopenharmony_ci * @typedef CertChainValidator 373261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 373361847f8eSopenharmony_ci * @crossplatform 373461847f8eSopenharmony_ci * @since 11 373561847f8eSopenharmony_ci */ 373661847f8eSopenharmony_ci /** 373761847f8eSopenharmony_ci * Certification chain validator. 373861847f8eSopenharmony_ci * 373961847f8eSopenharmony_ci * @typedef CertChainValidator 374061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 374161847f8eSopenharmony_ci * @crossplatform 374261847f8eSopenharmony_ci * @atomicservice 374361847f8eSopenharmony_ci * @since 12 374461847f8eSopenharmony_ci */ 374561847f8eSopenharmony_ci interface CertChainValidator { 374661847f8eSopenharmony_ci /** 374761847f8eSopenharmony_ci * Validate the cert chain. 374861847f8eSopenharmony_ci * 374961847f8eSopenharmony_ci * @param { CertChainData } certChain - indicate the cert chain validator data. 375061847f8eSopenharmony_ci * @param { AsyncCallback<void> } callback - the callback of validate. 375161847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 375261847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 375361847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 375461847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 375561847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 375661847f8eSopenharmony_ci * @throws { BusinessError } 19030002 - the certificate signature verification failed. 375761847f8eSopenharmony_ci * @throws { BusinessError } 19030003 - the certificate has not taken effect. 375861847f8eSopenharmony_ci * @throws { BusinessError } 19030004 - the certificate has expired. 375961847f8eSopenharmony_ci * @throws { BusinessError } 19030005 - failed to obtain the certificate issuer. 376061847f8eSopenharmony_ci * @throws { BusinessError } 19030006 - the key cannot be used for signing a certificate. 376161847f8eSopenharmony_ci * @throws { BusinessError } 19030007 - the key cannot be used for digital signature. 376261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 376361847f8eSopenharmony_ci * @since 9 376461847f8eSopenharmony_ci */ 376561847f8eSopenharmony_ci /** 376661847f8eSopenharmony_ci * Validate the cert chain. 376761847f8eSopenharmony_ci * 376861847f8eSopenharmony_ci * @param { CertChainData } certChain - indicate the cert chain validator data. 376961847f8eSopenharmony_ci * @param { AsyncCallback<void> } callback - the callback of validate. 377061847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 377161847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 377261847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 377361847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 377461847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 377561847f8eSopenharmony_ci * @throws { BusinessError } 19030002 - the certificate signature verification failed. 377661847f8eSopenharmony_ci * @throws { BusinessError } 19030003 - the certificate has not taken effect. 377761847f8eSopenharmony_ci * @throws { BusinessError } 19030004 - the certificate has expired. 377861847f8eSopenharmony_ci * @throws { BusinessError } 19030005 - failed to obtain the certificate issuer. 377961847f8eSopenharmony_ci * @throws { BusinessError } 19030006 - the key cannot be used for signing a certificate. 378061847f8eSopenharmony_ci * @throws { BusinessError } 19030007 - the key cannot be used for digital signature. 378161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 378261847f8eSopenharmony_ci * @crossplatform 378361847f8eSopenharmony_ci * @since 11 378461847f8eSopenharmony_ci */ 378561847f8eSopenharmony_ci /** 378661847f8eSopenharmony_ci * Validate the cert chain. 378761847f8eSopenharmony_ci * 378861847f8eSopenharmony_ci * @param { CertChainData } certChain - indicate the cert chain validator data. 378961847f8eSopenharmony_ci * @param { AsyncCallback<void> } callback - the callback of validate. 379061847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 379161847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 379261847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 379361847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 379461847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 379561847f8eSopenharmony_ci * @throws { BusinessError } 19030002 - the certificate signature verification failed. 379661847f8eSopenharmony_ci * @throws { BusinessError } 19030003 - the certificate has not taken effect. 379761847f8eSopenharmony_ci * @throws { BusinessError } 19030004 - the certificate has expired. 379861847f8eSopenharmony_ci * @throws { BusinessError } 19030005 - failed to obtain the certificate issuer. 379961847f8eSopenharmony_ci * @throws { BusinessError } 19030006 - the key cannot be used for signing a certificate. 380061847f8eSopenharmony_ci * @throws { BusinessError } 19030007 - the key cannot be used for digital signature. 380161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 380261847f8eSopenharmony_ci * @crossplatform 380361847f8eSopenharmony_ci * @atomicservice 380461847f8eSopenharmony_ci * @since 12 380561847f8eSopenharmony_ci */ 380661847f8eSopenharmony_ci validate(certChain: CertChainData, callback: AsyncCallback<void>): void; 380761847f8eSopenharmony_ci 380861847f8eSopenharmony_ci /** 380961847f8eSopenharmony_ci * Validate the cert chain. 381061847f8eSopenharmony_ci * 381161847f8eSopenharmony_ci * @param { CertChainData } certChain - indicate the cert chain validator data. 381261847f8eSopenharmony_ci * @returns { Promise<void> } the promise returned by the function. 381361847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 381461847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 381561847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 381661847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 381761847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 381861847f8eSopenharmony_ci * @throws { BusinessError } 19030002 - the certificate signature verification failed. 381961847f8eSopenharmony_ci * @throws { BusinessError } 19030003 - the certificate has not taken effect. 382061847f8eSopenharmony_ci * @throws { BusinessError } 19030004 - the certificate has expired. 382161847f8eSopenharmony_ci * @throws { BusinessError } 19030005 - failed to obtain the certificate issuer. 382261847f8eSopenharmony_ci * @throws { BusinessError } 19030006 - the key cannot be used for signing a certificate. 382361847f8eSopenharmony_ci * @throws { BusinessError } 19030007 - the key cannot be used for digital signature. 382461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 382561847f8eSopenharmony_ci * @since 9 382661847f8eSopenharmony_ci */ 382761847f8eSopenharmony_ci /** 382861847f8eSopenharmony_ci * Validate the cert chain. 382961847f8eSopenharmony_ci * 383061847f8eSopenharmony_ci * @param { CertChainData } certChain - indicate the cert chain validator data. 383161847f8eSopenharmony_ci * @returns { Promise<void> } the promise returned by the function. 383261847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 383361847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 383461847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 383561847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 383661847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 383761847f8eSopenharmony_ci * @throws { BusinessError } 19030002 - the certificate signature verification failed. 383861847f8eSopenharmony_ci * @throws { BusinessError } 19030003 - the certificate has not taken effect. 383961847f8eSopenharmony_ci * @throws { BusinessError } 19030004 - the certificate has expired. 384061847f8eSopenharmony_ci * @throws { BusinessError } 19030005 - failed to obtain the certificate issuer. 384161847f8eSopenharmony_ci * @throws { BusinessError } 19030006 - the key cannot be used for signing a certificate. 384261847f8eSopenharmony_ci * @throws { BusinessError } 19030007 - the key cannot be used for digital signature. 384361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 384461847f8eSopenharmony_ci * @crossplatform 384561847f8eSopenharmony_ci * @since 11 384661847f8eSopenharmony_ci */ 384761847f8eSopenharmony_ci /** 384861847f8eSopenharmony_ci * Validate the cert chain. 384961847f8eSopenharmony_ci * 385061847f8eSopenharmony_ci * @param { CertChainData } certChain - indicate the cert chain validator data. 385161847f8eSopenharmony_ci * @returns { Promise<void> } the promise returned by the function. 385261847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 385361847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 385461847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 385561847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 385661847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 385761847f8eSopenharmony_ci * @throws { BusinessError } 19030002 - the certificate signature verification failed. 385861847f8eSopenharmony_ci * @throws { BusinessError } 19030003 - the certificate has not taken effect. 385961847f8eSopenharmony_ci * @throws { BusinessError } 19030004 - the certificate has expired. 386061847f8eSopenharmony_ci * @throws { BusinessError } 19030005 - failed to obtain the certificate issuer. 386161847f8eSopenharmony_ci * @throws { BusinessError } 19030006 - the key cannot be used for signing a certificate. 386261847f8eSopenharmony_ci * @throws { BusinessError } 19030007 - the key cannot be used for digital signature. 386361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 386461847f8eSopenharmony_ci * @crossplatform 386561847f8eSopenharmony_ci * @atomicservice 386661847f8eSopenharmony_ci * @since 12 386761847f8eSopenharmony_ci */ 386861847f8eSopenharmony_ci validate(certChain: CertChainData): Promise<void>; 386961847f8eSopenharmony_ci 387061847f8eSopenharmony_ci /** 387161847f8eSopenharmony_ci * The cert chain related algorithm. 387261847f8eSopenharmony_ci * 387361847f8eSopenharmony_ci * @type { string } 387461847f8eSopenharmony_ci * @readonly 387561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 387661847f8eSopenharmony_ci * @since 9 387761847f8eSopenharmony_ci */ 387861847f8eSopenharmony_ci /** 387961847f8eSopenharmony_ci * The cert chain related algorithm. 388061847f8eSopenharmony_ci * 388161847f8eSopenharmony_ci * @type { string } 388261847f8eSopenharmony_ci * @readonly 388361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 388461847f8eSopenharmony_ci * @crossplatform 388561847f8eSopenharmony_ci * @since 11 388661847f8eSopenharmony_ci */ 388761847f8eSopenharmony_ci /** 388861847f8eSopenharmony_ci * The cert chain related algorithm. 388961847f8eSopenharmony_ci * 389061847f8eSopenharmony_ci * @type { string } 389161847f8eSopenharmony_ci * @readonly 389261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 389361847f8eSopenharmony_ci * @crossplatform 389461847f8eSopenharmony_ci * @atomicservice 389561847f8eSopenharmony_ci * @since 12 389661847f8eSopenharmony_ci */ 389761847f8eSopenharmony_ci readonly algorithm: string; 389861847f8eSopenharmony_ci } 389961847f8eSopenharmony_ci 390061847f8eSopenharmony_ci /** 390161847f8eSopenharmony_ci * Provides to create certificate chain object. The returned object provides the verification capability. 390261847f8eSopenharmony_ci * 390361847f8eSopenharmony_ci * @param { string } algorithm - indicates the cert chain validator type. 390461847f8eSopenharmony_ci * @returns { CertChainValidator } the cert chain validator instance. 390561847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 390661847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 390761847f8eSopenharmony_ci * @throws { BusinessError } 801 - this operation is not supported. 390861847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 390961847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 391061847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 391161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 391261847f8eSopenharmony_ci * @since 9 391361847f8eSopenharmony_ci */ 391461847f8eSopenharmony_ci /** 391561847f8eSopenharmony_ci * Provides to create certificate chain object. The returned object provides the verification capability. 391661847f8eSopenharmony_ci * 391761847f8eSopenharmony_ci * @param { string } algorithm - indicates the cert chain validator type. 391861847f8eSopenharmony_ci * @returns { CertChainValidator } the cert chain validator instance. 391961847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 392061847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 392161847f8eSopenharmony_ci * @throws { BusinessError } 801 - this operation is not supported. 392261847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 392361847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 392461847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 392561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 392661847f8eSopenharmony_ci * @crossplatform 392761847f8eSopenharmony_ci * @since 11 392861847f8eSopenharmony_ci */ 392961847f8eSopenharmony_ci /** 393061847f8eSopenharmony_ci * Provides to create certificate chain object. The returned object provides the verification capability. 393161847f8eSopenharmony_ci * 393261847f8eSopenharmony_ci * @param { string } algorithm - indicates the cert chain validator type. 393361847f8eSopenharmony_ci * @returns { CertChainValidator } the cert chain validator instance. 393461847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 393561847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 393661847f8eSopenharmony_ci * @throws { BusinessError } 801 - this operation is not supported. 393761847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 393861847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 393961847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 394061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 394161847f8eSopenharmony_ci * @crossplatform 394261847f8eSopenharmony_ci * @atomicservice 394361847f8eSopenharmony_ci * @since 12 394461847f8eSopenharmony_ci */ 394561847f8eSopenharmony_ci function createCertChainValidator(algorithm: string): CertChainValidator; 394661847f8eSopenharmony_ci 394761847f8eSopenharmony_ci /** 394861847f8eSopenharmony_ci * Enum for general name use type. 394961847f8eSopenharmony_ci * 395061847f8eSopenharmony_ci * @enum { number } 395161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 395261847f8eSopenharmony_ci * @crossplatform 395361847f8eSopenharmony_ci * @atomicservice 395461847f8eSopenharmony_ci * @since 12 395561847f8eSopenharmony_ci */ 395661847f8eSopenharmony_ci enum GeneralNameType { 395761847f8eSopenharmony_ci /** 395861847f8eSopenharmony_ci * Indicates the name used for other. 395961847f8eSopenharmony_ci * 396061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 396161847f8eSopenharmony_ci * @crossplatform 396261847f8eSopenharmony_ci * @atomicservice 396361847f8eSopenharmony_ci * @since 12 396461847f8eSopenharmony_ci */ 396561847f8eSopenharmony_ci GENERAL_NAME_TYPE_OTHER_NAME = 0, 396661847f8eSopenharmony_ci 396761847f8eSopenharmony_ci /** 396861847f8eSopenharmony_ci * Indicates the name used for RFC822. 396961847f8eSopenharmony_ci * 397061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 397161847f8eSopenharmony_ci * @crossplatform 397261847f8eSopenharmony_ci * @atomicservice 397361847f8eSopenharmony_ci * @since 12 397461847f8eSopenharmony_ci */ 397561847f8eSopenharmony_ci GENERAL_NAME_TYPE_RFC822_NAME = 1, 397661847f8eSopenharmony_ci 397761847f8eSopenharmony_ci /** 397861847f8eSopenharmony_ci * Indicates the name used for DNS. 397961847f8eSopenharmony_ci * 398061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 398161847f8eSopenharmony_ci * @crossplatform 398261847f8eSopenharmony_ci * @atomicservice 398361847f8eSopenharmony_ci * @since 12 398461847f8eSopenharmony_ci */ 398561847f8eSopenharmony_ci GENERAL_NAME_TYPE_DNS_NAME = 2, 398661847f8eSopenharmony_ci 398761847f8eSopenharmony_ci /** 398861847f8eSopenharmony_ci * Indicates the name used for X.400 address. 398961847f8eSopenharmony_ci * 399061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 399161847f8eSopenharmony_ci * @crossplatform 399261847f8eSopenharmony_ci * @atomicservice 399361847f8eSopenharmony_ci * @since 12 399461847f8eSopenharmony_ci */ 399561847f8eSopenharmony_ci GENERAL_NAME_TYPE_X400_ADDRESS = 3, 399661847f8eSopenharmony_ci 399761847f8eSopenharmony_ci /** 399861847f8eSopenharmony_ci * Indicates the name used for X.500 directory. 399961847f8eSopenharmony_ci * 400061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 400161847f8eSopenharmony_ci * @crossplatform 400261847f8eSopenharmony_ci * @atomicservice 400361847f8eSopenharmony_ci * @since 12 400461847f8eSopenharmony_ci */ 400561847f8eSopenharmony_ci GENERAL_NAME_TYPE_DIRECTORY_NAME = 4, 400661847f8eSopenharmony_ci 400761847f8eSopenharmony_ci /** 400861847f8eSopenharmony_ci * Indicates the name used for EDI. 400961847f8eSopenharmony_ci * 401061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 401161847f8eSopenharmony_ci * @crossplatform 401261847f8eSopenharmony_ci * @atomicservice 401361847f8eSopenharmony_ci * @since 12 401461847f8eSopenharmony_ci */ 401561847f8eSopenharmony_ci GENERAL_NAME_TYPE_EDI_PARTY_NAME = 5, 401661847f8eSopenharmony_ci 401761847f8eSopenharmony_ci /** 401861847f8eSopenharmony_ci * Indicates the name used for URI. 401961847f8eSopenharmony_ci * 402061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 402161847f8eSopenharmony_ci * @crossplatform 402261847f8eSopenharmony_ci * @atomicservice 402361847f8eSopenharmony_ci * @since 12 402461847f8eSopenharmony_ci */ 402561847f8eSopenharmony_ci GENERAL_NAME_TYPE_UNIFORM_RESOURCE_ID = 6, 402661847f8eSopenharmony_ci 402761847f8eSopenharmony_ci /** 402861847f8eSopenharmony_ci * Indicates the name used for IP address. 402961847f8eSopenharmony_ci * 403061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 403161847f8eSopenharmony_ci * @crossplatform 403261847f8eSopenharmony_ci * @atomicservice 403361847f8eSopenharmony_ci * @since 12 403461847f8eSopenharmony_ci */ 403561847f8eSopenharmony_ci GENERAL_NAME_TYPE_IP_ADDRESS = 7, 403661847f8eSopenharmony_ci 403761847f8eSopenharmony_ci /** 403861847f8eSopenharmony_ci * Indicates the name used for registered ID. 403961847f8eSopenharmony_ci * 404061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 404161847f8eSopenharmony_ci * @crossplatform 404261847f8eSopenharmony_ci * @atomicservice 404361847f8eSopenharmony_ci * @since 12 404461847f8eSopenharmony_ci */ 404561847f8eSopenharmony_ci GENERAL_NAME_TYPE_REGISTERED_ID = 8 404661847f8eSopenharmony_ci } 404761847f8eSopenharmony_ci 404861847f8eSopenharmony_ci /** 404961847f8eSopenharmony_ci * GeneralName object 405061847f8eSopenharmony_ci * 405161847f8eSopenharmony_ci * @typedef GeneralName 405261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 405361847f8eSopenharmony_ci * @crossplatform 405461847f8eSopenharmony_ci * @atomicservice 405561847f8eSopenharmony_ci * @since 12 405661847f8eSopenharmony_ci */ 405761847f8eSopenharmony_ci interface GeneralName { 405861847f8eSopenharmony_ci /** 405961847f8eSopenharmony_ci * The general name type. 406061847f8eSopenharmony_ci * 406161847f8eSopenharmony_ci * @type { GeneralNameType } 406261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 406361847f8eSopenharmony_ci * @crossplatform 406461847f8eSopenharmony_ci * @atomicservice 406561847f8eSopenharmony_ci * @since 12 406661847f8eSopenharmony_ci */ 406761847f8eSopenharmony_ci type: GeneralNameType; 406861847f8eSopenharmony_ci 406961847f8eSopenharmony_ci /** 407061847f8eSopenharmony_ci * The general name in DER format 407161847f8eSopenharmony_ci * 407261847f8eSopenharmony_ci * @type { ?Uint8Array } 407361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 407461847f8eSopenharmony_ci * @crossplatform 407561847f8eSopenharmony_ci * @atomicservice 407661847f8eSopenharmony_ci * @since 12 407761847f8eSopenharmony_ci */ 407861847f8eSopenharmony_ci name?: Uint8Array; 407961847f8eSopenharmony_ci } 408061847f8eSopenharmony_ci 408161847f8eSopenharmony_ci /** 408261847f8eSopenharmony_ci * X509 Cert match parameters 408361847f8eSopenharmony_ci * 408461847f8eSopenharmony_ci * @typedef X509CertMatchParameters 408561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 408661847f8eSopenharmony_ci * @crossplatform 408761847f8eSopenharmony_ci * @since 11 408861847f8eSopenharmony_ci */ 408961847f8eSopenharmony_ci /** 409061847f8eSopenharmony_ci * X509 Cert match parameters 409161847f8eSopenharmony_ci * 409261847f8eSopenharmony_ci * @typedef X509CertMatchParameters 409361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 409461847f8eSopenharmony_ci * @crossplatform 409561847f8eSopenharmony_ci * @atomicservice 409661847f8eSopenharmony_ci * @since 12 409761847f8eSopenharmony_ci */ 409861847f8eSopenharmony_ci interface X509CertMatchParameters { 409961847f8eSopenharmony_ci /** 410061847f8eSopenharmony_ci * To match SubjectAlternativeNames of cert extensions: 410161847f8eSopenharmony_ci * [Rule] 410261847f8eSopenharmony_ci * null : Do not match. 410361847f8eSopenharmony_ci * NOT null : match after [matchAllSubjectAltNames] 410461847f8eSopenharmony_ci * 410561847f8eSopenharmony_ci * @type { ?Array<GeneralName> } SubjectAlternativeNames is in DER encoding format 410661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 410761847f8eSopenharmony_ci * @crossplatform 410861847f8eSopenharmony_ci * @atomicservice 410961847f8eSopenharmony_ci * @since 12 411061847f8eSopenharmony_ci */ 411161847f8eSopenharmony_ci subjectAlternativeNames?: Array<GeneralName>; 411261847f8eSopenharmony_ci 411361847f8eSopenharmony_ci /** 411461847f8eSopenharmony_ci * Indicate if match all subject alternate name: 411561847f8eSopenharmony_ci * [Rule] 411661847f8eSopenharmony_ci * true : match if [subjectAlternativeNames] is equal with all of [SubjectAlternativeNames of cert extensions] 411761847f8eSopenharmony_ci * false : match if [subjectAlternativeNames] is only equal with one of [SubjectAlternativeNames of cert extensions] 411861847f8eSopenharmony_ci * 411961847f8eSopenharmony_ci * @type { ?boolean } 412061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 412161847f8eSopenharmony_ci * @crossplatform 412261847f8eSopenharmony_ci * @atomicservice 412361847f8eSopenharmony_ci * @since 12 412461847f8eSopenharmony_ci */ 412561847f8eSopenharmony_ci matchAllSubjectAltNames?: boolean; 412661847f8eSopenharmony_ci 412761847f8eSopenharmony_ci /** 412861847f8eSopenharmony_ci * To match AuthorityKeyIdentifier of cert extensions in DER encoding: 412961847f8eSopenharmony_ci * [Rule] 413061847f8eSopenharmony_ci * null : Do not match. 413161847f8eSopenharmony_ci * NOT null : match if it is equal with [AuthorityKeyIdentifier of cert extensions] in DER encoding 413261847f8eSopenharmony_ci * 413361847f8eSopenharmony_ci * @type { ?Uint8Array } the key identifier 413461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 413561847f8eSopenharmony_ci * @crossplatform 413661847f8eSopenharmony_ci * @atomicservice 413761847f8eSopenharmony_ci * @since 12 413861847f8eSopenharmony_ci */ 413961847f8eSopenharmony_ci authorityKeyIdentifier?: Uint8Array; 414061847f8eSopenharmony_ci 414161847f8eSopenharmony_ci /** 414261847f8eSopenharmony_ci * To match BaseConstraints.pathLenConstraint of cert extensions: 414361847f8eSopenharmony_ci * [Rule] 414461847f8eSopenharmony_ci * >=0 : The certificate must contain BaseConstraints extension, and the cA field in the extension takes. 414561847f8eSopenharmony_ci * -2 : The cA field in the BaseConstraints extension of the certificate must be set to false or the certificate does not contain BaseConstraints extension. 414661847f8eSopenharmony_ci * other : Do not match. 414761847f8eSopenharmony_ci * 414861847f8eSopenharmony_ci * @type { ?number } 414961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 415061847f8eSopenharmony_ci * @crossplatform 415161847f8eSopenharmony_ci * @atomicservice 415261847f8eSopenharmony_ci * @since 12 415361847f8eSopenharmony_ci */ 415461847f8eSopenharmony_ci minPathLenConstraint?: number; 415561847f8eSopenharmony_ci 415661847f8eSopenharmony_ci /** 415761847f8eSopenharmony_ci * To match X509Cert: 415861847f8eSopenharmony_ci * [Rule] 415961847f8eSopenharmony_ci * null : Do not match. 416061847f8eSopenharmony_ci * NOT null : match if x509Cert.getEncoding is equal. 416161847f8eSopenharmony_ci * 416261847f8eSopenharmony_ci * @type { ?X509Cert } 416361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 416461847f8eSopenharmony_ci * @crossplatform 416561847f8eSopenharmony_ci * @since 11 416661847f8eSopenharmony_ci */ 416761847f8eSopenharmony_ci /** 416861847f8eSopenharmony_ci * To match X509Cert: 416961847f8eSopenharmony_ci * [Rule] 417061847f8eSopenharmony_ci * null : Do not match. 417161847f8eSopenharmony_ci * NOT null : match if x509Cert.getEncoding is equal. 417261847f8eSopenharmony_ci * 417361847f8eSopenharmony_ci * @type { ?X509Cert } 417461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 417561847f8eSopenharmony_ci * @crossplatform 417661847f8eSopenharmony_ci * @atomicservice 417761847f8eSopenharmony_ci * @since 12 417861847f8eSopenharmony_ci */ 417961847f8eSopenharmony_ci x509Cert?: X509Cert; 418061847f8eSopenharmony_ci 418161847f8eSopenharmony_ci /** 418261847f8eSopenharmony_ci * To match the validDate of cert: 418361847f8eSopenharmony_ci * [Rule] 418461847f8eSopenharmony_ci * null : Do not match. 418561847f8eSopenharmony_ci * NOT null : match if [notBefore of cert] <= [validDate] <= [notAfter of cert]. 418661847f8eSopenharmony_ci * 418761847f8eSopenharmony_ci * @type { ?string } format is YYMMDDHHMMSSZ or YYYYMMDDHHMMSSZ. 418861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 418961847f8eSopenharmony_ci * @crossplatform 419061847f8eSopenharmony_ci * @since 11 419161847f8eSopenharmony_ci */ 419261847f8eSopenharmony_ci /** 419361847f8eSopenharmony_ci * To match the validDate of cert: 419461847f8eSopenharmony_ci * [Rule] 419561847f8eSopenharmony_ci * null : Do not match. 419661847f8eSopenharmony_ci * NOT null : match if [notBefore of cert] <= [validDate] <= [notAfter of cert]. 419761847f8eSopenharmony_ci * 419861847f8eSopenharmony_ci * @type { ?string } format is YYMMDDHHMMSSZ or YYYYMMDDHHMMSSZ. 419961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 420061847f8eSopenharmony_ci * @crossplatform 420161847f8eSopenharmony_ci * @atomicservice 420261847f8eSopenharmony_ci * @since 12 420361847f8eSopenharmony_ci */ 420461847f8eSopenharmony_ci validDate?: string; 420561847f8eSopenharmony_ci 420661847f8eSopenharmony_ci /** 420761847f8eSopenharmony_ci * To match the issuer of cert: 420861847f8eSopenharmony_ci * [Rule] 420961847f8eSopenharmony_ci * null : Do not match. 421061847f8eSopenharmony_ci * NOT null : match if it is equal with [issuer of cert] in DER encoding. 421161847f8eSopenharmony_ci * 421261847f8eSopenharmony_ci * @type { ?Uint8Array } 421361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 421461847f8eSopenharmony_ci * @crossplatform 421561847f8eSopenharmony_ci * @since 11 421661847f8eSopenharmony_ci */ 421761847f8eSopenharmony_ci /** 421861847f8eSopenharmony_ci * To match the issuer of cert: 421961847f8eSopenharmony_ci * [Rule] 422061847f8eSopenharmony_ci * null : Do not match. 422161847f8eSopenharmony_ci * NOT null : match if it is equal with [issuer of cert] in DER encoding. 422261847f8eSopenharmony_ci * 422361847f8eSopenharmony_ci * @type { ?Uint8Array } 422461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 422561847f8eSopenharmony_ci * @crossplatform 422661847f8eSopenharmony_ci * @atomicservice 422761847f8eSopenharmony_ci * @since 12 422861847f8eSopenharmony_ci */ 422961847f8eSopenharmony_ci issuer?: Uint8Array; 423061847f8eSopenharmony_ci 423161847f8eSopenharmony_ci /** 423261847f8eSopenharmony_ci * To match the ExtendedKeyUsage of cert extensions: 423361847f8eSopenharmony_ci * [Rule] 423461847f8eSopenharmony_ci * null : Do not match. 423561847f8eSopenharmony_ci * NOT null : match ok if [ExtendedKeyUsage of cert extensions] is null, or 423661847f8eSopenharmony_ci * [ExtendedKeyUsage of cert extensions] include [extendedKeyUsage]. 423761847f8eSopenharmony_ci * 423861847f8eSopenharmony_ci * @type { ?Array<string> } array of oIDs. 423961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 424061847f8eSopenharmony_ci * @crossplatform 424161847f8eSopenharmony_ci * @atomicservice 424261847f8eSopenharmony_ci * @since 12 424361847f8eSopenharmony_ci */ 424461847f8eSopenharmony_ci extendedKeyUsage?: Array<string>; 424561847f8eSopenharmony_ci 424661847f8eSopenharmony_ci /** 424761847f8eSopenharmony_ci * The X509Certificate must have subject and subject alternative names that meet the specified name constraints: 424861847f8eSopenharmony_ci * [Rule] 424961847f8eSopenharmony_ci * null : Do not match. 425061847f8eSopenharmony_ci * NOT null : match ok if [NameConstraints of cert extensions] is null, or 425161847f8eSopenharmony_ci * [NameConstraints of cert extensions] include [nameConstraints]. 425261847f8eSopenharmony_ci * 425361847f8eSopenharmony_ci * @type { ?Uint8Array } ASN.1 DER encoded form of nameConstraints 425461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 425561847f8eSopenharmony_ci * @crossplatform 425661847f8eSopenharmony_ci * @atomicservice 425761847f8eSopenharmony_ci * @since 12 425861847f8eSopenharmony_ci */ 425961847f8eSopenharmony_ci nameConstraints?: Uint8Array; 426061847f8eSopenharmony_ci 426161847f8eSopenharmony_ci /** 426261847f8eSopenharmony_ci * The X509Certificate must have subject and subject alternative names that meet the specified name constraints: 426361847f8eSopenharmony_ci * [Rule] 426461847f8eSopenharmony_ci * null : Do not match. 426561847f8eSopenharmony_ci * NOT null : match ok if [Certificate Policies of cert extensions] is null, or 426661847f8eSopenharmony_ci * [Certificate Policies of cert extensions] include [certPolicy]. 426761847f8eSopenharmony_ci * 426861847f8eSopenharmony_ci * @type { ?Array<string> } array of oIDs. 426961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 427061847f8eSopenharmony_ci * @crossplatform 427161847f8eSopenharmony_ci * @atomicservice 427261847f8eSopenharmony_ci * @since 12 427361847f8eSopenharmony_ci */ 427461847f8eSopenharmony_ci certPolicy?: Array<string>; 427561847f8eSopenharmony_ci 427661847f8eSopenharmony_ci /** 427761847f8eSopenharmony_ci * The specified date must fall within the private key validity period for the X509Certificate: 427861847f8eSopenharmony_ci * [Rule] 427961847f8eSopenharmony_ci * null : Do not match. 428061847f8eSopenharmony_ci * NOT null : match ok if [Private Key Valid Period of cert extensions] is null, or 428161847f8eSopenharmony_ci * [privateKeyValid] fall in [Private Key Valid Period of cert extensions]. 428261847f8eSopenharmony_ci * 428361847f8eSopenharmony_ci * @type { ?string } format is YYMMDDHHMMSSZ or YYYYMMDDHHMMSSZ 428461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 428561847f8eSopenharmony_ci * @crossplatform 428661847f8eSopenharmony_ci * @atomicservice 428761847f8eSopenharmony_ci * @since 12 428861847f8eSopenharmony_ci */ 428961847f8eSopenharmony_ci privateKeyValid?: string; 429061847f8eSopenharmony_ci 429161847f8eSopenharmony_ci /** 429261847f8eSopenharmony_ci * To match the KeyUsage of cert extensions: 429361847f8eSopenharmony_ci * [Rule] 429461847f8eSopenharmony_ci * null : Do not match. 429561847f8eSopenharmony_ci * NOT null : match ok if [KeyUsage of cert extensions] is null, or 429661847f8eSopenharmony_ci * [KeyUsage of cert extensions] include [keyUsage]. 429761847f8eSopenharmony_ci * 429861847f8eSopenharmony_ci * @type { ?Array<boolean> } 429961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 430061847f8eSopenharmony_ci * @crossplatform 430161847f8eSopenharmony_ci * @since 11 430261847f8eSopenharmony_ci */ 430361847f8eSopenharmony_ci /** 430461847f8eSopenharmony_ci * To match the KeyUsage of cert extensions: 430561847f8eSopenharmony_ci * [Rule] 430661847f8eSopenharmony_ci * null : Do not match. 430761847f8eSopenharmony_ci * NOT null : match ok if [KeyUsage of cert extensions] is null, or 430861847f8eSopenharmony_ci * [KeyUsage of cert extensions] include [keyUsage]. 430961847f8eSopenharmony_ci * 431061847f8eSopenharmony_ci * @type { ?Array<boolean> } 431161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 431261847f8eSopenharmony_ci * @crossplatform 431361847f8eSopenharmony_ci * @atomicservice 431461847f8eSopenharmony_ci * @since 12 431561847f8eSopenharmony_ci */ 431661847f8eSopenharmony_ci keyUsage?: Array<boolean>; 431761847f8eSopenharmony_ci 431861847f8eSopenharmony_ci /** 431961847f8eSopenharmony_ci * The specified serial number must match the serialnumber for the X509Certificate: 432061847f8eSopenharmony_ci * [Rule] 432161847f8eSopenharmony_ci * null : Do not match. 432261847f8eSopenharmony_ci * NOT null : match ok if it is equal with [serialNumber of cert]. 432361847f8eSopenharmony_ci * 432461847f8eSopenharmony_ci * @type { ?bigint } 432561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 432661847f8eSopenharmony_ci * @crossplatform 432761847f8eSopenharmony_ci * @since 11 432861847f8eSopenharmony_ci */ 432961847f8eSopenharmony_ci /** 433061847f8eSopenharmony_ci * The specified serial number must match the serialnumber for the X509Certificate: 433161847f8eSopenharmony_ci * [Rule] 433261847f8eSopenharmony_ci * null : Do not match. 433361847f8eSopenharmony_ci * NOT null : match ok if it is equal with [serialNumber of cert]. 433461847f8eSopenharmony_ci * 433561847f8eSopenharmony_ci * @type { ?bigint } 433661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 433761847f8eSopenharmony_ci * @crossplatform 433861847f8eSopenharmony_ci * @atomicservice 433961847f8eSopenharmony_ci * @since 12 434061847f8eSopenharmony_ci */ 434161847f8eSopenharmony_ci serialNumber?: bigint; 434261847f8eSopenharmony_ci 434361847f8eSopenharmony_ci /** 434461847f8eSopenharmony_ci * The specified value must match the subject for the X509Certificate: 434561847f8eSopenharmony_ci * [Rule] 434661847f8eSopenharmony_ci * null : Do not match. 434761847f8eSopenharmony_ci * NOT null : match ok if it is equal with [subject of cert]. 434861847f8eSopenharmony_ci * 434961847f8eSopenharmony_ci * @type { ?Uint8Array } subject in DER encoding format 435061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 435161847f8eSopenharmony_ci * @crossplatform 435261847f8eSopenharmony_ci * @since 11 435361847f8eSopenharmony_ci */ 435461847f8eSopenharmony_ci /** 435561847f8eSopenharmony_ci * The specified value must match the subject for the X509Certificate: 435661847f8eSopenharmony_ci * [Rule] 435761847f8eSopenharmony_ci * null : Do not match. 435861847f8eSopenharmony_ci * NOT null : match ok if it is equal with [subject of cert]. 435961847f8eSopenharmony_ci * 436061847f8eSopenharmony_ci * @type { ?Uint8Array } subject in DER encoding format 436161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 436261847f8eSopenharmony_ci * @crossplatform 436361847f8eSopenharmony_ci * @atomicservice 436461847f8eSopenharmony_ci * @since 12 436561847f8eSopenharmony_ci */ 436661847f8eSopenharmony_ci subject?: Uint8Array; 436761847f8eSopenharmony_ci 436861847f8eSopenharmony_ci /** 436961847f8eSopenharmony_ci * The specified value must match the Subject Key Identifier extension for the X509Certificate: 437061847f8eSopenharmony_ci * [Rule] 437161847f8eSopenharmony_ci * null : Do not match. 437261847f8eSopenharmony_ci * NOT null : match ok if it is equal with [Subject Key Identifier of cert extensions]. 437361847f8eSopenharmony_ci * 437461847f8eSopenharmony_ci * @type { ?Uint8Array } subjectKeyIdentifier in DER encoding format ?? 437561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 437661847f8eSopenharmony_ci * @crossplatform 437761847f8eSopenharmony_ci * @atomicservice 437861847f8eSopenharmony_ci * @since 12 437961847f8eSopenharmony_ci */ 438061847f8eSopenharmony_ci subjectKeyIdentifier?: Uint8Array; 438161847f8eSopenharmony_ci 438261847f8eSopenharmony_ci /** 438361847f8eSopenharmony_ci * The specified value must match the publicKey for the X509Certificate: 438461847f8eSopenharmony_ci * [Rule] 438561847f8eSopenharmony_ci * null : Do not match. 438661847f8eSopenharmony_ci * NOT null : match ok if it is equal with [publicKey of cert]. 438761847f8eSopenharmony_ci * 438861847f8eSopenharmony_ci * @type { ?DataBlob } publicKey 438961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 439061847f8eSopenharmony_ci * @crossplatform 439161847f8eSopenharmony_ci * @since 11 439261847f8eSopenharmony_ci */ 439361847f8eSopenharmony_ci /** 439461847f8eSopenharmony_ci * The specified value must match the publicKey for the X509Certificate: 439561847f8eSopenharmony_ci * [Rule] 439661847f8eSopenharmony_ci * null : Do not match. 439761847f8eSopenharmony_ci * NOT null : match ok if it is equal with [publicKey of cert]. 439861847f8eSopenharmony_ci * 439961847f8eSopenharmony_ci * @type { ?DataBlob } publicKey 440061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 440161847f8eSopenharmony_ci * @crossplatform 440261847f8eSopenharmony_ci * @atomicservice 440361847f8eSopenharmony_ci * @since 12 440461847f8eSopenharmony_ci */ 440561847f8eSopenharmony_ci publicKey?: DataBlob; 440661847f8eSopenharmony_ci 440761847f8eSopenharmony_ci /** 440861847f8eSopenharmony_ci * The specified value must match the publicKey for the X509Certificate: 440961847f8eSopenharmony_ci * [Rule] 441061847f8eSopenharmony_ci * null : Do not match. 441161847f8eSopenharmony_ci * NOT null : match ok if it is equal with [publicKey of cert]. 441261847f8eSopenharmony_ci * 441361847f8eSopenharmony_ci * @type { ?string } the object identifier (OID) of the signature algorithm to check. 441461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 441561847f8eSopenharmony_ci * @crossplatform 441661847f8eSopenharmony_ci * @since 11 441761847f8eSopenharmony_ci */ 441861847f8eSopenharmony_ci /** 441961847f8eSopenharmony_ci * The specified value must match the publicKey for the X509Certificate: 442061847f8eSopenharmony_ci * [Rule] 442161847f8eSopenharmony_ci * null : Do not match. 442261847f8eSopenharmony_ci * NOT null : match ok if it is equal with [publicKey of cert]. 442361847f8eSopenharmony_ci * 442461847f8eSopenharmony_ci * @type { ?string } the object identifier (OID) of the signature algorithm to check. 442561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 442661847f8eSopenharmony_ci * @crossplatform 442761847f8eSopenharmony_ci * @atomicservice 442861847f8eSopenharmony_ci * @since 12 442961847f8eSopenharmony_ci */ 443061847f8eSopenharmony_ci publicKeyAlgID?: string; 443161847f8eSopenharmony_ci } 443261847f8eSopenharmony_ci 443361847f8eSopenharmony_ci /** 443461847f8eSopenharmony_ci * X509 CRL match parameters 443561847f8eSopenharmony_ci * 443661847f8eSopenharmony_ci * @typedef X509CRLMatchParameters 443761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 443861847f8eSopenharmony_ci * @crossplatform 443961847f8eSopenharmony_ci * @since 11 444061847f8eSopenharmony_ci */ 444161847f8eSopenharmony_ci /** 444261847f8eSopenharmony_ci * X509 CRL match parameters 444361847f8eSopenharmony_ci * 444461847f8eSopenharmony_ci * @typedef X509CRLMatchParameters 444561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 444661847f8eSopenharmony_ci * @crossplatform 444761847f8eSopenharmony_ci * @atomicservice 444861847f8eSopenharmony_ci * @since 12 444961847f8eSopenharmony_ci */ 445061847f8eSopenharmony_ci interface X509CRLMatchParameters { 445161847f8eSopenharmony_ci /** 445261847f8eSopenharmony_ci * To match the issuer of cert: 445361847f8eSopenharmony_ci * [Rule] 445461847f8eSopenharmony_ci * null : Do not match. 445561847f8eSopenharmony_ci * NOT null : match if it is equal with [issuer of cert] in DER encoding. 445661847f8eSopenharmony_ci * 445761847f8eSopenharmony_ci * @type { ?Array<Uint8Array> } 445861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 445961847f8eSopenharmony_ci * @crossplatform 446061847f8eSopenharmony_ci * @since 11 446161847f8eSopenharmony_ci */ 446261847f8eSopenharmony_ci /** 446361847f8eSopenharmony_ci * To match the issuer of cert: 446461847f8eSopenharmony_ci * [Rule] 446561847f8eSopenharmony_ci * null : Do not match. 446661847f8eSopenharmony_ci * NOT null : match if it is equal with [issuer of cert] in DER encoding. 446761847f8eSopenharmony_ci * 446861847f8eSopenharmony_ci * @type { ?Array<Uint8Array> } 446961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 447061847f8eSopenharmony_ci * @crossplatform 447161847f8eSopenharmony_ci * @atomicservice 447261847f8eSopenharmony_ci * @since 12 447361847f8eSopenharmony_ci */ 447461847f8eSopenharmony_ci issuer?: Array<Uint8Array>; 447561847f8eSopenharmony_ci 447661847f8eSopenharmony_ci /** 447761847f8eSopenharmony_ci * To match X509Cert: 447861847f8eSopenharmony_ci * [Rule] 447961847f8eSopenharmony_ci * null : Do not match. 448061847f8eSopenharmony_ci * NOT null : match if x509Cert.getEncoding is equal. 448161847f8eSopenharmony_ci * 448261847f8eSopenharmony_ci * @type { ?X509Cert } 448361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 448461847f8eSopenharmony_ci * @crossplatform 448561847f8eSopenharmony_ci * @since 11 448661847f8eSopenharmony_ci */ 448761847f8eSopenharmony_ci /** 448861847f8eSopenharmony_ci * To match X509Cert: 448961847f8eSopenharmony_ci * [Rule] 449061847f8eSopenharmony_ci * null : Do not match. 449161847f8eSopenharmony_ci * NOT null : match if x509Cert.getEncoding is equal. 449261847f8eSopenharmony_ci * 449361847f8eSopenharmony_ci * @type { ?X509Cert } 449461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 449561847f8eSopenharmony_ci * @crossplatform 449661847f8eSopenharmony_ci * @atomicservice 449761847f8eSopenharmony_ci * @since 12 449861847f8eSopenharmony_ci */ 449961847f8eSopenharmony_ci x509Cert?: X509Cert; 450061847f8eSopenharmony_ci 450161847f8eSopenharmony_ci /** 450261847f8eSopenharmony_ci * To match updateDateTime of CRL: 450361847f8eSopenharmony_ci * [Rule] 450461847f8eSopenharmony_ci * null : Do not verify. 450561847f8eSopenharmony_ci * NOT null : verify if [thisUpdate in CRL] <= updateDateTime <= [nextUpdate in CRL] 450661847f8eSopenharmony_ci * 450761847f8eSopenharmony_ci * @type { ?string } 450861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 450961847f8eSopenharmony_ci * @crossplatform 451061847f8eSopenharmony_ci * @atomicservice 451161847f8eSopenharmony_ci * @since 12 451261847f8eSopenharmony_ci */ 451361847f8eSopenharmony_ci updateDateTime?: string; 451461847f8eSopenharmony_ci 451561847f8eSopenharmony_ci /** 451661847f8eSopenharmony_ci * To match the maximum of CRL number extension: 451761847f8eSopenharmony_ci * [Rule] 451861847f8eSopenharmony_ci * null : Do not verify. 451961847f8eSopenharmony_ci * NOT null : verify if [CRL number extension] <= maxCRL. 452061847f8eSopenharmony_ci * 452161847f8eSopenharmony_ci * @type { ?bigint } 452261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 452361847f8eSopenharmony_ci * @crossplatform 452461847f8eSopenharmony_ci * @atomicservice 452561847f8eSopenharmony_ci * @since 12 452661847f8eSopenharmony_ci */ 452761847f8eSopenharmony_ci maxCRL?: bigint; 452861847f8eSopenharmony_ci 452961847f8eSopenharmony_ci /** 453061847f8eSopenharmony_ci * To match the minimum of CRL number extension: 453161847f8eSopenharmony_ci * [Rule] 453261847f8eSopenharmony_ci * null : Do not verify. 453361847f8eSopenharmony_ci * NOT null : verify if [CRL number extension] >= minCRL. 453461847f8eSopenharmony_ci * 453561847f8eSopenharmony_ci * @type { ?bigint } 453661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 453761847f8eSopenharmony_ci * @crossplatform 453861847f8eSopenharmony_ci * @atomicservice 453961847f8eSopenharmony_ci * @since 12 454061847f8eSopenharmony_ci */ 454161847f8eSopenharmony_ci minCRL?: bigint; 454261847f8eSopenharmony_ci } 454361847f8eSopenharmony_ci 454461847f8eSopenharmony_ci /** 454561847f8eSopenharmony_ci * The certificate and CRL collection object. 454661847f8eSopenharmony_ci * 454761847f8eSopenharmony_ci * @typedef CertCRLCollection 454861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 454961847f8eSopenharmony_ci * @crossplatform 455061847f8eSopenharmony_ci * @since 11 455161847f8eSopenharmony_ci */ 455261847f8eSopenharmony_ci /** 455361847f8eSopenharmony_ci * The certificate and CRL collection object. 455461847f8eSopenharmony_ci * 455561847f8eSopenharmony_ci * @typedef CertCRLCollection 455661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 455761847f8eSopenharmony_ci * @crossplatform 455861847f8eSopenharmony_ci * @atomicservice 455961847f8eSopenharmony_ci * @since 12 456061847f8eSopenharmony_ci */ 456161847f8eSopenharmony_ci interface CertCRLCollection { 456261847f8eSopenharmony_ci /** 456361847f8eSopenharmony_ci * return all Array<X509Cert> which match X509CertMatchParameters 456461847f8eSopenharmony_ci * 456561847f8eSopenharmony_ci * @param { X509CertMatchParameters } param - indicate the X509CertMatchParameters object. 456661847f8eSopenharmony_ci * @returns { Promise<Array<X509Cert>> } 456761847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 456861847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 456961847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 457061847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 457161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 457261847f8eSopenharmony_ci * @crossplatform 457361847f8eSopenharmony_ci * @since 11 457461847f8eSopenharmony_ci */ 457561847f8eSopenharmony_ci /** 457661847f8eSopenharmony_ci * return all Array<X509Cert> which match X509CertMatchParameters 457761847f8eSopenharmony_ci * 457861847f8eSopenharmony_ci * @param { X509CertMatchParameters } param - indicate the X509CertMatchParameters object. 457961847f8eSopenharmony_ci * @returns { Promise<Array<X509Cert>> } 458061847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 458161847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 458261847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 458361847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 458461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 458561847f8eSopenharmony_ci * @crossplatform 458661847f8eSopenharmony_ci * @atomicservice 458761847f8eSopenharmony_ci * @since 12 458861847f8eSopenharmony_ci */ 458961847f8eSopenharmony_ci selectCerts(param: X509CertMatchParameters): Promise<Array<X509Cert>>; 459061847f8eSopenharmony_ci 459161847f8eSopenharmony_ci /** 459261847f8eSopenharmony_ci * return the X509 Cert which match X509CertMatchParameters 459361847f8eSopenharmony_ci * 459461847f8eSopenharmony_ci * @param { X509CertMatchParameters } param - indicate the X509CertMatchParameters object. 459561847f8eSopenharmony_ci * @param { AsyncCallback<Array<X509Cert>> } callback - the callback of select cert. 459661847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 459761847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 459861847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 459961847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 460061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 460161847f8eSopenharmony_ci * @crossplatform 460261847f8eSopenharmony_ci * @since 11 460361847f8eSopenharmony_ci */ 460461847f8eSopenharmony_ci /** 460561847f8eSopenharmony_ci * return the X509 Cert which match X509CertMatchParameters 460661847f8eSopenharmony_ci * 460761847f8eSopenharmony_ci * @param { X509CertMatchParameters } param - indicate the X509CertMatchParameters object. 460861847f8eSopenharmony_ci * @param { AsyncCallback<Array<X509Cert>> } callback - the callback of select cert. 460961847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 461061847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 461161847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 461261847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 461361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 461461847f8eSopenharmony_ci * @crossplatform 461561847f8eSopenharmony_ci * @atomicservice 461661847f8eSopenharmony_ci * @since 12 461761847f8eSopenharmony_ci */ 461861847f8eSopenharmony_ci selectCerts(param: X509CertMatchParameters, callback: AsyncCallback<Array<X509Cert>>): void; 461961847f8eSopenharmony_ci 462061847f8eSopenharmony_ci /** 462161847f8eSopenharmony_ci * return all X509 CRL which match X509CRLMatchParameters 462261847f8eSopenharmony_ci * 462361847f8eSopenharmony_ci * @param { X509CRLMatchParameters } param - indicate the X509CRLMatchParameters object. 462461847f8eSopenharmony_ci * @returns { Promise<Array<X509CRL>> } 462561847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 462661847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 462761847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 462861847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 462961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 463061847f8eSopenharmony_ci * @crossplatform 463161847f8eSopenharmony_ci * @since 11 463261847f8eSopenharmony_ci */ 463361847f8eSopenharmony_ci /** 463461847f8eSopenharmony_ci * return all X509 CRL which match X509CRLMatchParameters 463561847f8eSopenharmony_ci * 463661847f8eSopenharmony_ci * @param { X509CRLMatchParameters } param - indicate the X509CRLMatchParameters object. 463761847f8eSopenharmony_ci * @returns { Promise<Array<X509CRL>> } 463861847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 463961847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 464061847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 464161847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 464261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 464361847f8eSopenharmony_ci * @crossplatform 464461847f8eSopenharmony_ci * @atomicservice 464561847f8eSopenharmony_ci * @since 12 464661847f8eSopenharmony_ci */ 464761847f8eSopenharmony_ci selectCRLs(param: X509CRLMatchParameters): Promise<Array<X509CRL>>; 464861847f8eSopenharmony_ci 464961847f8eSopenharmony_ci /** 465061847f8eSopenharmony_ci * return all X509 CRL which match X509CRLMatchParameters 465161847f8eSopenharmony_ci * 465261847f8eSopenharmony_ci * @param { X509CRLMatchParameters } param - indicate the X509CRLMatchParameters object. 465361847f8eSopenharmony_ci * @param { AsyncCallback<Array<X509CRL>> } callback - the callback of select CRL. 465461847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 465561847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 465661847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 465761847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 465861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 465961847f8eSopenharmony_ci * @crossplatform 466061847f8eSopenharmony_ci * @since 11 466161847f8eSopenharmony_ci */ 466261847f8eSopenharmony_ci /** 466361847f8eSopenharmony_ci * return all X509 CRL which match X509CRLMatchParameters 466461847f8eSopenharmony_ci * 466561847f8eSopenharmony_ci * @param { X509CRLMatchParameters } param - indicate the X509CRLMatchParameters object. 466661847f8eSopenharmony_ci * @param { AsyncCallback<Array<X509CRL>> } callback - the callback of select CRL. 466761847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 466861847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 466961847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 467061847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 467161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 467261847f8eSopenharmony_ci * @crossplatform 467361847f8eSopenharmony_ci * @atomicservice 467461847f8eSopenharmony_ci * @since 12 467561847f8eSopenharmony_ci */ 467661847f8eSopenharmony_ci selectCRLs(param: X509CRLMatchParameters, callback: AsyncCallback<Array<X509CRL>>): void; 467761847f8eSopenharmony_ci } 467861847f8eSopenharmony_ci 467961847f8eSopenharmony_ci /** 468061847f8eSopenharmony_ci * create object CertCRLCollection 468161847f8eSopenharmony_ci * 468261847f8eSopenharmony_ci * @param { Array<X509Cert> } certs - array of X509Cert. 468361847f8eSopenharmony_ci * @param { Array<X509CRL> } [options] crls - array of X509CRL. 468461847f8eSopenharmony_ci * @returns { CertCRLCollection } 468561847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 468661847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 468761847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 468861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 468961847f8eSopenharmony_ci * @crossplatform 469061847f8eSopenharmony_ci * @since 11 469161847f8eSopenharmony_ci */ 469261847f8eSopenharmony_ci /** 469361847f8eSopenharmony_ci * create object CertCRLCollection 469461847f8eSopenharmony_ci * 469561847f8eSopenharmony_ci * @param { Array<X509Cert> } certs - array of X509Cert. 469661847f8eSopenharmony_ci * @param { Array<X509CRL> } [crls] - array of X509CRL. 469761847f8eSopenharmony_ci * @returns { CertCRLCollection } 469861847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 469961847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 470061847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 470161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 470261847f8eSopenharmony_ci * @crossplatform 470361847f8eSopenharmony_ci * @atomicservice 470461847f8eSopenharmony_ci * @since 12 470561847f8eSopenharmony_ci */ 470661847f8eSopenharmony_ci function createCertCRLCollection(certs: Array<X509Cert>, crls?: Array<X509CRL>): CertCRLCollection; 470761847f8eSopenharmony_ci 470861847f8eSopenharmony_ci /** 470961847f8eSopenharmony_ci * X509 Certification chain object. 471061847f8eSopenharmony_ci * 471161847f8eSopenharmony_ci * @typedef X509CertChain 471261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 471361847f8eSopenharmony_ci * @crossplatform 471461847f8eSopenharmony_ci * @since 11 471561847f8eSopenharmony_ci */ 471661847f8eSopenharmony_ci /** 471761847f8eSopenharmony_ci * X509 Certification chain object. 471861847f8eSopenharmony_ci * 471961847f8eSopenharmony_ci * @typedef X509CertChain 472061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 472161847f8eSopenharmony_ci * @crossplatform 472261847f8eSopenharmony_ci * @atomicservice 472361847f8eSopenharmony_ci * @since 12 472461847f8eSopenharmony_ci */ 472561847f8eSopenharmony_ci interface X509CertChain { 472661847f8eSopenharmony_ci /** 472761847f8eSopenharmony_ci * Get the X509 certificate list. 472861847f8eSopenharmony_ci * 472961847f8eSopenharmony_ci * @returns { Array<X509Cert> } the X509 certificate list. 473061847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 473161847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 473261847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 473361847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 473461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 473561847f8eSopenharmony_ci * @crossplatform 473661847f8eSopenharmony_ci * @since 11 473761847f8eSopenharmony_ci */ 473861847f8eSopenharmony_ci /** 473961847f8eSopenharmony_ci * Get the X509 certificate list. 474061847f8eSopenharmony_ci * 474161847f8eSopenharmony_ci * @returns { Array<X509Cert> } the X509 certificate list. 474261847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 474361847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 474461847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 474561847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 474661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 474761847f8eSopenharmony_ci * @crossplatform 474861847f8eSopenharmony_ci * @atomicservice 474961847f8eSopenharmony_ci * @since 12 475061847f8eSopenharmony_ci */ 475161847f8eSopenharmony_ci getCertList(): Array<X509Cert>; 475261847f8eSopenharmony_ci 475361847f8eSopenharmony_ci /** 475461847f8eSopenharmony_ci * Validate the cert chain with validate parameters. 475561847f8eSopenharmony_ci * 475661847f8eSopenharmony_ci * @param { CertChainValidationParameters } param - indicate the cert chain Validate parameters. 475761847f8eSopenharmony_ci * @returns { Promise<CertChainValidationResult> } the promise returned by the function. 475861847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 475961847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 476061847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 476161847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 476261847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 476361847f8eSopenharmony_ci * @throws { BusinessError } 19030002 - the certificate signature verification failed. 476461847f8eSopenharmony_ci * @throws { BusinessError } 19030003 - the certificate has not taken effect. 476561847f8eSopenharmony_ci * @throws { BusinessError } 19030004 - the certificate has expired. 476661847f8eSopenharmony_ci * @throws { BusinessError } 19030005 - failed to obtain the certificate issuer. 476761847f8eSopenharmony_ci * @throws { BusinessError } 19030006 - the key cannot be used for signing a certificate. 476861847f8eSopenharmony_ci * @throws { BusinessError } 19030007 - the key cannot be used for digital signature. 476961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 477061847f8eSopenharmony_ci * @crossplatform 477161847f8eSopenharmony_ci * @since 11 477261847f8eSopenharmony_ci */ 477361847f8eSopenharmony_ci /** 477461847f8eSopenharmony_ci * Validate the cert chain with validate parameters. 477561847f8eSopenharmony_ci * 477661847f8eSopenharmony_ci * @param { CertChainValidationParameters } param - indicate the cert chain Validate parameters. 477761847f8eSopenharmony_ci * @returns { Promise<CertChainValidationResult> } the promise returned by the function. 477861847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 477961847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 478061847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 478161847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 478261847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 478361847f8eSopenharmony_ci * @throws { BusinessError } 19030002 - the certificate signature verification failed. 478461847f8eSopenharmony_ci * @throws { BusinessError } 19030003 - the certificate has not taken effect. 478561847f8eSopenharmony_ci * @throws { BusinessError } 19030004 - the certificate has expired. 478661847f8eSopenharmony_ci * @throws { BusinessError } 19030005 - failed to obtain the certificate issuer. 478761847f8eSopenharmony_ci * @throws { BusinessError } 19030006 - the key cannot be used for signing a certificate. 478861847f8eSopenharmony_ci * @throws { BusinessError } 19030007 - the key cannot be used for digital signature. 478961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 479061847f8eSopenharmony_ci * @crossplatform 479161847f8eSopenharmony_ci * @atomicservice 479261847f8eSopenharmony_ci * @since 12 479361847f8eSopenharmony_ci */ 479461847f8eSopenharmony_ci validate(param: CertChainValidationParameters): Promise<CertChainValidationResult>; 479561847f8eSopenharmony_ci 479661847f8eSopenharmony_ci /** 479761847f8eSopenharmony_ci * Validate the cert chain with validate parameters. 479861847f8eSopenharmony_ci * 479961847f8eSopenharmony_ci * @param { CertChainValidationParameters } param - indicate the cert chain validate parameters. 480061847f8eSopenharmony_ci * @param { AsyncCallback<CertChainValidationResult> } callback - indicate the cert chain validate result. 480161847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 480261847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 480361847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 480461847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 480561847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 480661847f8eSopenharmony_ci * @throws { BusinessError } 19030002 - the certificate signature verification failed. 480761847f8eSopenharmony_ci * @throws { BusinessError } 19030003 - the certificate has not taken effect. 480861847f8eSopenharmony_ci * @throws { BusinessError } 19030004 - the certificate has expired. 480961847f8eSopenharmony_ci * @throws { BusinessError } 19030005 - failed to obtain the certificate issuer. 481061847f8eSopenharmony_ci * @throws { BusinessError } 19030006 - the key cannot be used for signing a certificate. 481161847f8eSopenharmony_ci * @throws { BusinessError } 19030007 - the key cannot be used for digital signature. 481261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 481361847f8eSopenharmony_ci * @crossplatform 481461847f8eSopenharmony_ci * @since 11 481561847f8eSopenharmony_ci */ 481661847f8eSopenharmony_ci /** 481761847f8eSopenharmony_ci * Validate the cert chain with validate parameters. 481861847f8eSopenharmony_ci * 481961847f8eSopenharmony_ci * @param { CertChainValidationParameters } param - indicate the cert chain validate parameters. 482061847f8eSopenharmony_ci * @param { AsyncCallback<CertChainValidationResult> } callback - indicate the cert chain validate result. 482161847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 482261847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 482361847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 482461847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 482561847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 482661847f8eSopenharmony_ci * @throws { BusinessError } 19030002 - the certificate signature verification failed. 482761847f8eSopenharmony_ci * @throws { BusinessError } 19030003 - the certificate has not taken effect. 482861847f8eSopenharmony_ci * @throws { BusinessError } 19030004 - the certificate has expired. 482961847f8eSopenharmony_ci * @throws { BusinessError } 19030005 - failed to obtain the certificate issuer. 483061847f8eSopenharmony_ci * @throws { BusinessError } 19030006 - the key cannot be used for signing a certificate. 483161847f8eSopenharmony_ci * @throws { BusinessError } 19030007 - the key cannot be used for digital signature. 483261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 483361847f8eSopenharmony_ci * @crossplatform 483461847f8eSopenharmony_ci * @atomicservice 483561847f8eSopenharmony_ci * @since 12 483661847f8eSopenharmony_ci */ 483761847f8eSopenharmony_ci validate(param: CertChainValidationParameters, callback: AsyncCallback<CertChainValidationResult>): void; 483861847f8eSopenharmony_ci 483961847f8eSopenharmony_ci /** 484061847f8eSopenharmony_ci * Get the string type data of the object. 484161847f8eSopenharmony_ci * 484261847f8eSopenharmony_ci * @returns { string } the string type data of the object. 484361847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 484461847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 484561847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 484661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 484761847f8eSopenharmony_ci * @crossplatform 484861847f8eSopenharmony_ci * @atomicservice 484961847f8eSopenharmony_ci * @since 12 485061847f8eSopenharmony_ci */ 485161847f8eSopenharmony_ci toString(): string; 485261847f8eSopenharmony_ci 485361847f8eSopenharmony_ci /** 485461847f8eSopenharmony_ci * Get the hash value of DER format data. 485561847f8eSopenharmony_ci * 485661847f8eSopenharmony_ci * @returns { Uint8Array } the hash value of DER format data. 485761847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 485861847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 485961847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 486061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 486161847f8eSopenharmony_ci * @crossplatform 486261847f8eSopenharmony_ci * @atomicservice 486361847f8eSopenharmony_ci * @since 12 486461847f8eSopenharmony_ci */ 486561847f8eSopenharmony_ci hashCode(): Uint8Array; 486661847f8eSopenharmony_ci } 486761847f8eSopenharmony_ci 486861847f8eSopenharmony_ci /** 486961847f8eSopenharmony_ci * Provides to create X509 certificate chain object. 487061847f8eSopenharmony_ci * The returned object provides the data parsing or verification capability. 487161847f8eSopenharmony_ci * 487261847f8eSopenharmony_ci * @param { EncodingBlob } inStream - indicate the input cert data. 487361847f8eSopenharmony_ci * @returns { Promise<X509CertChain> } 487461847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 487561847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 487661847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 487761847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 487861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 487961847f8eSopenharmony_ci * @crossplatform 488061847f8eSopenharmony_ci * @since 11 488161847f8eSopenharmony_ci */ 488261847f8eSopenharmony_ci /** 488361847f8eSopenharmony_ci * Provides to create X509 certificate chain object. 488461847f8eSopenharmony_ci * The returned object provides the data parsing or verification capability. 488561847f8eSopenharmony_ci * 488661847f8eSopenharmony_ci * @param { EncodingBlob } inStream - indicate the input cert data. 488761847f8eSopenharmony_ci * @returns { Promise<X509CertChain> } 488861847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 488961847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 489061847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 489161847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 489261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 489361847f8eSopenharmony_ci * @crossplatform 489461847f8eSopenharmony_ci * @atomicservice 489561847f8eSopenharmony_ci * @since 12 489661847f8eSopenharmony_ci */ 489761847f8eSopenharmony_ci function createX509CertChain(inStream: EncodingBlob): Promise<X509CertChain>; 489861847f8eSopenharmony_ci 489961847f8eSopenharmony_ci /** 490061847f8eSopenharmony_ci * Provides to create X509 certificate chain object. 490161847f8eSopenharmony_ci * The returned object provides the data parsing or verification capability. 490261847f8eSopenharmony_ci * 490361847f8eSopenharmony_ci * @param { EncodingBlob } inStream - indicate the input cert data. 490461847f8eSopenharmony_ci * @param { AsyncCallback<X509CertChain> } callback 490561847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 490661847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 490761847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 490861847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 490961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 491061847f8eSopenharmony_ci * @crossplatform 491161847f8eSopenharmony_ci * @since 11 491261847f8eSopenharmony_ci */ 491361847f8eSopenharmony_ci /** 491461847f8eSopenharmony_ci * Provides to create X509 certificate chain object. 491561847f8eSopenharmony_ci * The returned object provides the data parsing or verification capability. 491661847f8eSopenharmony_ci * 491761847f8eSopenharmony_ci * @param { EncodingBlob } inStream - indicate the input cert data. 491861847f8eSopenharmony_ci * @param { AsyncCallback<X509CertChain> } callback 491961847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 492061847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 492161847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 492261847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 492361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 492461847f8eSopenharmony_ci * @crossplatform 492561847f8eSopenharmony_ci * @atomicservice 492661847f8eSopenharmony_ci * @since 12 492761847f8eSopenharmony_ci */ 492861847f8eSopenharmony_ci function createX509CertChain(inStream: EncodingBlob, callback: AsyncCallback<X509CertChain>): void; 492961847f8eSopenharmony_ci 493061847f8eSopenharmony_ci /** 493161847f8eSopenharmony_ci * Create certificate chain object with certificate array. 493261847f8eSopenharmony_ci * 493361847f8eSopenharmony_ci * @param { Array<X509Cert> } certs - indicate the certificate array. 493461847f8eSopenharmony_ci * @returns { X509CertChain } the certificate chain object. 493561847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 493661847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 493761847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 493861847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 493961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 494061847f8eSopenharmony_ci * @crossplatform 494161847f8eSopenharmony_ci * @since 11 494261847f8eSopenharmony_ci */ 494361847f8eSopenharmony_ci /** 494461847f8eSopenharmony_ci * Create certificate chain object with certificate array. 494561847f8eSopenharmony_ci * 494661847f8eSopenharmony_ci * @param { Array<X509Cert> } certs - indicate the certificate array. 494761847f8eSopenharmony_ci * @returns { X509CertChain } the certificate chain object. 494861847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 494961847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 495061847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 495161847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 495261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 495361847f8eSopenharmony_ci * @crossplatform 495461847f8eSopenharmony_ci * @atomicservice 495561847f8eSopenharmony_ci * @since 12 495661847f8eSopenharmony_ci */ 495761847f8eSopenharmony_ci function createX509CertChain(certs: Array<X509Cert>): X509CertChain; 495861847f8eSopenharmony_ci 495961847f8eSopenharmony_ci /** 496061847f8eSopenharmony_ci * Create and validate a certificate chain with the build parameters. 496161847f8eSopenharmony_ci * 496261847f8eSopenharmony_ci * @param { CertChainBuildParameters } param - indicate the certificate chain build parameters. 496361847f8eSopenharmony_ci * @returns { Promise<CertChainBuildResult> } the promise returned by the function. 496461847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 496561847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 496661847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 496761847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 496861847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 496961847f8eSopenharmony_ci * @throws { BusinessError } 19030002 - the certificate signature verification failed. 497061847f8eSopenharmony_ci * @throws { BusinessError } 19030003 - the certificate has not taken effect. 497161847f8eSopenharmony_ci * @throws { BusinessError } 19030004 - the certificate has expired. 497261847f8eSopenharmony_ci * @throws { BusinessError } 19030005 - failed to obtain the certificate issuer. 497361847f8eSopenharmony_ci * @throws { BusinessError } 19030006 - the key cannot be used for signing a certificate. 497461847f8eSopenharmony_ci * @throws { BusinessError } 19030007 - the key cannot be used for digital signature. 497561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 497661847f8eSopenharmony_ci * @crossplatform 497761847f8eSopenharmony_ci * @atomicservice 497861847f8eSopenharmony_ci * @since 12 497961847f8eSopenharmony_ci */ 498061847f8eSopenharmony_ci function buildX509CertChain(param: CertChainBuildParameters): Promise<CertChainBuildResult>; 498161847f8eSopenharmony_ci 498261847f8eSopenharmony_ci /** 498361847f8eSopenharmony_ci * Get trust anchor array from specified P12. 498461847f8eSopenharmony_ci * 498561847f8eSopenharmony_ci * @param { Uint8Array } keystore - the file path of the P12. 498661847f8eSopenharmony_ci * @param { string } pwd - the password of the P12. 498761847f8eSopenharmony_ci * @returns { Promise<Array<X509TrustAnchor>> } the promise returned by the function. 498861847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 498961847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 499061847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 499161847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 499261847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 499361847f8eSopenharmony_ci * @throws { BusinessError } 19030002 - the certificate signature verification failed. 499461847f8eSopenharmony_ci * @throws { BusinessError } 19030003 - the certificate has not taken effect. 499561847f8eSopenharmony_ci * @throws { BusinessError } 19030004 - the certificate has expired. 499661847f8eSopenharmony_ci * @throws { BusinessError } 19030005 - failed to obtain the certificate issuer. 499761847f8eSopenharmony_ci * @throws { BusinessError } 19030006 - the key cannot be used for signing a certificate. 499861847f8eSopenharmony_ci * @throws { BusinessError } 19030007 - the key cannot be used for digital signature. 499961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 500061847f8eSopenharmony_ci * @crossplatform 500161847f8eSopenharmony_ci * @atomicservice 500261847f8eSopenharmony_ci * @since 12 500361847f8eSopenharmony_ci */ 500461847f8eSopenharmony_ci function createTrustAnchorsWithKeyStore(keystore: Uint8Array, pwd: string): Promise<Array<X509TrustAnchor>>; 500561847f8eSopenharmony_ci 500661847f8eSopenharmony_ci /** 500761847f8eSopenharmony_ci * Create X500DistinguishedName object with the name in string format. 500861847f8eSopenharmony_ci * 500961847f8eSopenharmony_ci * @param { string } nameStr - the string format of the Name type defined by X509. 501061847f8eSopenharmony_ci * @returns { Promise<X500DistinguishedName> } the promise returned by the function. 501161847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 501261847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 501361847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 501461847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 501561847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 501661847f8eSopenharmony_ci * @throws { BusinessError } 19030002 - the certificate signature verification failed. 501761847f8eSopenharmony_ci * @throws { BusinessError } 19030003 - the certificate has not taken effect. 501861847f8eSopenharmony_ci * @throws { BusinessError } 19030004 - the certificate has expired. 501961847f8eSopenharmony_ci * @throws { BusinessError } 19030005 - failed to obtain the certificate issuer. 502061847f8eSopenharmony_ci * @throws { BusinessError } 19030006 - the key cannot be used for signing a certificate. 502161847f8eSopenharmony_ci * @throws { BusinessError } 19030007 - the key cannot be used for digital signature. 502261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 502361847f8eSopenharmony_ci * @crossplatform 502461847f8eSopenharmony_ci * @atomicservice 502561847f8eSopenharmony_ci * @since 12 502661847f8eSopenharmony_ci */ 502761847f8eSopenharmony_ci function createX500DistinguishedName(nameStr: string): Promise<X500DistinguishedName>; 502861847f8eSopenharmony_ci 502961847f8eSopenharmony_ci /** 503061847f8eSopenharmony_ci * Create X500DistinguishedName object with the name in DER format. 503161847f8eSopenharmony_ci * 503261847f8eSopenharmony_ci * @param { Uint8Array } nameDer - the DER format of the Name type defined by X509. 503361847f8eSopenharmony_ci * @returns { Promise<X500DistinguishedName> } the promise returned by the function. 503461847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 503561847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 503661847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 503761847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 503861847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 503961847f8eSopenharmony_ci * @throws { BusinessError } 19030002 - the certificate signature verification failed. 504061847f8eSopenharmony_ci * @throws { BusinessError } 19030003 - the certificate has not taken effect. 504161847f8eSopenharmony_ci * @throws { BusinessError } 19030004 - the certificate has expired. 504261847f8eSopenharmony_ci * @throws { BusinessError } 19030005 - failed to obtain the certificate issuer. 504361847f8eSopenharmony_ci * @throws { BusinessError } 19030006 - the key cannot be used for signing a certificate. 504461847f8eSopenharmony_ci * @throws { BusinessError } 19030007 - the key cannot be used for digital signature. 504561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 504661847f8eSopenharmony_ci * @crossplatform 504761847f8eSopenharmony_ci * @atomicservice 504861847f8eSopenharmony_ci * @since 12 504961847f8eSopenharmony_ci */ 505061847f8eSopenharmony_ci function createX500DistinguishedName(nameDer: Uint8Array): Promise<X500DistinguishedName>; 505161847f8eSopenharmony_ci 505261847f8eSopenharmony_ci /** 505361847f8eSopenharmony_ci * Provides the x500 distinguished name type. 505461847f8eSopenharmony_ci * 505561847f8eSopenharmony_ci * @typedef X500DistinguishedName 505661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 505761847f8eSopenharmony_ci * @crossplatform 505861847f8eSopenharmony_ci * @atomicservice 505961847f8eSopenharmony_ci * @since 12 506061847f8eSopenharmony_ci */ 506161847f8eSopenharmony_ci interface X500DistinguishedName { 506261847f8eSopenharmony_ci /** 506361847f8eSopenharmony_ci * Get distinguished name string. 506461847f8eSopenharmony_ci * 506561847f8eSopenharmony_ci * @returns { string } distinguished name string. 506661847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 506761847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 506861847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 506961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 507061847f8eSopenharmony_ci * @crossplatform 507161847f8eSopenharmony_ci * @atomicservice 507261847f8eSopenharmony_ci * @since 12 507361847f8eSopenharmony_ci */ 507461847f8eSopenharmony_ci getName(): string; 507561847f8eSopenharmony_ci 507661847f8eSopenharmony_ci /** 507761847f8eSopenharmony_ci * Get distinguished name string by type. 507861847f8eSopenharmony_ci * 507961847f8eSopenharmony_ci * @param { string } type - the specified type name. 508061847f8eSopenharmony_ci * @returns { Array<string> } distinguished name string. 508161847f8eSopenharmony_ci * @throws { BusinessError } 401 - invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified; 508261847f8eSopenharmony_ci * <br>2. Incorrect parameter types; 3. Parameter verification failed. 508361847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 508461847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 508561847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 508661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 508761847f8eSopenharmony_ci * @crossplatform 508861847f8eSopenharmony_ci * @atomicservice 508961847f8eSopenharmony_ci * @since 12 509061847f8eSopenharmony_ci */ 509161847f8eSopenharmony_ci getName(type: string): Array<string>; 509261847f8eSopenharmony_ci 509361847f8eSopenharmony_ci /** 509461847f8eSopenharmony_ci * Get distinguished name in der coding format. 509561847f8eSopenharmony_ci * 509661847f8eSopenharmony_ci * @returns { EncodingBlob } distinguished name encoded data. 509761847f8eSopenharmony_ci * @throws { BusinessError } 19020001 - memory error. 509861847f8eSopenharmony_ci * @throws { BusinessError } 19020002 - runtime error. 509961847f8eSopenharmony_ci * @throws { BusinessError } 19030001 - crypto operation error. 510061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 510161847f8eSopenharmony_ci * @crossplatform 510261847f8eSopenharmony_ci * @atomicservice 510361847f8eSopenharmony_ci * @since 12 510461847f8eSopenharmony_ci */ 510561847f8eSopenharmony_ci getEncoded(): EncodingBlob; 510661847f8eSopenharmony_ci } 510761847f8eSopenharmony_ci 510861847f8eSopenharmony_ci /** 510961847f8eSopenharmony_ci * Provides the x509 trust anchor type. 511061847f8eSopenharmony_ci * 511161847f8eSopenharmony_ci * @typedef X509TrustAnchor 511261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 511361847f8eSopenharmony_ci * @crossplatform 511461847f8eSopenharmony_ci * @since 11 511561847f8eSopenharmony_ci */ 511661847f8eSopenharmony_ci /** 511761847f8eSopenharmony_ci * Provides the x509 trust anchor type. 511861847f8eSopenharmony_ci * 511961847f8eSopenharmony_ci * @typedef X509TrustAnchor 512061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 512161847f8eSopenharmony_ci * @crossplatform 512261847f8eSopenharmony_ci * @atomicservice 512361847f8eSopenharmony_ci * @since 12 512461847f8eSopenharmony_ci */ 512561847f8eSopenharmony_ci interface X509TrustAnchor { 512661847f8eSopenharmony_ci /** 512761847f8eSopenharmony_ci * The trust CA cert. 512861847f8eSopenharmony_ci * 512961847f8eSopenharmony_ci * @type { ?X509Cert } 513061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 513161847f8eSopenharmony_ci * @crossplatform 513261847f8eSopenharmony_ci * @since 11 513361847f8eSopenharmony_ci */ 513461847f8eSopenharmony_ci /** 513561847f8eSopenharmony_ci * The trust CA cert. 513661847f8eSopenharmony_ci * 513761847f8eSopenharmony_ci * @type { ?X509Cert } 513861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 513961847f8eSopenharmony_ci * @crossplatform 514061847f8eSopenharmony_ci * @atomicservice 514161847f8eSopenharmony_ci * @since 12 514261847f8eSopenharmony_ci */ 514361847f8eSopenharmony_ci CACert?: X509Cert; 514461847f8eSopenharmony_ci 514561847f8eSopenharmony_ci /** 514661847f8eSopenharmony_ci * The trust CA public key in DER format. 514761847f8eSopenharmony_ci * 514861847f8eSopenharmony_ci * @type { ?Uint8Array } 514961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 515061847f8eSopenharmony_ci * @crossplatform 515161847f8eSopenharmony_ci * @since 11 515261847f8eSopenharmony_ci */ 515361847f8eSopenharmony_ci /** 515461847f8eSopenharmony_ci * The trust CA public key in DER format. 515561847f8eSopenharmony_ci * 515661847f8eSopenharmony_ci * @type { ?Uint8Array } 515761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 515861847f8eSopenharmony_ci * @crossplatform 515961847f8eSopenharmony_ci * @atomicservice 516061847f8eSopenharmony_ci * @since 12 516161847f8eSopenharmony_ci */ 516261847f8eSopenharmony_ci CAPubKey?: Uint8Array; 516361847f8eSopenharmony_ci 516461847f8eSopenharmony_ci /** 516561847f8eSopenharmony_ci * The trust CA subject in DER format. 516661847f8eSopenharmony_ci * 516761847f8eSopenharmony_ci * @type { ?Uint8Array } 516861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 516961847f8eSopenharmony_ci * @crossplatform 517061847f8eSopenharmony_ci * @since 11 517161847f8eSopenharmony_ci */ 517261847f8eSopenharmony_ci /** 517361847f8eSopenharmony_ci * The trust CA subject in DER format. 517461847f8eSopenharmony_ci * 517561847f8eSopenharmony_ci * @type { ?Uint8Array } 517661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 517761847f8eSopenharmony_ci * @crossplatform 517861847f8eSopenharmony_ci * @atomicservice 517961847f8eSopenharmony_ci * @since 12 518061847f8eSopenharmony_ci */ 518161847f8eSopenharmony_ci CASubject?: Uint8Array; 518261847f8eSopenharmony_ci 518361847f8eSopenharmony_ci /** 518461847f8eSopenharmony_ci * The name constraints in DER format. 518561847f8eSopenharmony_ci * 518661847f8eSopenharmony_ci * @type { ?Uint8Array } 518761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 518861847f8eSopenharmony_ci * @crossplatform 518961847f8eSopenharmony_ci * @atomicservice 519061847f8eSopenharmony_ci * @since 12 519161847f8eSopenharmony_ci */ 519261847f8eSopenharmony_ci nameConstraints?: Uint8Array; 519361847f8eSopenharmony_ci } 519461847f8eSopenharmony_ci 519561847f8eSopenharmony_ci /** 519661847f8eSopenharmony_ci * Enum for revocation check option. 519761847f8eSopenharmony_ci * 519861847f8eSopenharmony_ci * @enum { number } 519961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 520061847f8eSopenharmony_ci * @crossplatform 520161847f8eSopenharmony_ci * @atomicservice 520261847f8eSopenharmony_ci * @since 12 520361847f8eSopenharmony_ci */ 520461847f8eSopenharmony_ci enum RevocationCheckOptions { 520561847f8eSopenharmony_ci /** 520661847f8eSopenharmony_ci * Indicates priority to use OCSP for verification. 520761847f8eSopenharmony_ci * 520861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 520961847f8eSopenharmony_ci * @crossplatform 521061847f8eSopenharmony_ci * @atomicservice 521161847f8eSopenharmony_ci * @since 12 521261847f8eSopenharmony_ci */ 521361847f8eSopenharmony_ci REVOCATION_CHECK_OPTION_PREFER_OCSP = 0, 521461847f8eSopenharmony_ci 521561847f8eSopenharmony_ci /** 521661847f8eSopenharmony_ci * Indicates support for verifying revocation status by accessing the network to obtain CRL or OCSP responses. 521761847f8eSopenharmony_ci * 521861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 521961847f8eSopenharmony_ci * @crossplatform 522061847f8eSopenharmony_ci * @atomicservice 522161847f8eSopenharmony_ci * @since 12 522261847f8eSopenharmony_ci */ 522361847f8eSopenharmony_ci REVOCATION_CHECK_OPTION_ACCESS_NETWORK, 522461847f8eSopenharmony_ci 522561847f8eSopenharmony_ci /** 522661847f8eSopenharmony_ci * Indicates when the 'REVOCATION_CHECK_OPTION_ACCESS_NETWORK' option is turned on, it is effective. 522761847f8eSopenharmony_ci * If the preferred verification method is unable to verify the certificate status due to network reasons, 522861847f8eSopenharmony_ci * an alternative solution will be used for verification. 522961847f8eSopenharmony_ci * 523061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 523161847f8eSopenharmony_ci * @crossplatform 523261847f8eSopenharmony_ci * @atomicservice 523361847f8eSopenharmony_ci * @since 12 523461847f8eSopenharmony_ci */ 523561847f8eSopenharmony_ci REVOCATION_CHECK_OPTION_FALLBACK_NO_PREFER, 523661847f8eSopenharmony_ci 523761847f8eSopenharmony_ci /** 523861847f8eSopenharmony_ci * Indicates when the 'REVOCATION_CHECK_OPTION_ACCESS_NETWORK' option is turned on, it is effective. 523961847f8eSopenharmony_ci * If both the CRL and OCSP responses obtained online cannot verify the certificate status due to network reasons, 524061847f8eSopenharmony_ci * the locally set CRL and OCSP responses will be used for verification. 524161847f8eSopenharmony_ci * 524261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 524361847f8eSopenharmony_ci * @crossplatform 524461847f8eSopenharmony_ci * @atomicservice 524561847f8eSopenharmony_ci * @since 12 524661847f8eSopenharmony_ci */ 524761847f8eSopenharmony_ci REVOCATION_CHECK_OPTION_FALLBACK_LOCAL 524861847f8eSopenharmony_ci } 524961847f8eSopenharmony_ci 525061847f8eSopenharmony_ci /** 525161847f8eSopenharmony_ci * Enum for validation policy type. 525261847f8eSopenharmony_ci * 525361847f8eSopenharmony_ci * @enum { number } 525461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 525561847f8eSopenharmony_ci * @crossplatform 525661847f8eSopenharmony_ci * @atomicservice 525761847f8eSopenharmony_ci * @since 12 525861847f8eSopenharmony_ci */ 525961847f8eSopenharmony_ci enum ValidationPolicyType { 526061847f8eSopenharmony_ci /** 526161847f8eSopenharmony_ci * Indicates not need to verify the sslHostname field in the certificate. 526261847f8eSopenharmony_ci * 526361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 526461847f8eSopenharmony_ci * @crossplatform 526561847f8eSopenharmony_ci * @atomicservice 526661847f8eSopenharmony_ci * @since 12 526761847f8eSopenharmony_ci */ 526861847f8eSopenharmony_ci VALIDATION_POLICY_TYPE_X509 = 0, 526961847f8eSopenharmony_ci 527061847f8eSopenharmony_ci /** 527161847f8eSopenharmony_ci * Indicates need to verify the sslHostname field in the certificate. 527261847f8eSopenharmony_ci * 527361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 527461847f8eSopenharmony_ci * @crossplatform 527561847f8eSopenharmony_ci * @atomicservice 527661847f8eSopenharmony_ci * @since 12 527761847f8eSopenharmony_ci */ 527861847f8eSopenharmony_ci VALIDATION_POLICY_TYPE_SSL 527961847f8eSopenharmony_ci } 528061847f8eSopenharmony_ci 528161847f8eSopenharmony_ci /** 528261847f8eSopenharmony_ci * Enum for validation keyusage type. 528361847f8eSopenharmony_ci * 528461847f8eSopenharmony_ci * @enum { number } 528561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 528661847f8eSopenharmony_ci * @crossplatform 528761847f8eSopenharmony_ci * @atomicservice 528861847f8eSopenharmony_ci * @since 12 528961847f8eSopenharmony_ci */ 529061847f8eSopenharmony_ci enum KeyUsageType { 529161847f8eSopenharmony_ci /** 529261847f8eSopenharmony_ci * Indicates the certificate public key can be used for digital signature operations. 529361847f8eSopenharmony_ci * 529461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 529561847f8eSopenharmony_ci * @crossplatform 529661847f8eSopenharmony_ci * @atomicservice 529761847f8eSopenharmony_ci * @since 12 529861847f8eSopenharmony_ci */ 529961847f8eSopenharmony_ci KEYUSAGE_DIGITAL_SIGNATURE = 0, 530061847f8eSopenharmony_ci 530161847f8eSopenharmony_ci /** 530261847f8eSopenharmony_ci * Indicates certificate public key can be used for non repudiation operations, preventing the signer from denying their signature. 530361847f8eSopenharmony_ci * 530461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 530561847f8eSopenharmony_ci * @crossplatform 530661847f8eSopenharmony_ci * @atomicservice 530761847f8eSopenharmony_ci * @since 12 530861847f8eSopenharmony_ci */ 530961847f8eSopenharmony_ci KEYUSAGE_NON_REPUDIATION, 531061847f8eSopenharmony_ci 531161847f8eSopenharmony_ci /** 531261847f8eSopenharmony_ci * Indicates certificate public key can be used for key encryption operations, for encrypting symmetric keys, etc. 531361847f8eSopenharmony_ci * 531461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 531561847f8eSopenharmony_ci * @crossplatform 531661847f8eSopenharmony_ci * @atomicservice 531761847f8eSopenharmony_ci * @since 12 531861847f8eSopenharmony_ci */ 531961847f8eSopenharmony_ci KEYUSAGE_KEY_ENCIPHERMENT, 532061847f8eSopenharmony_ci 532161847f8eSopenharmony_ci /** 532261847f8eSopenharmony_ci * Indicates certificate public key can be used for data encryption operations, to encrypt data. 532361847f8eSopenharmony_ci * 532461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 532561847f8eSopenharmony_ci * @crossplatform 532661847f8eSopenharmony_ci * @atomicservice 532761847f8eSopenharmony_ci * @since 12 532861847f8eSopenharmony_ci */ 532961847f8eSopenharmony_ci KEYUSAGE_DATA_ENCIPHERMENT, 533061847f8eSopenharmony_ci 533161847f8eSopenharmony_ci /** 533261847f8eSopenharmony_ci * Indicates certificate public key can be used for key negotiation operations, to negotiate shared keys. 533361847f8eSopenharmony_ci * 533461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 533561847f8eSopenharmony_ci * @crossplatform 533661847f8eSopenharmony_ci * @atomicservice 533761847f8eSopenharmony_ci * @since 12 533861847f8eSopenharmony_ci */ 533961847f8eSopenharmony_ci KEYUSAGE_KEY_AGREEMENT, 534061847f8eSopenharmony_ci 534161847f8eSopenharmony_ci /** 534261847f8eSopenharmony_ci * Indicates certificate public key can be used for certificate signing operations. 534361847f8eSopenharmony_ci * 534461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 534561847f8eSopenharmony_ci * @crossplatform 534661847f8eSopenharmony_ci * @atomicservice 534761847f8eSopenharmony_ci * @since 12 534861847f8eSopenharmony_ci */ 534961847f8eSopenharmony_ci KEYUSAGE_KEY_CERT_SIGN, 535061847f8eSopenharmony_ci 535161847f8eSopenharmony_ci /** 535261847f8eSopenharmony_ci * Indicates certificate public key can be used for signing operations on certificate revocation lists (CRLs). 535361847f8eSopenharmony_ci * 535461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 535561847f8eSopenharmony_ci * @crossplatform 535661847f8eSopenharmony_ci * @atomicservice 535761847f8eSopenharmony_ci * @since 12 535861847f8eSopenharmony_ci */ 535961847f8eSopenharmony_ci KEYUSAGE_CRL_SIGN, 536061847f8eSopenharmony_ci 536161847f8eSopenharmony_ci /** 536261847f8eSopenharmony_ci * Indicates the key can only be used for encryption operations and cannot be used for decryption operations. 536361847f8eSopenharmony_ci * 536461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 536561847f8eSopenharmony_ci * @crossplatform 536661847f8eSopenharmony_ci * @atomicservice 536761847f8eSopenharmony_ci * @since 12 536861847f8eSopenharmony_ci */ 536961847f8eSopenharmony_ci KEYUSAGE_ENCIPHER_ONLY, 537061847f8eSopenharmony_ci 537161847f8eSopenharmony_ci /** 537261847f8eSopenharmony_ci * Indicates the key can only be used for decryption operations and cannot be used for encryption operations. 537361847f8eSopenharmony_ci * 537461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 537561847f8eSopenharmony_ci * @crossplatform 537661847f8eSopenharmony_ci * @atomicservice 537761847f8eSopenharmony_ci * @since 12 537861847f8eSopenharmony_ci */ 537961847f8eSopenharmony_ci KEYUSAGE_DECIPHER_ONLY 538061847f8eSopenharmony_ci } 538161847f8eSopenharmony_ci 538261847f8eSopenharmony_ci /** 538361847f8eSopenharmony_ci * Provides the certificate chain validate revocation parameters. 538461847f8eSopenharmony_ci * 538561847f8eSopenharmony_ci * @typedef RevocationCheckParameter 538661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 538761847f8eSopenharmony_ci * @crossplatform 538861847f8eSopenharmony_ci * @atomicservice 538961847f8eSopenharmony_ci * @since 12 539061847f8eSopenharmony_ci */ 539161847f8eSopenharmony_ci interface RevocationCheckParameter { 539261847f8eSopenharmony_ci /** 539361847f8eSopenharmony_ci * The additional field for sending OCSP requests. 539461847f8eSopenharmony_ci * 539561847f8eSopenharmony_ci * @type { ?Array<Uint8Array> } 539661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 539761847f8eSopenharmony_ci * @crossplatform 539861847f8eSopenharmony_ci * @atomicservice 539961847f8eSopenharmony_ci * @since 12 540061847f8eSopenharmony_ci */ 540161847f8eSopenharmony_ci ocspRequestExtension?: Array<Uint8Array>; 540261847f8eSopenharmony_ci 540361847f8eSopenharmony_ci /** 540461847f8eSopenharmony_ci * The server URL address for sending requests to OCSP. 540561847f8eSopenharmony_ci * 540661847f8eSopenharmony_ci * @type { ?string } 540761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 540861847f8eSopenharmony_ci * @crossplatform 540961847f8eSopenharmony_ci * @atomicservice 541061847f8eSopenharmony_ci * @since 12 541161847f8eSopenharmony_ci */ 541261847f8eSopenharmony_ci ocspResponderURI?: string; 541361847f8eSopenharmony_ci 541461847f8eSopenharmony_ci /** 541561847f8eSopenharmony_ci * The signing certificate for verifying OCSP response signatures. 541661847f8eSopenharmony_ci * 541761847f8eSopenharmony_ci * @type { ?X509Cert } 541861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 541961847f8eSopenharmony_ci * @crossplatform 542061847f8eSopenharmony_ci * @atomicservice 542161847f8eSopenharmony_ci * @since 12 542261847f8eSopenharmony_ci */ 542361847f8eSopenharmony_ci ocspResponderCert?: X509Cert; 542461847f8eSopenharmony_ci 542561847f8eSopenharmony_ci /** 542661847f8eSopenharmony_ci * The OCSP response message returned by an OCSP server. 542761847f8eSopenharmony_ci * 542861847f8eSopenharmony_ci * @type { ?Uint8Array } 542961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 543061847f8eSopenharmony_ci * @crossplatform 543161847f8eSopenharmony_ci * @atomicservice 543261847f8eSopenharmony_ci * @since 12 543361847f8eSopenharmony_ci */ 543461847f8eSopenharmony_ci ocspResponses?: Uint8Array; 543561847f8eSopenharmony_ci 543661847f8eSopenharmony_ci /** 543761847f8eSopenharmony_ci * The URL address for downloading the CRL list. 543861847f8eSopenharmony_ci * 543961847f8eSopenharmony_ci * @type { ?string } 544061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 544161847f8eSopenharmony_ci * @crossplatform 544261847f8eSopenharmony_ci * @atomicservice 544361847f8eSopenharmony_ci * @since 12 544461847f8eSopenharmony_ci */ 544561847f8eSopenharmony_ci crlDownloadURI?: string; 544661847f8eSopenharmony_ci 544761847f8eSopenharmony_ci /** 544861847f8eSopenharmony_ci * The certificate revocation status verification option. 544961847f8eSopenharmony_ci * 545061847f8eSopenharmony_ci * @type { ?Array<RevocationCheckOptions> } 545161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 545261847f8eSopenharmony_ci * @crossplatform 545361847f8eSopenharmony_ci * @atomicservice 545461847f8eSopenharmony_ci * @since 12 545561847f8eSopenharmony_ci */ 545661847f8eSopenharmony_ci options?: Array<RevocationCheckOptions>; 545761847f8eSopenharmony_ci 545861847f8eSopenharmony_ci /** 545961847f8eSopenharmony_ci * The digest used to generate the ocsp cert id. 546061847f8eSopenharmony_ci * 546161847f8eSopenharmony_ci * @type { ?string } 546261847f8eSopenharmony_ci * @default SHA256 546361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 546461847f8eSopenharmony_ci * @crossplatform 546561847f8eSopenharmony_ci * @atomicservice 546661847f8eSopenharmony_ci * @since 12 546761847f8eSopenharmony_ci */ 546861847f8eSopenharmony_ci ocspDigest?: string; 546961847f8eSopenharmony_ci } 547061847f8eSopenharmony_ci 547161847f8eSopenharmony_ci /** 547261847f8eSopenharmony_ci * Provides the certificate chain validate parameters type. 547361847f8eSopenharmony_ci * 547461847f8eSopenharmony_ci * @typedef CertChainValidationParameters 547561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 547661847f8eSopenharmony_ci * @crossplatform 547761847f8eSopenharmony_ci * @since 11 547861847f8eSopenharmony_ci */ 547961847f8eSopenharmony_ci /** 548061847f8eSopenharmony_ci * Provides the certificate chain validate parameters type. 548161847f8eSopenharmony_ci * 548261847f8eSopenharmony_ci * @typedef CertChainValidationParameters 548361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 548461847f8eSopenharmony_ci * @crossplatform 548561847f8eSopenharmony_ci * @atomicservice 548661847f8eSopenharmony_ci * @since 12 548761847f8eSopenharmony_ci */ 548861847f8eSopenharmony_ci interface CertChainValidationParameters { 548961847f8eSopenharmony_ci /** 549061847f8eSopenharmony_ci * The datetime to verify the certificate chain validity period. 549161847f8eSopenharmony_ci * 549261847f8eSopenharmony_ci * @type { ?string } 549361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 549461847f8eSopenharmony_ci * @crossplatform 549561847f8eSopenharmony_ci * @since 11 549661847f8eSopenharmony_ci */ 549761847f8eSopenharmony_ci /** 549861847f8eSopenharmony_ci * The datetime to verify the certificate chain validity period. 549961847f8eSopenharmony_ci * 550061847f8eSopenharmony_ci * @type { ?string } 550161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 550261847f8eSopenharmony_ci * @crossplatform 550361847f8eSopenharmony_ci * @atomicservice 550461847f8eSopenharmony_ci * @since 12 550561847f8eSopenharmony_ci */ 550661847f8eSopenharmony_ci date?: string; 550761847f8eSopenharmony_ci 550861847f8eSopenharmony_ci /** 550961847f8eSopenharmony_ci * The trust ca certificates to verify the certificate chain. 551061847f8eSopenharmony_ci * 551161847f8eSopenharmony_ci * @type { Array<X509TrustAnchor> } 551261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 551361847f8eSopenharmony_ci * @crossplatform 551461847f8eSopenharmony_ci * @since 11 551561847f8eSopenharmony_ci */ 551661847f8eSopenharmony_ci /** 551761847f8eSopenharmony_ci * The trust ca certificates to verify the certificate chain. 551861847f8eSopenharmony_ci * 551961847f8eSopenharmony_ci * @type { Array<X509TrustAnchor> } 552061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 552161847f8eSopenharmony_ci * @crossplatform 552261847f8eSopenharmony_ci * @atomicservice 552361847f8eSopenharmony_ci * @since 12 552461847f8eSopenharmony_ci */ 552561847f8eSopenharmony_ci trustAnchors: Array<X509TrustAnchor>; 552661847f8eSopenharmony_ci 552761847f8eSopenharmony_ci /** 552861847f8eSopenharmony_ci * The cert and CRL list to build cert chain and verify the certificate chain revocation state. 552961847f8eSopenharmony_ci * 553061847f8eSopenharmony_ci * @type { ?Array<CertCRLCollection> } 553161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 553261847f8eSopenharmony_ci * @crossplatform 553361847f8eSopenharmony_ci * @since 11 553461847f8eSopenharmony_ci */ 553561847f8eSopenharmony_ci /** 553661847f8eSopenharmony_ci * The cert and CRL list to build cert chain and verify the certificate chain revocation state. 553761847f8eSopenharmony_ci * 553861847f8eSopenharmony_ci * @type { ?Array<CertCRLCollection> } 553961847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 554061847f8eSopenharmony_ci * @crossplatform 554161847f8eSopenharmony_ci * @atomicservice 554261847f8eSopenharmony_ci * @since 12 554361847f8eSopenharmony_ci */ 554461847f8eSopenharmony_ci certCRLs?: Array<CertCRLCollection>; 554561847f8eSopenharmony_ci 554661847f8eSopenharmony_ci /** 554761847f8eSopenharmony_ci * The revocation parameters to verify the certificate chain revocation status. 554861847f8eSopenharmony_ci * 554961847f8eSopenharmony_ci * @type { ?RevocationCheckParameter } 555061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 555161847f8eSopenharmony_ci * @crossplatform 555261847f8eSopenharmony_ci * @atomicservice 555361847f8eSopenharmony_ci * @since 12 555461847f8eSopenharmony_ci */ 555561847f8eSopenharmony_ci revocationCheckParam?: RevocationCheckParameter; 555661847f8eSopenharmony_ci 555761847f8eSopenharmony_ci /** 555861847f8eSopenharmony_ci * The policy to verify the certificate chain validity. 555961847f8eSopenharmony_ci * 556061847f8eSopenharmony_ci * @type { ?ValidationPolicyType } 556161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 556261847f8eSopenharmony_ci * @crossplatform 556361847f8eSopenharmony_ci * @atomicservice 556461847f8eSopenharmony_ci * @since 12 556561847f8eSopenharmony_ci */ 556661847f8eSopenharmony_ci policy?: ValidationPolicyType; 556761847f8eSopenharmony_ci 556861847f8eSopenharmony_ci /** 556961847f8eSopenharmony_ci * The sslHostname to verify the certificate chain validity. 557061847f8eSopenharmony_ci * 557161847f8eSopenharmony_ci * @type { ?string } 557261847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 557361847f8eSopenharmony_ci * @crossplatform 557461847f8eSopenharmony_ci * @atomicservice 557561847f8eSopenharmony_ci * @since 12 557661847f8eSopenharmony_ci */ 557761847f8eSopenharmony_ci sslHostname?: string; 557861847f8eSopenharmony_ci 557961847f8eSopenharmony_ci /** 558061847f8eSopenharmony_ci * The keyUsage to verify the certificate chain validity. 558161847f8eSopenharmony_ci * 558261847f8eSopenharmony_ci * @type { ?Array<KeyUsageType> } 558361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 558461847f8eSopenharmony_ci * @crossplatform 558561847f8eSopenharmony_ci * @atomicservice 558661847f8eSopenharmony_ci * @since 12 558761847f8eSopenharmony_ci */ 558861847f8eSopenharmony_ci keyUsage?: Array<KeyUsageType>; 558961847f8eSopenharmony_ci } 559061847f8eSopenharmony_ci 559161847f8eSopenharmony_ci /** 559261847f8eSopenharmony_ci * Certification chain validate result. 559361847f8eSopenharmony_ci * 559461847f8eSopenharmony_ci * @typedef CertChainValidationResult 559561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 559661847f8eSopenharmony_ci * @crossplatform 559761847f8eSopenharmony_ci * @since 11 559861847f8eSopenharmony_ci */ 559961847f8eSopenharmony_ci /** 560061847f8eSopenharmony_ci * Certification chain validate result. 560161847f8eSopenharmony_ci * 560261847f8eSopenharmony_ci * @typedef CertChainValidationResult 560361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 560461847f8eSopenharmony_ci * @crossplatform 560561847f8eSopenharmony_ci * @atomicservice 560661847f8eSopenharmony_ci * @since 12 560761847f8eSopenharmony_ci */ 560861847f8eSopenharmony_ci interface CertChainValidationResult { 560961847f8eSopenharmony_ci /** 561061847f8eSopenharmony_ci * The cert chain trust anchor. 561161847f8eSopenharmony_ci * 561261847f8eSopenharmony_ci * @type { X509TrustAnchor } 561361847f8eSopenharmony_ci * @readonly 561461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 561561847f8eSopenharmony_ci * @crossplatform 561661847f8eSopenharmony_ci * @since 11 561761847f8eSopenharmony_ci */ 561861847f8eSopenharmony_ci /** 561961847f8eSopenharmony_ci * The cert chain trust anchor. 562061847f8eSopenharmony_ci * 562161847f8eSopenharmony_ci * @type { X509TrustAnchor } 562261847f8eSopenharmony_ci * @readonly 562361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 562461847f8eSopenharmony_ci * @crossplatform 562561847f8eSopenharmony_ci * @atomicservice 562661847f8eSopenharmony_ci * @since 12 562761847f8eSopenharmony_ci */ 562861847f8eSopenharmony_ci readonly trustAnchor: X509TrustAnchor; 562961847f8eSopenharmony_ci 563061847f8eSopenharmony_ci /** 563161847f8eSopenharmony_ci * The target certificate. 563261847f8eSopenharmony_ci * 563361847f8eSopenharmony_ci * @type { X509Cert } 563461847f8eSopenharmony_ci * @readonly 563561847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 563661847f8eSopenharmony_ci * @crossplatform 563761847f8eSopenharmony_ci * @since 11 563861847f8eSopenharmony_ci */ 563961847f8eSopenharmony_ci /** 564061847f8eSopenharmony_ci * The target certificate. 564161847f8eSopenharmony_ci * 564261847f8eSopenharmony_ci * @type { X509Cert } 564361847f8eSopenharmony_ci * @readonly 564461847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 564561847f8eSopenharmony_ci * @crossplatform 564661847f8eSopenharmony_ci * @atomicservice 564761847f8eSopenharmony_ci * @since 12 564861847f8eSopenharmony_ci */ 564961847f8eSopenharmony_ci readonly entityCert: X509Cert; 565061847f8eSopenharmony_ci } 565161847f8eSopenharmony_ci 565261847f8eSopenharmony_ci /** 565361847f8eSopenharmony_ci * Provides the certificate chain build parameters type. 565461847f8eSopenharmony_ci * 565561847f8eSopenharmony_ci * @typedef CertChainBuildParameters 565661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 565761847f8eSopenharmony_ci * @crossplatform 565861847f8eSopenharmony_ci * @atomicservice 565961847f8eSopenharmony_ci * @since 12 566061847f8eSopenharmony_ci */ 566161847f8eSopenharmony_ci interface CertChainBuildParameters { 566261847f8eSopenharmony_ci /** 566361847f8eSopenharmony_ci * The certificate match parameters to selects certificate from the certificate collection. 566461847f8eSopenharmony_ci * 566561847f8eSopenharmony_ci * @type { X509CertMatchParameters } 566661847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 566761847f8eSopenharmony_ci * @crossplatform 566861847f8eSopenharmony_ci * @atomicservice 566961847f8eSopenharmony_ci * @since 12 567061847f8eSopenharmony_ci */ 567161847f8eSopenharmony_ci certMatchParameters: X509CertMatchParameters; 567261847f8eSopenharmony_ci 567361847f8eSopenharmony_ci /** 567461847f8eSopenharmony_ci * The maximum length of the certificate chain to be built. 567561847f8eSopenharmony_ci * 567661847f8eSopenharmony_ci * @type { ?number } 567761847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 567861847f8eSopenharmony_ci * @crossplatform 567961847f8eSopenharmony_ci * @atomicservice 568061847f8eSopenharmony_ci * @since 12 568161847f8eSopenharmony_ci */ 568261847f8eSopenharmony_ci maxLength?: number; 568361847f8eSopenharmony_ci 568461847f8eSopenharmony_ci /** 568561847f8eSopenharmony_ci * The CertChain validation parameters. 568661847f8eSopenharmony_ci * 568761847f8eSopenharmony_ci * @type { CertChainValidationParameters } 568861847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 568961847f8eSopenharmony_ci * @crossplatform 569061847f8eSopenharmony_ci * @atomicservice 569161847f8eSopenharmony_ci * @since 12 569261847f8eSopenharmony_ci */ 569361847f8eSopenharmony_ci validationParameters: CertChainValidationParameters; 569461847f8eSopenharmony_ci } 569561847f8eSopenharmony_ci 569661847f8eSopenharmony_ci /** 569761847f8eSopenharmony_ci * Certification chain build result. 569861847f8eSopenharmony_ci * 569961847f8eSopenharmony_ci * @typedef CertChainBuildResult 570061847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 570161847f8eSopenharmony_ci * @crossplatform 570261847f8eSopenharmony_ci * @atomicservice 570361847f8eSopenharmony_ci * @since 12 570461847f8eSopenharmony_ci */ 570561847f8eSopenharmony_ci interface CertChainBuildResult { 570661847f8eSopenharmony_ci /** 570761847f8eSopenharmony_ci * The certificate chain of build result. 570861847f8eSopenharmony_ci * 570961847f8eSopenharmony_ci * @type { X509CertChain } 571061847f8eSopenharmony_ci * @readonly 571161847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 571261847f8eSopenharmony_ci * @crossplatform 571361847f8eSopenharmony_ci * @atomicservice 571461847f8eSopenharmony_ci * @since 12 571561847f8eSopenharmony_ci */ 571661847f8eSopenharmony_ci readonly certChain: X509CertChain; 571761847f8eSopenharmony_ci 571861847f8eSopenharmony_ci /** 571961847f8eSopenharmony_ci * The certificate chain validation result. 572061847f8eSopenharmony_ci * 572161847f8eSopenharmony_ci * @type { CertChainValidationResult } 572261847f8eSopenharmony_ci * @readonly 572361847f8eSopenharmony_ci * @syscap SystemCapability.Security.Cert 572461847f8eSopenharmony_ci * @crossplatform 572561847f8eSopenharmony_ci * @atomicservice 572661847f8eSopenharmony_ci * @since 12 572761847f8eSopenharmony_ci */ 572861847f8eSopenharmony_ci readonly validationResult: CertChainValidationResult; 572961847f8eSopenharmony_ci } 573061847f8eSopenharmony_ci} 573161847f8eSopenharmony_ci 573261847f8eSopenharmony_ciexport default cert; 5733