更新时间:2025-06-18 GMT+08:00

Web SDK包完整性校验

操作说明

可对下载的SDK包进行完整性校验,判断在下载过程中是否存在篡改和丢包现象。

1.0.17及以后的版本采用数字签名CMS文件进行完整性校验,之前的包仍然使用SHA256值。

数字签名CMS文件验签操作步骤

1. 在"Web SDK下载"章节中,“表1 Web UI SDK资源下载路径”中下载的SDK的包;

2.下载SDK包到本地;

3.从华为support官网https://support.huawei.com/additionalres/pki 下载根CA证书和4个吊销证书,文件如下:

CA文件:Huawei Software Integrity Protection Root CA.der

CRL文件:HuaweiRootCA.crl、HuaweiCodeSigningCA.crl、HuaweiCodeSigningCA 2.crl、HuaweiCodeSigningCA 3.crl

4.转换CA证书与CRL文件格式从DER到PEM

转换的证书名称可能与实际下载的证书名称不一致,以实际证书名称为准。

CRL文件:

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

CA文件:

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

5. 记事本打开步骤4中的文件,将HuaweiRootCaCrl.pem、HuaweiCodeSigningCA3.pem、HuaweiCodeSigningCA2.pem和HuaweiCodeSigningCA.pem 4个文件内容依次粘贴到HuaweiRootCA.pem文件内容后面

6.CMS验证

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

命令执行结果示例,如下所示表示验签成功:

CMS Verification successful

SHA256值比较操作步骤

1.在"Web SDK下载"章节中,“表1 Web UI SDK资源下载路径”中下载的SDK的包;

2.下载SDK包到本地;

3.打开本地命令提示符框,输入如下命令,在本地生成已下载的SDK包的SHA256值,其中,“D:\hwmeeting-1.0.16.tgz”为SDK包的本地存放路径和SDK包名,请根据实际情况修改。

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

命令执行结果示例,如下所示:

SHA256 的 D:\hwmeeting-1.0.16.tgz 哈希: 
6d73467a02cecc3ec7852b26267d834e327064891c5a28923bd55835c82a50cd
CertUtil: -hashfile 命令成功完成。

对比查询的SDK包的SHA256值和下载后的SDK包的SHA256值。如果一致,则表示下载过程不存在篡改和丢包。

表1 Web SDK SHA256值

版本

资源

SHA256值

1.0.16

Web UI SDK

47c29685311059b87257b6fbc714eccc58bd32602aad9498ad68e1d6008e1bc9

Web UI SDK npm包

6d73467a02cecc3ec7852b26267d834e327064891c5a28923bd55835c82a50cd

1.0.15

Web UI SDK

aa5fbd96d928e5b3f6e58c1dc1add6c30c8cd78848b01afdfdc9fe46cc4a5669

Web UI SDK npm包

eeb6d77566f869ae775837a608c5ece04a48516e2c37c8472b4ac662e6a127f8

1.0.13

Web UI SDK

cdab1bd4eb0f36efe13a054d426c1770645f1086dd9d488a85bca751fd9504a2

Web UI SDK npm包

28812170e45fdb23d29ac4fee2cf93e9f0bc49419966f485834b758c18ae2f55

1.0.12

Web UI SDK

7838af8caaae332d3397f6eff38424c802021f2769ff1bd82d6ed1fcbf13a8e4

Web UI SDK npm包

70794d6385a52482bd9b47af52782ba413958b45d213a97c21813450b00c8cb7

1.0.11

Web UI SDK

00bdb10546c436b652e45d4722e90df24a9eefc5b205f6a4e7fdbe67a89fbd0c

Web UI SDK npm包

60df5eca8cdfd6bbf9c3bb4d38db357c886cacc3a88d5b0e57fe49cbab818a57

1.0.10

Web UI SDK

ddabd57023b8a0ee2e821b1cdab54124fe921a0ef157d0eb2f04da15cf146e77

Web UI SDK npm包

eeee09aa9b6da896229811f61ab0c8b22ef6c4be2b373301b287b0752d711477

1.0.9

Web UI SDK

9c50ff7e664496fd24e5ffe257ae920f32c2f9c254e8b28c8acba83f28d80b35

Web UI SDK npm包

f0507d513a05e65368b97ded0dbd3e98131240acdf9f93027a60f024e6ae2d52

1.0.8

Web UI SDK

ae8d56f5a1d11f4009367051ea5816820478daa7f1d75a16e0b967a4523a1d4d

Web UI SDK npm包

6b554db9231b3037903bde4220ab9a5c2cf6148c3501ee3d48d24e87f2cd6476

1.0.7

Web UI SDK

8be877048299a0ad8fb6813afbf74b21decdd2eb2190507de14e4ef2f6d6baba

Web UI SDK npm包

e2aeb2254790aad147167a89acc0786d71600db69399917538627e3c7da7e2c9

1.0.6

Web UI SDK

d97987ea8bf0e4f90ee358d7426b1e966470dad990116db9371ee3edc91bb925

Web UI SDK npm包

6c5aae05d32cea7d1daa7bc4ad971e311f76cb22713ac6d022eb563ccfe3cfe9