1e41f4b71Sopenharmony_ci# Security Subsystem ChangeLog 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ci## cl.security.1 Change of the setSeed API of Random from Asynchronous to Synchronous 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ci**Change Impacts** 6e41f4b71Sopenharmony_ci 7e41f4b71Sopenharmony_ciBehavior of released JavaScript APIs will be changed. 8e41f4b71Sopenharmony_ciThe application needs to adapt these APIs so that it can be properly compiled in the SDK environment of the new version. 9e41f4b71Sopenharmony_ci 10e41f4b71Sopenharmony_ci**Key API/Component Changes** 11e41f4b71Sopenharmony_ciAPI prototype before the change: 12e41f4b71Sopenharmony_cisetSeed(seed : DataBlob, callback : AsyncCallback\<void>) : void; 13e41f4b71Sopenharmony_cisetSeed(seed : DataBlob) : Promise\<void>; 14e41f4b71Sopenharmony_ciAPI prototype after the change: 15e41f4b71Sopenharmony_cisetSeed(seed : DataBlob) : void; 16e41f4b71Sopenharmony_ci 17e41f4b71Sopenharmony_ci**Adaptation Guide** 18e41f4b71Sopenharmony_ciSee the API adaptation guide of **setSeed** in the API reference: 19e41f4b71Sopenharmony_ci[Crypto Framework - API Reference](https://gitee.com/openharmony/docs/blob/master/en/application-dev/reference/apis/js-apis-cryptoFramework.md) 20e41f4b71Sopenharmony_ci 21e41f4b71Sopenharmony_ci 22e41f4b71Sopenharmony_ci## cl.security.2 Migration of interface DataArray from @ohos.security.cryptoFramework.d.ts to @ohos.security.cert.d.ts 23e41f4b71Sopenharmony_ci**Change Impacts** 24e41f4b71Sopenharmony_ci 25e41f4b71Sopenharmony_ciBehavior of released JavaScript APIs will be changed. 26e41f4b71Sopenharmony_ciThe application needs to adapt these APIs so that it can be properly compiled in the SDK environment of the new version. 27e41f4b71Sopenharmony_ci 28e41f4b71Sopenharmony_ci**Key API/Component Changes** 29e41f4b71Sopenharmony_ciMigrated **interface DataArray** from **@ohos.security.cryptoFramework.d.ts** to **@ohos.security.cert.d.ts**. 30e41f4b71Sopenharmony_ci 31e41f4b71Sopenharmony_ci**Adaptation Guide** 32e41f4b71Sopenharmony_ciImport and use the new .d.ts file: 33e41f4b71Sopenharmony_ciimport cryptoCert from '@ohos.security.cert'; 34e41f4b71Sopenharmony_ciSee the corresponding API adaptation guide in the API reference: 35e41f4b71Sopenharmony_ci[Certificate - API Reference](https://gitee.com/openharmony/docs/blob/master/en/application-dev/reference/apis/js-apis-cert.md) 36e41f4b71Sopenharmony_ci 37e41f4b71Sopenharmony_ci 38e41f4b71Sopenharmony_ci## cl.security.3 Migration of interface EncodingFormat from @ohos.security.cryptoFramework.d.ts to @ohos.security.cert.d.ts 39e41f4b71Sopenharmony_ci**Change Impacts** 40e41f4b71Sopenharmony_ci 41e41f4b71Sopenharmony_ciBehavior of released JavaScript APIs will be changed. 42e41f4b71Sopenharmony_ciThe application needs to adapt these APIs so that it can be properly compiled in the SDK environment of the new version. 43e41f4b71Sopenharmony_ci 44e41f4b71Sopenharmony_ci**Key API/Component Changes** 45e41f4b71Sopenharmony_ciMigrated **interface EncodingFormat** from **@ohos.security.cryptoFramework.d.ts** to **@ohos.security.cert.d.ts**. 46e41f4b71Sopenharmony_ci 47e41f4b71Sopenharmony_ci**Adaptation Guide** 48e41f4b71Sopenharmony_ciImport and use the new .d.ts file: 49e41f4b71Sopenharmony_ciimport cryptoCert from '@ohos.security.cert'; 50e41f4b71Sopenharmony_ciSee the corresponding API adaptation guide in the API reference: 51e41f4b71Sopenharmony_ci[Certificate - API Reference](https://gitee.com/openharmony/docs/blob/master/en/application-dev/reference/apis/js-apis-cert.md) 52e41f4b71Sopenharmony_ci 53e41f4b71Sopenharmony_ci 54e41f4b71Sopenharmony_ci## cl.security.4 Migration of interface EncodingBlob from @ohos.security.cryptoFramework.d.ts to @ohos.security.cert.d.ts 55e41f4b71Sopenharmony_ci**Change Impacts** 56e41f4b71Sopenharmony_ci 57e41f4b71Sopenharmony_ciBehavior of released JavaScript APIs will be changed. 58e41f4b71Sopenharmony_ciThe application needs to adapt these APIs so that it can be properly compiled in the SDK environment of the new version. 59e41f4b71Sopenharmony_ci 60e41f4b71Sopenharmony_ci**Key API/Component Changes** 61e41f4b71Sopenharmony_ciMigrated **interface EncodingBlob** from **@ohos.security.cryptoFramework.d.ts** to **@ohos.security.cert.d.ts**. 62e41f4b71Sopenharmony_ci 63e41f4b71Sopenharmony_ci**Adaptation Guide** 64e41f4b71Sopenharmony_ciImport and use the new .d.ts file: 65e41f4b71Sopenharmony_ciimport cryptoCert from '@ohos.security.cert'; 66e41f4b71Sopenharmony_ciSee the corresponding API adaptation guide in the API reference: 67e41f4b71Sopenharmony_ci[Certificate - API Reference](https://gitee.com/openharmony/docs/blob/master/en/application-dev/reference/apis/js-apis-cert.md) 68e41f4b71Sopenharmony_ci 69e41f4b71Sopenharmony_ci 70e41f4b71Sopenharmony_ci## cl.security.5 Migration of interface CertChainData from @ohos.security.cryptoFramework.d.ts to @ohos.security.cert.d.ts 71e41f4b71Sopenharmony_ci**Change Impacts** 72e41f4b71Sopenharmony_ci 73e41f4b71Sopenharmony_ciBehavior of released JavaScript APIs will be changed. 74e41f4b71Sopenharmony_ciThe application needs to adapt these APIs so that it can be properly compiled in the SDK environment of the new version. 75e41f4b71Sopenharmony_ci 76e41f4b71Sopenharmony_ci**Key API/Component Changes** 77e41f4b71Sopenharmony_ciMigrated **interface CertChainData** from **@ohos.security.cryptoFramework.d.ts** to **@ohos.security.cert.d.ts**. 78e41f4b71Sopenharmony_ci 79e41f4b71Sopenharmony_ci**Adaptation Guide** 80e41f4b71Sopenharmony_ciImport and use the new .d.ts file: 81e41f4b71Sopenharmony_ciimport cryptoCert from '@ohos.security.cert'; 82e41f4b71Sopenharmony_ciSee the corresponding API adaptation guide in the API reference: 83e41f4b71Sopenharmony_ci[Certificate - API Reference](https://gitee.com/openharmony/docs/blob/master/en/application-dev/reference/apis/js-apis-cert.md) 84e41f4b71Sopenharmony_ci 85e41f4b71Sopenharmony_ci 86e41f4b71Sopenharmony_ci## cl.security.6 Migration of interface X509Cert from @ohos.security.cryptoFramework.d.ts to @ohos.security.cert.d.ts 87e41f4b71Sopenharmony_ci**Change Impacts** 88e41f4b71Sopenharmony_ci 89e41f4b71Sopenharmony_ciBehavior of released JavaScript APIs will be changed. 90e41f4b71Sopenharmony_ciThe application needs to adapt these APIs so that it can be properly compiled in the SDK environment of the new version. 91e41f4b71Sopenharmony_ci 92e41f4b71Sopenharmony_ci**Key API/Component Changes** 93e41f4b71Sopenharmony_ciMigrated **interface X509Cert** from **@ohos.security.cryptoFramework.d.ts** to **@ohos.security.cert.d.ts**. 94e41f4b71Sopenharmony_ci 95e41f4b71Sopenharmony_ci**Adaptation Guide** 96e41f4b71Sopenharmony_ciImport and use the new .d.ts file: 97e41f4b71Sopenharmony_ciimport cryptoCert from '@ohos.security.cert'; 98e41f4b71Sopenharmony_ciSee the corresponding API adaptation guide in the API reference: 99e41f4b71Sopenharmony_ci[Certificate - API Reference](https://gitee.com/openharmony/docs/blob/master/en/application-dev/reference/apis/js-apis-cert.md) 100e41f4b71Sopenharmony_ci 101e41f4b71Sopenharmony_ci 102e41f4b71Sopenharmony_ci## cl.security.7 Migration of function createX509Cert from @ohos.security.cryptoFramework.d.ts to @ohos.security.cert.d.ts 103e41f4b71Sopenharmony_ci**Change Impacts** 104e41f4b71Sopenharmony_ci 105e41f4b71Sopenharmony_ciBehavior of released JavaScript APIs will be changed. 106e41f4b71Sopenharmony_ciThe application needs to adapt these APIs so that it can be properly compiled in the SDK environment of the new version. 107e41f4b71Sopenharmony_ci 108e41f4b71Sopenharmony_ci**Key API/Component Changes** 109e41f4b71Sopenharmony_ciMigrated **function createX509Cert** from **@ohos.security.cryptoFramework.d.ts** to **@ohos.security.cert.d.ts**. 110e41f4b71Sopenharmony_ci 111e41f4b71Sopenharmony_ci**Adaptation Guide** 112e41f4b71Sopenharmony_ciImport and use the new .d.ts file: 113e41f4b71Sopenharmony_ciimport cryptoCert from '@ohos.security.cert'; 114e41f4b71Sopenharmony_ciSee the corresponding API adaptation guide in the API reference: 115e41f4b71Sopenharmony_ci[Certificate - API Reference](https://gitee.com/openharmony/docs/blob/master/en/application-dev/reference/apis/js-apis-cert.md) 116e41f4b71Sopenharmony_ci 117e41f4b71Sopenharmony_ci 118e41f4b71Sopenharmony_ci## cl.security.8 Migration of interface X509CrlEntry from @ohos.security.cryptoFramework.d.ts to @ohos.security.cert.d.ts. 119e41f4b71Sopenharmony_ci**Change Impacts** 120e41f4b71Sopenharmony_ci 121e41f4b71Sopenharmony_ciBehavior of released JavaScript APIs will be changed. 122e41f4b71Sopenharmony_ciThe application needs to adapt these APIs so that it can be properly compiled in the SDK environment of the new version. 123e41f4b71Sopenharmony_ci 124e41f4b71Sopenharmony_ci**Key API/Component Changes** 125e41f4b71Sopenharmony_ciMigrated **interface X509CrlEntry** from **@ohos.security.cryptoFramework.d.ts** to **@ohos.security.cert.d.ts**. 126e41f4b71Sopenharmony_ci 127e41f4b71Sopenharmony_ci**Adaptation Guide** 128e41f4b71Sopenharmony_ciImport and use the new .d.ts file: 129e41f4b71Sopenharmony_ciimport cryptoCert from '@ohos.security.cert'; 130e41f4b71Sopenharmony_ciSee the corresponding API adaptation guide in the API reference: 131e41f4b71Sopenharmony_ci[Certificate - API Reference](https://gitee.com/openharmony/docs/blob/master/en/application-dev/reference/apis/js-apis-cert.md) 132e41f4b71Sopenharmony_ci 133e41f4b71Sopenharmony_ci 134e41f4b71Sopenharmony_ci## cl.security.9 Migration of interface X509Crl from @ohos.security.cryptoFramework.d.ts to @ohos.security.cert.d.ts 135e41f4b71Sopenharmony_ci**Change Impacts** 136e41f4b71Sopenharmony_ci 137e41f4b71Sopenharmony_ciBehavior of released JavaScript APIs will be changed. 138e41f4b71Sopenharmony_ciThe application needs to adapt these APIs so that it can be properly compiled in the SDK environment of the new version. 139e41f4b71Sopenharmony_ci 140e41f4b71Sopenharmony_ci**Key API/Component Changes** 141e41f4b71Sopenharmony_ciMigrated **interface X509Crl** from **@ohos.security.cryptoFramework.d.ts** to **@ohos.security.cert.d.ts**. 142e41f4b71Sopenharmony_ci 143e41f4b71Sopenharmony_ci**Adaptation Guide** 144e41f4b71Sopenharmony_ciImport and use the new .d.ts file: 145e41f4b71Sopenharmony_ciimport cryptoCert from '@ohos.security.cert'; 146e41f4b71Sopenharmony_ciSee the corresponding API adaptation guide in the API reference: 147e41f4b71Sopenharmony_ci[Certificate - API Reference](https://gitee.com/openharmony/docs/blob/master/en/application-dev/reference/apis/js-apis-cert.md) 148e41f4b71Sopenharmony_ci 149e41f4b71Sopenharmony_ci 150e41f4b71Sopenharmony_ci## cl.security.10 Migration of function createX509Crl from @ohos.security.cryptoFramework.d.ts to @ohos.security.cert.d.ts 151e41f4b71Sopenharmony_ci**Change Impacts** 152e41f4b71Sopenharmony_ci 153e41f4b71Sopenharmony_ciBehavior of released JavaScript APIs will be changed. 154e41f4b71Sopenharmony_ciThe application needs to adapt these APIs so that it can be properly compiled in the SDK environment of the new version. 155e41f4b71Sopenharmony_ci 156e41f4b71Sopenharmony_ci**Key API/Component Changes** 157e41f4b71Sopenharmony_ciMigrated **function createX509Crl** from **@ohos.security.cryptoFramework.d.ts** to **@ohos.security.cert.d.ts**. 158e41f4b71Sopenharmony_ci 159e41f4b71Sopenharmony_ci**Adaptation Guide** 160e41f4b71Sopenharmony_ciImport and use the new .d.ts file: 161e41f4b71Sopenharmony_ciimport cryptoCert from '@ohos.security.cert'; 162e41f4b71Sopenharmony_ciSee the corresponding API adaptation guide in the API reference: 163e41f4b71Sopenharmony_ci[Certificate - API Reference](https://gitee.com/openharmony/docs/blob/master/en/application-dev/reference/apis/js-apis-cert.md) 164e41f4b71Sopenharmony_ci 165e41f4b71Sopenharmony_ci 166e41f4b71Sopenharmony_ci## cl.security.11 Migration of interface CertChainValidator from @ohos.security.cryptoFramework.d.ts to @ohos.security.cert.d.ts 167e41f4b71Sopenharmony_ci**Change Impacts** 168e41f4b71Sopenharmony_ci 169e41f4b71Sopenharmony_ciBehavior of released JavaScript APIs will be changed. 170e41f4b71Sopenharmony_ciThe application needs to adapt these APIs so that it can be properly compiled in the SDK environment of the new version. 171e41f4b71Sopenharmony_ci 172e41f4b71Sopenharmony_ci**Key API/Component Changes** 173e41f4b71Sopenharmony_ciMigrated **interface CertChainValidator** from **@ohos.security.cryptoFramework.d.ts** to **@ohos.security.cert.d.ts**. 174e41f4b71Sopenharmony_ci 175e41f4b71Sopenharmony_ci**Adaptation Guide** 176e41f4b71Sopenharmony_ciImport and use the new .d.ts file: 177e41f4b71Sopenharmony_ciimport cryptoCert from '@ohos.security.cert'; 178e41f4b71Sopenharmony_ciSee the corresponding API adaptation guide in the API reference: 179e41f4b71Sopenharmony_ci[Certificate - API Reference](https://gitee.com/openharmony/docs/blob/master/en/application-dev/reference/apis/js-apis-cert.md) 180e41f4b71Sopenharmony_ci 181e41f4b71Sopenharmony_ci 182e41f4b71Sopenharmony_ci## cl.security.12 Migration of function createCertChainValidator from @ohos.security.cryptoFramework.d.ts to @ohos.security.cert.d.ts 183e41f4b71Sopenharmony_ci**Change Impacts** 184e41f4b71Sopenharmony_ci 185e41f4b71Sopenharmony_ciBehavior of released JavaScript APIs will be changed. 186e41f4b71Sopenharmony_ciThe application needs to adapt these APIs so that it can be properly compiled in the SDK environment of the new version. 187e41f4b71Sopenharmony_ci 188e41f4b71Sopenharmony_ci**Key API/Component Changes** 189e41f4b71Sopenharmony_ciMigrated **function createCertChainValidator** from **@ohos.security.cryptoFramework.d.ts** to **@ohos.security.cert.d.ts**. 190e41f4b71Sopenharmony_ci 191e41f4b71Sopenharmony_ci**Adaptation Guide** 192e41f4b71Sopenharmony_ciImport and use the new .d.ts file: 193e41f4b71Sopenharmony_ciimport cryptoCert from '@ohos.security.cert'; 194e41f4b71Sopenharmony_ciSee the corresponding API adaptation guide in the API reference: 195e41f4b71Sopenharmony_ci[Certificate - API Reference](https://gitee.com/openharmony/docs/blob/master/en/application-dev/reference/apis/js-apis-cert.md) 196e41f4b71Sopenharmony_ci 197e41f4b71Sopenharmony_ci 198e41f4b71Sopenharmony_ci## cl.security.13 Change of the getPublicKey API of X509Cert from Asynchronous to Synchronous 199e41f4b71Sopenharmony_ci**Change Impacts** 200e41f4b71Sopenharmony_ci 201e41f4b71Sopenharmony_ciBehavior of released JavaScript APIs will be changed. 202e41f4b71Sopenharmony_ciThe application needs to adapt these APIs so that it can be properly compiled in the SDK environment of the new version. 203e41f4b71Sopenharmony_ci 204e41f4b71Sopenharmony_ci**Key API/Component Changes** 205e41f4b71Sopenharmony_ciAPI prototype before the change: 206e41f4b71Sopenharmony_cigetPublicKey(callback : AsyncCallback\<PubKey>) : void; 207e41f4b71Sopenharmony_cigetPublicKey() : Promise\<PubKey>; 208e41f4b71Sopenharmony_ciAPI prototype after the change: 209e41f4b71Sopenharmony_cigetPublicKey() : cryptoFramework.PubKey; 210e41f4b71Sopenharmony_ci 211e41f4b71Sopenharmony_ci**Adaptation Guide** 212e41f4b71Sopenharmony_ciSee the corresponding API adaptation guide in the API reference: 213e41f4b71Sopenharmony_ci[Certificate - API Reference](https://gitee.com/openharmony/docs/blob/master/en/application-dev/reference/apis/js-apis-cert.md) 214e41f4b71Sopenharmony_ci 215e41f4b71Sopenharmony_ci 216e41f4b71Sopenharmony_ci## cl.security.14 Change of the checkValidityWithDate API of X509Cert from Asynchronous to Synchronous 217e41f4b71Sopenharmony_ci**Change Impacts** 218e41f4b71Sopenharmony_ci 219e41f4b71Sopenharmony_ciBehavior of released JavaScript APIs will be changed. 220e41f4b71Sopenharmony_ciThe application needs to adapt these APIs so that it can be properly compiled in the SDK environment of the new version. 221e41f4b71Sopenharmony_ci 222e41f4b71Sopenharmony_ci**Key API/Component Changes** 223e41f4b71Sopenharmony_ciAPI prototype before the change: 224e41f4b71Sopenharmony_cicheckValidityWithDate(date: string, callback : AsyncCallback\<void>) : void; 225e41f4b71Sopenharmony_cicheckValidityWithDate(date: string) : Promise\<void>; 226e41f4b71Sopenharmony_ciAPI prototype after the change: 227e41f4b71Sopenharmony_cicheckValidityWithDate(date: string) : void; 228e41f4b71Sopenharmony_ci 229e41f4b71Sopenharmony_ci**Adaptation Guide** 230e41f4b71Sopenharmony_ciSee the corresponding API adaptation guide in the API reference: 231e41f4b71Sopenharmony_ci[Certificate - API Reference](https://gitee.com/openharmony/docs/blob/master/en/application-dev/reference/apis/js-apis-cert.md) 232e41f4b71Sopenharmony_ci 233e41f4b71Sopenharmony_ci 234e41f4b71Sopenharmony_ci## cl.security.15 Change of the getCertIssuer API of X509CrlEntry from Asynchronous to Synchronous 235e41f4b71Sopenharmony_ci**Change Impacts** 236e41f4b71Sopenharmony_ci 237e41f4b71Sopenharmony_ciBehavior of released JavaScript APIs will be changed. 238e41f4b71Sopenharmony_ciThe application needs to adapt these APIs so that it can be properly compiled in the SDK environment of the new version. 239e41f4b71Sopenharmony_ci 240e41f4b71Sopenharmony_ci**Key API/Component Changes** 241e41f4b71Sopenharmony_ciAPI prototype before the change: 242e41f4b71Sopenharmony_cigetCertIssuer(callback : AsyncCallback\<DataBlob>) : void; 243e41f4b71Sopenharmony_cigetCertIssuer() : Promise\<DataBlob>; 244e41f4b71Sopenharmony_ci 245e41f4b71Sopenharmony_ciAPI prototype after the change: 246e41f4b71Sopenharmony_cigetCertIssuer() : DataBlob; 247e41f4b71Sopenharmony_ci 248e41f4b71Sopenharmony_ci**Adaptation Guide** 249e41f4b71Sopenharmony_ciSee the corresponding API adaptation guide in the API reference: 250e41f4b71Sopenharmony_ci[Certificate - API Reference](https://gitee.com/openharmony/docs/blob/master/en/application-dev/reference/apis/js-apis-cert.md) 251e41f4b71Sopenharmony_ci 252e41f4b71Sopenharmony_ci 253e41f4b71Sopenharmony_ci## cl.security.16 Change of the getRevocationDate API of X509CrlEntry from Asynchronous to Synchronous 254e41f4b71Sopenharmony_ci**Change Impacts** 255e41f4b71Sopenharmony_ci 256e41f4b71Sopenharmony_ciBehavior of released JavaScript APIs will be changed. 257e41f4b71Sopenharmony_ciThe application needs to adapt these APIs so that it can be properly compiled in the SDK environment of the new version. 258e41f4b71Sopenharmony_ci 259e41f4b71Sopenharmony_ci**Key API/Component Changes** 260e41f4b71Sopenharmony_ciAPI prototype before the change: 261e41f4b71Sopenharmony_cigetRevocationDate(callback : AsyncCallback\<string>) : void; 262e41f4b71Sopenharmony_cigetRevocationDate() : Promise\<string>; 263e41f4b71Sopenharmony_ci 264e41f4b71Sopenharmony_ciAPI prototype after the change: 265e41f4b71Sopenharmony_cigetRevocationDate() : string; 266e41f4b71Sopenharmony_ci 267e41f4b71Sopenharmony_ci**Adaptation Guide** 268e41f4b71Sopenharmony_ciSee the corresponding API adaptation guide in the API reference: 269e41f4b71Sopenharmony_ci[Certificate - API Reference](https://gitee.com/openharmony/docs/blob/master/en/application-dev/reference/apis/js-apis-cert.md) 270e41f4b71Sopenharmony_ci 271e41f4b71Sopenharmony_ci 272e41f4b71Sopenharmony_ci## cl.security.17 Change of the isRevoked API of X509Crl from Asynchronous to Synchronous 273e41f4b71Sopenharmony_ci**Change Impacts** 274e41f4b71Sopenharmony_ci 275e41f4b71Sopenharmony_ciBehavior of released JavaScript APIs will be changed. 276e41f4b71Sopenharmony_ciThe application needs to adapt these APIs so that it can be properly compiled in the SDK environment of the new version. 277e41f4b71Sopenharmony_ci 278e41f4b71Sopenharmony_ci**Key API/Component Changes** 279e41f4b71Sopenharmony_ciAPI prototype before the change: 280e41f4b71Sopenharmony_ciisRevoked(cert : X509Cert, callback : AsyncCallback\<boolean>) : void; 281e41f4b71Sopenharmony_ciisRevoked(cert : X509Cert) : Promise\<boolean>; 282e41f4b71Sopenharmony_ci 283e41f4b71Sopenharmony_ciAPI prototype after the change: 284e41f4b71Sopenharmony_ciisRevoked(cert : X509Cert) : boolean; 285e41f4b71Sopenharmony_ci 286e41f4b71Sopenharmony_ci**Adaptation Guide** 287e41f4b71Sopenharmony_ciSee the corresponding API adaptation guide in the API reference: 288e41f4b71Sopenharmony_ci[Certificate - API Reference](https://gitee.com/openharmony/docs/blob/master/en/application-dev/reference/apis/js-apis-cert.md) 289e41f4b71Sopenharmony_ci 290e41f4b71Sopenharmony_ci 291e41f4b71Sopenharmony_ci## cl.security.18 Change of the getRevokedCert API of X509Crl from Asynchronous to Synchronous 292e41f4b71Sopenharmony_ci**Change Impacts** 293e41f4b71Sopenharmony_ci 294e41f4b71Sopenharmony_ciBehavior of released JavaScript APIs will be changed. 295e41f4b71Sopenharmony_ciThe application needs to adapt these APIs so that it can be properly compiled in the SDK environment of the new version. 296e41f4b71Sopenharmony_ci 297e41f4b71Sopenharmony_ci**Key API/Component Changes** 298e41f4b71Sopenharmony_ciAPI prototype before the change: 299e41f4b71Sopenharmony_cigetRevokedCert(serialNumber : number, callback : AsyncCallback\<X509CrlEntry>) : void; 300e41f4b71Sopenharmony_cigetRevokedCert(serialNumber : number) : Promise\<X509CrlEntry>; 301e41f4b71Sopenharmony_ci 302e41f4b71Sopenharmony_ciAPI prototype after the change: 303e41f4b71Sopenharmony_cigetRevokedCert(serialNumber : number) : X509CrlEntry; 304e41f4b71Sopenharmony_ci 305e41f4b71Sopenharmony_ci**Adaptation Guide** 306e41f4b71Sopenharmony_ciSee the corresponding API adaptation guide in the API reference: 307e41f4b71Sopenharmony_ci[Certificate - API Reference](https://gitee.com/openharmony/docs/blob/master/en/application-dev/reference/apis/js-apis-cert.md) 308e41f4b71Sopenharmony_ci 309e41f4b71Sopenharmony_ci 310e41f4b71Sopenharmony_ci## cl.security.19 Change of the getRevokedCertWithCert API of X509Crl from Asynchronous to Synchronous 311e41f4b71Sopenharmony_ci**Change Impacts** 312e41f4b71Sopenharmony_ci 313e41f4b71Sopenharmony_ciBehavior of released JavaScript APIs will be changed. 314e41f4b71Sopenharmony_ciThe application needs to adapt these APIs so that it can be properly compiled in the SDK environment of the new version. 315e41f4b71Sopenharmony_ci 316e41f4b71Sopenharmony_ci**Key API/Component Changes** 317e41f4b71Sopenharmony_ciAPI prototype before the change: 318e41f4b71Sopenharmony_cigetRevokedCertWithCert(cert : X509Cert, callback : AsyncCallback\<X509CrlEntry>) : void; 319e41f4b71Sopenharmony_cigetRevokedCertWithCert(cert : X509Cert) : Promise\<X509CrlEntry>; 320e41f4b71Sopenharmony_ci 321e41f4b71Sopenharmony_ciAPI prototype after the change: 322e41f4b71Sopenharmony_cigetRevokedCertWithCert(cert : X509Cert) : X509CrlEntry; 323e41f4b71Sopenharmony_ci 324e41f4b71Sopenharmony_ci**Adaptation Guide** 325e41f4b71Sopenharmony_ciSee the corresponding API adaptation guide in the API reference: 326e41f4b71Sopenharmony_ci[Certificate - API Reference](https://gitee.com/openharmony/docs/blob/master/en/application-dev/reference/apis/js-apis-cert.md) 327e41f4b71Sopenharmony_ci 328e41f4b71Sopenharmony_ci 329e41f4b71Sopenharmony_ci## cl.security.20 Change of the getTbsInfo API of X509Crl from Asynchronous to Synchronous 330e41f4b71Sopenharmony_ci**Change Impacts** 331e41f4b71Sopenharmony_ci 332e41f4b71Sopenharmony_ciBehavior of released JavaScript APIs will be changed. 333e41f4b71Sopenharmony_ciThe application needs to adapt these APIs so that it can be properly compiled in the SDK environment of the new version. 334e41f4b71Sopenharmony_ci 335e41f4b71Sopenharmony_ci**Key API/Component Changes** 336e41f4b71Sopenharmony_ciAPI prototype before the change: 337e41f4b71Sopenharmony_cigetTbsInfo(callback : AsyncCallback\<DataBlob>) : void; 338e41f4b71Sopenharmony_cigetTbsInfo() : Promise\<DataBlob>; 339e41f4b71Sopenharmony_ci 340e41f4b71Sopenharmony_ciAPI prototype after the change: 341e41f4b71Sopenharmony_cigetTbsInfo() : DataBlob; 342e41f4b71Sopenharmony_ci 343e41f4b71Sopenharmony_ci**Adaptation Guide** 344e41f4b71Sopenharmony_ciSee the corresponding API adaptation guide in the API reference: 345e41f4b71Sopenharmony_ci[Certificate - API Reference](https://gitee.com/openharmony/docs/blob/master/en/application-dev/reference/apis/js-apis-cert.md) 346e41f4b71Sopenharmony_ci 347e41f4b71Sopenharmony_ci## cl.security.21 Support of No-Hash Signing Mode for HUKS 348e41f4b71Sopenharmony_ci 349e41f4b71Sopenharmony_ciBefore the change, the application passes **huks.HuksTag.HUKS_TAG_DIGEST = huks.HuksKeyDigest.HUKS_DIGEST_NONE** and HUKS uses **huks.HuksKeyDigest.HUKS_DIGEST_SHA256** for processing by default. After the change, the application passes **huks.HuksTag.HUKS_TAG_DIGEST = huks.HuksKeyDigest.HUKS_DIGEST_NONE** and HUKS does not perform digest processing by default. In this case, the service needs to perform the hash operation on the original data and then pass the hashed digest to HUKS for signing or signature verification. 350e41f4b71Sopenharmony_ci 351e41f4b71Sopenharmony_ci**Change Impacts** 352e41f4b71Sopenharmony_ci 353e41f4b71Sopenharmony_ciBehavior of released JavaScript APIs will be changed. 354e41f4b71Sopenharmony_ciThe application needs to adapt these APIs so that the signing or signature verification result can be passed before and after the change. 355e41f4b71Sopenharmony_ci 356e41f4b71Sopenharmony_ci**Key API/Component Changes** 357e41f4b71Sopenharmony_ci 358e41f4b71Sopenharmony_ciReleased JavaScript APIs remain unchanged, but parameter sets passed to the APIs are changed. 359e41f4b71Sopenharmony_ci 360e41f4b71Sopenharmony_ciThe service uses the No-Hash signing mode, and needs to hash the original data and then pass the hashed digest to the signing or signature verification API of HUKS. In addition, the **huks.HuksTag.HUKS_TAG_DIGEST** parameter is set to **huks.HuksKeyDigest.HUKS_DIGEST_NONE**. 361e41f4b71Sopenharmony_ci 362e41f4b71Sopenharmony_ci**Adaptation Guide** 363e41f4b71Sopenharmony_ci 364e41f4b71Sopenharmony_ciTake signing as an example. The sample code is as follows: 365e41f4b71Sopenharmony_ci 366e41f4b71Sopenharmony_ci```js 367e41f4b71Sopenharmony_ciimport huks from '@ohos.security.huks'; 368e41f4b71Sopenharmony_ci 369e41f4b71Sopenharmony_cilet keyAlias = 'rsa_Key'; 370e41f4b71Sopenharmony_ci/* Digest value after SHA-256 encryption */ 371e41f4b71Sopenharmony_cilet inDataAfterSha256 = new Uint8Array( 372e41f4b71Sopenharmony_ci 0x4B, 0x1E, 0x22, 0x64, 0xA9, 0x89, 0x60, 0x1D, 0xEC, 0x78, 0xC0, 0x5D, 0xBE, 0x46, 0xAD, 0xCF, 373e41f4b71Sopenharmony_ci 0x1C, 0x35, 0x16, 0x11, 0x34, 0x01, 0x4E, 0x9B, 0x7C, 0x00, 0x66, 0x0E, 0xCA, 0x09, 0xC0, 0xF3, 374e41f4b71Sopenharmony_ci); 375e41f4b71Sopenharmony_ci/* Signing parameters */ 376e41f4b71Sopenharmony_cilet signProperties = new Array(); 377e41f4b71Sopenharmony_cisignProperties[0] = { 378e41f4b71Sopenharmony_ci tag: huks.HuksTag.HUKS_TAG_ALGORITHM, 379e41f4b71Sopenharmony_ci value: huks.HuksKeyAlg.HUKS_ALG_RSA, 380e41f4b71Sopenharmony_ci} 381e41f4b71Sopenharmony_cisignProperties[1] = { 382e41f4b71Sopenharmony_ci tag: huks.HuksTag.HUKS_TAG_PURPOSE, 383e41f4b71Sopenharmony_ci value: 384e41f4b71Sopenharmony_ci huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_SIGN 385e41f4b71Sopenharmony_ci} 386e41f4b71Sopenharmony_cisignProperties[2] = { 387e41f4b71Sopenharmony_ci tag: huks.HuksTag.HUKS_TAG_KEY_SIZE, 388e41f4b71Sopenharmony_ci value: huks.HuksKeySize.HUKS_RSA_KEY_SIZE_2048, 389e41f4b71Sopenharmony_ci} 390e41f4b71Sopenharmony_cisignProperties[3] = { 391e41f4b71Sopenharmony_ci tag: huks.HuksTag.HUKS_TAG_DIGEST, 392e41f4b71Sopenharmony_ci value: huks.HuksKeyDigest.HUKS_DIGEST_NONE, // Set digest-none. 393e41f4b71Sopenharmony_ci} 394e41f4b71Sopenharmony_cilet signOptions = { 395e41f4b71Sopenharmony_ci properties: signProperties, 396e41f4b71Sopenharmony_ci inData: inDataAfterSha256 // Set the value after hashing. 397e41f4b71Sopenharmony_ci} 398e41f4b71Sopenharmony_ci 399e41f4b71Sopenharmony_cihuks.initSession(keyAlias, signOptions); 400e41f4b71Sopenharmony_ci``` 401e41f4b71Sopenharmony_ci 402e41f4b71Sopenharmony_ciFor sample codes of other APIs, see [HUKS guidelines](../../../application-dev/security/huks-guidelines.md) and [HUKS APIs](../../../application-dev/reference/apis/js-apis-huks.md). 403e41f4b71Sopenharmony_ci 404e41f4b71Sopenharmony_ci## cl.security.22 Support of Key Calculation Parameter Specification for HUKS During Key Usage 405e41f4b71Sopenharmony_ci 406e41f4b71Sopenharmony_ciBefore the change, all parameters for key calculation must be specified when the application generates a key. After the change, only mandatory parameters need to be specified when the application generates a key, and other parameters can be specified when the key is used. The application can specify key calculation parameters more flexibly. 407e41f4b71Sopenharmony_ci 408e41f4b71Sopenharmony_ci**Change Impacts** 409e41f4b71Sopenharmony_ci 410e41f4b71Sopenharmony_ciBehavior of released JavaScript APIs will be changed. 411e41f4b71Sopenharmony_ci 412e41f4b71Sopenharmony_ciThe application can specify only mandatory parameters when creating a key and specify other optional parameters when using the key. 413e41f4b71Sopenharmony_ci 414e41f4b71Sopenharmony_ci**Key API/Component Changes** 415e41f4b71Sopenharmony_ci 416e41f4b71Sopenharmony_ciReleased JavaScript APIs remain unchanged, but parameter sets passed to the APIs are changed and parameters are classified into mandatory parameters and optional parameters. For details, see [HUKS guidelines](../../../application-dev/security/huks-guidelines.md). 417e41f4b71Sopenharmony_ci 418e41f4b71Sopenharmony_cihuks.generateKeyItem 419e41f4b71Sopenharmony_ci 420e41f4b71Sopenharmony_cihuks.importKeyItem 421e41f4b71Sopenharmony_ci 422e41f4b71Sopenharmony_cihuks.importWrappedKeyItem 423e41f4b71Sopenharmony_ci 424e41f4b71Sopenharmony_cihuks.initSession 425e41f4b71Sopenharmony_ci 426e41f4b71Sopenharmony_cihuks.updateSession 427e41f4b71Sopenharmony_ci 428e41f4b71Sopenharmony_cihuks.finishSession 429e41f4b71Sopenharmony_ci 430e41f4b71Sopenharmony_ci**Adaptation Guide** 431e41f4b71Sopenharmony_ci 432e41f4b71Sopenharmony_ciTake key generation as an example. The sample code is as follows: 433e41f4b71Sopenharmony_ci 434e41f4b71Sopenharmony_ci```js 435e41f4b71Sopenharmony_cilet keyAlias = 'keyAlias'; 436e41f4b71Sopenharmony_cilet properties = new Array(); 437e41f4b71Sopenharmony_ci// Mandatory parameter. 438e41f4b71Sopenharmony_ciproperties[0] = { 439e41f4b71Sopenharmony_ci tag: huks.HuksTag.HUKS_TAG_ALGORITHM, 440e41f4b71Sopenharmony_ci value: huks.HuksKeyAlg.HUKS_ALG_RSA 441e41f4b71Sopenharmony_ci}; 442e41f4b71Sopenharmony_ci// Mandatory parameter. 443e41f4b71Sopenharmony_ciproperties[1] = { 444e41f4b71Sopenharmony_ci tag: huks.HuksTag.HUKS_TAG_KEY_SIZE, 445e41f4b71Sopenharmony_ci value: huks.HuksKeySize.HUKS_RSA_KEY_SIZE_2048 446e41f4b71Sopenharmony_ci}; 447e41f4b71Sopenharmony_ci// Mandatory parameter. 448e41f4b71Sopenharmony_ciproperties[2] = { 449e41f4b71Sopenharmony_ci tag: huks.HuksTag.HUKS_TAG_PURPOSE, 450e41f4b71Sopenharmony_ci value: 451e41f4b71Sopenharmony_ci huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_SIGN | 452e41f4b71Sopenharmony_ci huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_VERIFY 453e41f4b71Sopenharmony_ci}; 454e41f4b71Sopenharmony_ci// Optional parameter. If this parameter is not specified when a key is generated, it must be specified when the key is used. 455e41f4b71Sopenharmony_ciproperties[3] = { 456e41f4b71Sopenharmony_ci tag: huks.HuksTag.HUKS_TAG_DIGEST, 457e41f4b71Sopenharmony_ci value: huks.HuksKeyDigest.HUKS_DIGEST_SHA256 458e41f4b71Sopenharmony_ci}; 459e41f4b71Sopenharmony_cilet options = { 460e41f4b71Sopenharmony_ci properties: properties 461e41f4b71Sopenharmony_ci}; 462e41f4b71Sopenharmony_citry { 463e41f4b71Sopenharmony_ci huks.generateKeyItem(keyAlias, options, function (error, data) { 464e41f4b71Sopenharmony_ci if (error) { 465e41f4b71Sopenharmony_ci console.error(`callback: generateKeyItem failed, code: ${error.code}, msg: ${error.message}`); 466e41f4b71Sopenharmony_ci } else { 467e41f4b71Sopenharmony_ci console.info(`callback: generateKeyItem key success`); 468e41f4b71Sopenharmony_ci } 469e41f4b71Sopenharmony_ci }); 470e41f4b71Sopenharmony_ci} catch (error) { 471e41f4b71Sopenharmony_ci console.error(`callback: generateKeyItem input arg invalid, code: ${error.code}, msg: ${error.message}`); 472e41f4b71Sopenharmony_ci} 473e41f4b71Sopenharmony_ci``` 474e41f4b71Sopenharmony_ci 475e41f4b71Sopenharmony_ciFor sample codes of other APIs, see [HUKS guidelines](../../../application-dev/security/huks-guidelines.md) and [HUKS APIs](../../../application-dev/reference/apis/js-apis-huks.md). 476