1e41f4b71Sopenharmony_ci# Certificate Changelog
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ci##  cl.cert.1 Change of X509Crl Interfaces
4e41f4b71Sopenharmony_ci
5e41f4b71Sopenharmony_ci**Access Level**
6e41f4b71Sopenharmony_ci
7e41f4b71Sopenharmony_ciOpen API
8e41f4b71Sopenharmony_ci
9e41f4b71Sopenharmony_ci**Reason for Change**
10e41f4b71Sopenharmony_ci
11e41f4b71Sopenharmony_ci- Changed **X509crl** interfaces to **X509CRL** interfaces to comply with the CRL description defined in specifications.
12e41f4b71Sopenharmony_ci- Changed the type of **serialNumber** in **getRevokedCert** from number to bigint to comply with the certificate serial number defined in specifications.
13e41f4b71Sopenharmony_ci
14e41f4b71Sopenharmony_ci
15e41f4b71Sopenharmony_ci**Change Impact**
16e41f4b71Sopenharmony_ci
17e41f4b71Sopenharmony_ciThis change is a non-compatible change. Since API version 11, use **X509CRL** interfaces instead of **X509Crl** interfaces. The interface functionality remains unchanged.
18e41f4b71Sopenharmony_ci
19e41f4b71Sopenharmony_ci**Change Since**
20e41f4b71Sopenharmony_ci
21e41f4b71Sopenharmony_ciOpenHarmony SDK 4.1.3.5
22e41f4b71Sopenharmony_ci
23e41f4b71Sopenharmony_ci**Key API/Component Changes**
24e41f4b71Sopenharmony_ci
25e41f4b71Sopenharmony_ciBefore change:
26e41f4b71Sopenharmony_ci
27e41f4b71Sopenharmony_ci ```js
28e41f4b71Sopenharmony_ciinterface X509Crl {
29e41f4b71Sopenharmony_ci    ...
30e41f4b71Sopenharmony_ci    getRevokedCert(serialNumber: number): X509CrlEntry;
31e41f4b71Sopenharmony_ci    getRevokedCertWithCert(cert: X509Cert): X509CrlEntry;
32e41f4b71Sopenharmony_ci    getRevokedCerts(callback: AsyncCallback<Array<X509CrlEntry>>): void;
33e41f4b71Sopenharmony_ci    getRevokedCerts(): Promise<Array<X509CrlEntry>>;
34e41f4b71Sopenharmony_ci    getTbsInfo(): DataBlob;    
35e41f4b71Sopenharmony_ci    ...
36e41f4b71Sopenharmony_ci};
37e41f4b71Sopenharmony_cifunction createX509Crl(inStream: EncodingBlob, callback: AsyncCallback<X509Crl>): void;
38e41f4b71Sopenharmony_cifunction createX509Crl(inStream: EncodingBlob): Promise<X509Crl>;
39e41f4b71Sopenharmony_ci ```
40e41f4b71Sopenharmony_ci
41e41f4b71Sopenharmony_ciAfter change:
42e41f4b71Sopenharmony_ci
43e41f4b71Sopenharmony_ci ```js
44e41f4b71Sopenharmony_ciinterface X509CRL {
45e41f4b71Sopenharmony_ci    ...
46e41f4b71Sopenharmony_ci    getRevokedCert(serialNumber: bigint): X509CRLEntry;
47e41f4b71Sopenharmony_ci    getRevokedCertWithCert(cert: X509Cert): X509CRLEntry;
48e41f4b71Sopenharmony_ci    getRevokedCerts(callback: AsyncCallback<Array<X509CRLEntry>>): void;
49e41f4b71Sopenharmony_ci    getRevokedCerts(): Promise<Array<X509CRLEntry>>;
50e41f4b71Sopenharmony_ci    getTBSInfo(): DataBlob;    
51e41f4b71Sopenharmony_ci    ...
52e41f4b71Sopenharmony_ci};
53e41f4b71Sopenharmony_cifunction createX509CRL(inStream: EncodingBlob, callback: AsyncCallback<X509CRL>): void;
54e41f4b71Sopenharmony_cifunction createX509CRL(inStream: EncodingBlob): Promise<X509CRL>;
55e41f4b71Sopenharmony_ci ```
56e41f4b71Sopenharmony_ci
57e41f4b71Sopenharmony_ci**Adaptation Guide**
58e41f4b71Sopenharmony_ci
59e41f4b71Sopenharmony_ciSee [Certificate Development Guide](../../../application-dev/security/cert-guidelines.md) and [Certificate APIs](../../../application-dev/reference/apis/js-apis-cert.md).
60e41f4b71Sopenharmony_ci
61e41f4b71Sopenharmony_ci##  cl.cert.2 X509CrlEntry Interface Change
62e41f4b71Sopenharmony_ci
63e41f4b71Sopenharmony_ci**Access Level**
64e41f4b71Sopenharmony_ci
65e41f4b71Sopenharmony_ciOpen API
66e41f4b71Sopenharmony_ci
67e41f4b71Sopenharmony_ci**Reason for Change**
68e41f4b71Sopenharmony_ci
69e41f4b71Sopenharmony_ci- Changed the **X509CrlEntry** interfaces to **X509CRLEntry** interfaces to comply with the CRL description defined in specifications.
70e41f4b71Sopenharmony_ci
71e41f4b71Sopenharmony_ci- Changed the type of the return value of **getSerialNumber** from number to bigint to comply with the certificate serial number defined in specifications.
72e41f4b71Sopenharmony_ci
73e41f4b71Sopenharmony_ci**Change Impact**
74e41f4b71Sopenharmony_ci
75e41f4b71Sopenharmony_ciThis change is a non-compatible change. Since API version 11, use the **X509CRLEntry** interfaces instead of the **X509CrlEntry** interfaces.
76e41f4b71Sopenharmony_ci
77e41f4b71Sopenharmony_ci**Change Since**
78e41f4b71Sopenharmony_ci
79e41f4b71Sopenharmony_ciOpenHarmony SDK 4.1.3.5
80e41f4b71Sopenharmony_ci
81e41f4b71Sopenharmony_ci**Key API/Component Changes**
82e41f4b71Sopenharmony_ci
83e41f4b71Sopenharmony_ciBefore change:
84e41f4b71Sopenharmony_ci
85e41f4b71Sopenharmony_ci ```js
86e41f4b71Sopenharmony_ciinterface X509CrlEntry {
87e41f4b71Sopenharmony_ci  ...
88e41f4b71Sopenharmony_ci  getSerialNumber(): number;
89e41f4b71Sopenharmony_ci  ...
90e41f4b71Sopenharmony_ci}
91e41f4b71Sopenharmony_ci ```
92e41f4b71Sopenharmony_ci
93e41f4b71Sopenharmony_ciAfter change:
94e41f4b71Sopenharmony_ci
95e41f4b71Sopenharmony_ci ```js
96e41f4b71Sopenharmony_ciinterface X509CRLEntry {
97e41f4b71Sopenharmony_ci  ...
98e41f4b71Sopenharmony_ci  getSerialNumber(): bigint;
99e41f4b71Sopenharmony_ci  ...
100e41f4b71Sopenharmony_ci}
101e41f4b71Sopenharmony_ci ```
102e41f4b71Sopenharmony_ci
103e41f4b71Sopenharmony_ci**Adaptation Guide**
104e41f4b71Sopenharmony_ci
105e41f4b71Sopenharmony_ciSee [Certificate Development Guide](../../../application-dev/security/cert-guidelines.md) and [Certificate APIs](../../../application-dev/reference/apis/js-apis-cert.md).
106