あまみや ゆうこ » VSTS

将代码签名集成到VSTS CI中

什么是代码签名

代码签名证书主要用于软件开发者对各种软件和代码进行数字签名,不仅能证明代码的开发者真实身份,而且能确保用户通过互联网下载时能确信此代码没有被非法篡改和来源可信,从而保护了代码的完整性、保护了用户不会被病毒、恶意代码和间谍软件所侵害,当然也就保护了软件开发商的利益,使得软件开发商能安全地快速地通过网络发布软件。

要解决什么问题

通常情况下,EV代码签名证书都是以UKey形式颁发的,因此只有UKey持有者才能为Binaries进行EV代码签名。本人正在开发游戏加速器,而游戏的反作弊系统需要检验注入者的代码签名,因此需要对生成的可执行文件与动态库进行代码签名,而团队软件开发过程中,只有一个人拥有Ukey,因此代码签名极其不便。为了解决该问题,故想办法与CI集成,在团队协作者签入代码时,触发CI进行编译、测试以及代码签名。

解决过程

首先购置了一台迷你主机,越便宜越好,但是需要是x86_64架构的CPU,因为UKey的驱动要装在这样的平台上,ARM是不支持的。某宝可搜到如下同款机器,成本不算很高,五百出头。

file

因为个人家没有固定IP,所以在Azure上开通一个Web App建立一个Web API程序来处理向签名队列添加任务以及接收Worker Machine返回结果的系统。

更多内容 »

Published on 5/9/2018 3:33:38 PM