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