更新时间:2025-05-29 GMT+08:00

APP SDK包完整性校验

操作说明

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

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

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

1.在"App SDK下载"章节中,“表1 Android/iOS/Windows/Mac/Electron 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 hmwsdk-win-demo-win32.zip.cms -content hmwsdk-win-demo-win32.zip -CAfile HuaweiRootCA.pem -out cmsVerifiedData -binary -purpose any -certsout tmpCertChain.pem

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

CMS Verification successful

SHA256值比较操作步骤

1.在"App SDK下载"章节中,“表1 Android/iOS/Windows/Mac/Electron UI SDK资源下载路径”中下载的SDK的包;

2.下载SDK包到本地;

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

certutil -hashfile D:\hwmsdk-win-80.12.7.zip SHA256

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

SHA256 的 D:\hwmsdk-win-80.12.7.zip 哈希: 
85a691c46a56572ea092945e9565f7927e6c1b4c612b35d01b1c8a9524f8c498 
CertUtil: -hashfile 命令成功完成。

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