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值。如果一致,则表示下载过程不存在篡改和丢包。
版本 |
资源 |
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 |