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