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