签名验签错误
======

**问题现象**

打包签名提示“**Verify Signature failed**”错误。

**问题原因**

签名使用密钥库文件内的私钥与证书不匹配，导致工具验证签名失败。

**错误场景**

1、打包签名场景，签名时使用的证书和密钥不一致，证书文件中包含的公钥与签名密钥库文件内keyalias对应的私钥不匹配。

2、验证包完整性场景，已签名的HAP包被篡改。

**解决方案**

场景1：检查配置的证书文件和密钥库文件是否匹配，检查步骤如下：

1、查看签名配置。

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/2f/v3/8bea9_BKTgCVuKoDVN4JvQ/zh-cn_image_0000002624478742.png?HW-CC-KV=V1&HW-CC-Date=20260709T134407Z&HW-CC-Expire=86400&HW-CC-Sign=BCF31F1780CE02B74D5C521F6F35FEA0D36615BF0D381996F87E5F3D07069F84)

2、查看密钥库文件签名密钥关联的证书公钥信息（SubjectKeyIdentifier），示例：keytool -list -v -keystore ${Store file} -storepass ${Store password} -alias ${Key alias}。

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/af/v3/nDsMFgYeTaOlRuCmfODFqA/zh-cn_image_0000002654798103.png?HW-CC-KV=V1&HW-CC-Date=20260709T134407Z&HW-CC-Expire=86400&HW-CC-Sign=E00D89257DFD30E69720A53189194AEDBE7701950779C1A560469B1030D3E607)

3、查看配置的证书文件中公钥信息，应用市场申请的证书，发布者是CN=Huawei CBG Developer Relations CA G2, OU=Huawei CBG, O=Huawei, C=CN，示例：keytool -printcert -file ${Certpath file}。

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/12/v3/8p-hlM-nTZu2Xuf8eri9cQ/zh-cn_image_0000002624638652.png?HW-CC-KV=V1&HW-CC-Date=20260709T134407Z&HW-CC-Expire=86400&HW-CC-Sign=7B98318FDDE7D1D490D0CB35624EE5B1B566B98C9E7C94021BCFD3D51BC14030)

步骤2与步骤3中的公钥信息（SubjectKeyIdentifier）不一致，则配置的证书文件和密钥库文件不匹配。

场景2：重新打包签名。

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/1d/v3/ZLMq_zATQ9mDU2oe4dds9A/zh-cn_image_0000002654838055.png?HW-CC-KV=V1&HW-CC-Date=20260709T134407Z&HW-CC-Expire=86400&HW-CC-Sign=FF094B1B6C10935FFDFBC4983D0C93900AA19905CD5D12049C01B6BD137539AC)