如何利用代码签名证书对Windows10内核驱动进行签名
代码签名证书可以用来给Windows10内核驱动签名的,而且必须要使用EV代码签名证书才可以。如何利用代码签名证书对Windows10内核驱动进行签名?
对内核驱动的签名需要使用微软官方的WDK的SignTool进行签名。
1)准备交叉签名
对于内核驱动签名均需要提供微软给CA权威机构准备的交叉签名,下载对应的交叉签名,下载后与EV代码签名证书放置在同一目录。
2)SignTool签名
打开WDK的命令行SignTool工具,以Comodo EV Code Signing证书的签名为例(下载AddTrust_External_CA_Root.cer交叉签名),输入以下命令
signtool sign /v /ac “D:\AddTrust_External_CA_Root.cer” /s MY /n “Your Company Name” /t http://timestamp.comodoca.com/authenticode “D:\driver.sys”
signtool sign /v /ac “D:\AddTrust_External_CA_Root.cer” /s MY /n “Your Company Name” /as /fd sha256 /tr http://timestamp.comodoca.com/rfc3161 “D:\driver.sys”
该命令是对驱动的双签名,双签名在过渡阶段能够兼容低版本操作系统,第一行是sha-1签名,第二行是sha-256签名,详细如下:
ac 配置交叉签名路径
/n 证书对应企业名称
/as /fd sha256 是针对驱动的sha-256签名
/t 针对过时的sha-1时间戳
/tr 是sha-256对应的时间戳
签名成功后需满足5级证书链接的基本条件,如下图
3)测试签名
执行下方命令,看到和签名成功一样的结果即表示签名成功
signtool.exe verify /pa /v “D:\driver.sys”
这里需要注意的是,对于上述签名成功的驱动文件,在当前Windows电脑上测试该签名文件,是无法正常测试的,请开发人员在开发环境测试成功之后,将此发行文件提交至Windows Hardware Developer Center Dashboard,经过微软二次签名后才能在正式版的Windows上运行。
以上就是利用EV代码签名证书对Windows10内核驱动进行签名的详细过程,大家了解一下。