Help Center/ Meeting/ Client SDK Reference/ Downloading SDKs/ Verifying Integrity of a Web SDK Package
Updated on 2025-06-18 GMT+08:00

Verifying Integrity of a Web SDK Package

Description

Check the integrity of downloaded SDK packages, that is, check whether the packages are tampered with or packets are lost during download.

Starting from 1.0.17, the digital signature CMS file is used for integrity verification. In earlier versions, SHA-256 values are still used.

Verifying a Digital Signature CMS File

1. 1. Obtain the download path of the SDK package from Downloading the Web SDK.

2. Download the SDK package to your device.

3. Download the following root CA certificate and CRLs from the Huawei support website:

Root CA certificate: Huawei Software Integrity Protection Root CA.der

CRLs: HuaweiRootCA.crl, HuaweiCodeSigningCA.crl, HuaweiCodeSigningCA 2.crl, and HuaweiCodeSigningCA 3.crl

4. Convert the formats of the CA certificate and CRLs from DER to PEM.

Names of certificate to be converted may differ from those of downloaded ones. Use the actual certificate names.

For CRLs:

openssl crl -inform DER -in "HuaweiRootCA.crl" -out HuaweiRootCaCrl.pem
openssl crl -inform DER -in "HuaweiCodeSigningCA 3.crl" -out HuaweiCodeSigningCA3.pem
openssl crl -inform DER -in "HuaweiCodeSigningCA 2.crl" -out HuaweiCodeSigningCA2.pem
openssl crl -inform DER -in HuaweiCodeSigningCA.crl -out HuaweiCodeSigningCA.pem

For CA certificate:

openssl x509 -inform DER -in "Huawei Software Integrity Protection Root CA.der" -out HuaweiRootCA.pem

5. Use Notepad to open the files obtained in step 4. Copy and paste the content of HuaweiRootCaCrl.pem, HuaweiCodeSigningCA3.pem, HuaweiCodeSigningCA2.pem, and HuaweiCodeSigningCA.pem sequentially to the end of the content of HuaweiRootCA.pem.

6. Perform CMS verification.

openssl cms -verify -inform DER -crl_check_all -in hwmeeting-1.0.18.tgz.cms -content hwmeeting-1.0.18.tgz -CAfile HuaweiRootCA.pem -out cmsVerifiedData -binary -purpose any -certsout tmpCertChain.pem

If a message similar to the following is displayed, the verification is successful:

CMS Verification successful

Comparing SHA-256 Values

1. Obtain the download path of the SDK package from Downloading the Web SDK.

2. Download the SDK package to your device.

3. Open the CLI and run the following command to generate the SHA-256 value of the downloaded SDK package. In the command, D:\hwmeeting-1.0.16.tgz indicates the local path for storing the SDK package and the SDK package name. Replace it with the actual value.

certutil -hashfile D:\hwmeeting-1.0.16.tgz SHA256

The following is an example of the command output:

SHA256 D:\hwmeeting-1.0.16.tgz hash:
6d73467a02cecc3ec7852b26267d834e327064891c5a28923bd55835c82a50cd
CertUtil: -hashfile Command executed

Compare the generated SHA-256 value with that listed in the package download path table. If they are the same, no tampering or packet loss occurred during download.

Table 1 Web SDK SHA-256 values

Version

Resource

SHA-256 Value

1.0.16

Web UI SDK

47c29685311059b87257b6fbc714eccc58bd32602aad9498ad68e1d6008e1bc9

Web UI SDK npm package

6d73467a02cecc3ec7852b26267d834e327064891c5a28923bd55835c82a50cd

1.0.15

Web UI SDK

aa5fbd96d928e5b3f6e58c1dc1add6c30c8cd78848b01afdfdc9fe46cc4a5669

Web UI SDK npm package

eeb6d77566f869ae775837a608c5ece04a48516e2c37c8472b4ac662e6a127f8

1.0.13

Web UI SDK

cdab1bd4eb0f36efe13a054d426c1770645f1086dd9d488a85bca751fd9504a2

Web UI SDK npm package

28812170e45fdb23d29ac4fee2cf93e9f0bc49419966f485834b758c18ae2f55

1.0.12

Web UI SDK

7838af8caaae332d3397f6eff38424c802021f2769ff1bd82d6ed1fcbf13a8e4

Web UI SDK npm package

70794d6385a52482bd9b47af52782ba413958b45d213a97c21813450b00c8cb7

1.0.11

Web UI SDK

00bdb10546c436b652e45d4722e90df24a9eefc5b205f6a4e7fdbe67a89fbd0c

Web UI SDK npm package

60df5eca8cdfd6bbf9c3bb4d38db357c886cacc3a88d5b0e57fe49cbab818a57

1.0.10

Web UI SDK

ddabd57023b8a0ee2e821b1cdab54124fe921a0ef157d0eb2f04da15cf146e77

Web UI SDK npm package

eeee09aa9b6da896229811f61ab0c8b22ef6c4be2b373301b287b0752d711477

1.0.9

Web UI SDK

9c50ff7e664496fd24e5ffe257ae920f32c2f9c254e8b28c8acba83f28d80b35

Web UI SDK npm package

f0507d513a05e65368b97ded0dbd3e98131240acdf9f93027a60f024e6ae2d52

1.0.8

Web UI SDK

ae8d56f5a1d11f4009367051ea5816820478daa7f1d75a16e0b967a4523a1d4d

Web UI SDK npm package

6b554db9231b3037903bde4220ab9a5c2cf6148c3501ee3d48d24e87f2cd6476

1.0.7

Web UI SDK

8be877048299a0ad8fb6813afbf74b21decdd2eb2190507de14e4ef2f6d6baba

Web UI SDK npm package

e2aeb2254790aad147167a89acc0786d71600db69399917538627e3c7da7e2c9

1.0.6

Web UI SDK

d97987ea8bf0e4f90ee358d7426b1e966470dad990116db9371ee3edc91bb925

Web UI SDK npm package

6c5aae05d32cea7d1daa7bc4ad971e311f76cb22713ac6d022eb563ccfe3cfe9