更新时间:2022-02-21 GMT+08:00

工具

工具即签名工具,用于对软件包进行数字签名,以及验证软件包的数字签名。数字签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。

说明:

公钥由华为平台统一管理,私钥由厂商按照自身安全机制保存管理。并且为了增强厂商保存私钥的安全性,在生成私钥过程中,工具强制要求输入口令加密私钥,一旦遗失或者泄露加密口令或私钥,将没有任何办法完成升级包签名机制,由此造成的安全问题由厂商自行负责。

下载签名工具

  1. 选择系统管理 > 工具
  2. 单击,完成工具下载。

使用签名工具

解压已下载的压缩包,双击其中的signtool.exe,即可打开签名工具。

  1. 生成数字签名公私钥对,如图1所示。

    图1 生成数字签名公私钥对
    1. 选择“签名算法”

      通过下拉菜单选择算法:ECDSA_256K1+SHA256。

    2. 输入“私钥加密口令”

      口令长度至少6个字符,必须包括A-Z、a-z、0–9、 :~`@#$%^&*()-_=+|?/<>[]{},.;'!"中至少两种字符组合。

    3. 单击“生成公私密钥”

      在弹出框中选择保存密钥的路径,单击“确定”,弹出“Success!”提示框表示密钥生成完成。

      工具将生成公私密钥共2个文件(“public.pem”“private.pem”)。

  2. 进行软件包数字签名,如图2所示。

    图2 软件包数字签名
    1. 单击“导入私钥文件”,导入1.c生成的私钥文件“private.pem”
    2. 在弹出的窗口中输入1.b中的“私钥加密口令”

      口令输入正确,则状态栏显示私钥文件路径;口令输入错误,则状态栏显示“私钥导入失败”

    3. 单击选择待签名软件路径。
    4. 单击“进行数字签名”按钮。

      如果私钥尚未导入,弹框提示输入私钥;如果私钥已导入,则对软件包进行签名。

  3. 验证软件包签名,如图3所示。

    图3 软件包签名验证
    1. 单击“导入公钥文件”,导入1.c生成的公钥文件“public.pem”
    2. 单击选择待验证的软件包路径。
    3. 单击“进行软件包验签”

      如果公钥尚未导入,弹框提示输入公钥。