目前windows 10 1607版本以以后,驱动内核模式签名也不能正常运行,必须提交微软硬件仪表盘的驱动才可以使用。我推荐大家驱动进去微软徽标认证,获取微软驱动签名,这样可以保证驱动运行的稳定性,给客户带来非凡体验,提高客户认可度。
代码签名证书分两种,一种是普通代码签名证书,SHA1算法的证书,任外一种是EV代码签名证书。
驱动签名分两种形式的驱动签名,一是内核模式驱动签名、二是应用模式驱动签名。
1、 内核模式驱动签名
· 使用普通代码签名证书来进行内核模式驱动签名。(我现在以digicert品牌证书为例来做说明)
signtool sign /v /ac "D:SignToolDigiCert Assured ID Root CA.crt" /f "D:SignToolSHA1.pfx" /p password /t http://timestamp.digicert.com "E:downloadChenxinsmldowloadtest.sys"
"D:SignToolDigiCert Assured ID Root CA.crt " --交叉证书路径
"D:SignToolSHA1.pfx" --普通代码证书.pfx文件
"E:downloadChenxinsmldowloadtest.sys" --待签驱动路径
· 使用EV代码签名证书来进行内核驱动签名
signtool.exe sign /v /a /ac "E:WorksignDigiCert High Assurance EV Root CA.crt" /s My /n "Shanghai xxxx technology Co., Ltd." /tr http://timestamp.digicert.com /td sha256 /fd sha256 "E:Worksigndrivertest.sys"
"E:WorksignDigiCert High Assurance EV Root CA.crt" --交叉证书路径
"Shanghai xxxx technology Co., Ltd." --证书上公司的名称
· 如果你是digicert的双证书key,进行内核交叉签
第一步sha1内核驱动签名
signtool.exe sign /v /a /ac "E:WorksignDigiCert High Assurance EV Root CA.crt" /s My /n "Shanghai xxx technology Co., Ltd." /t http://timestamp.digicert.com "E:Worksigndrivertest.sys"
第二步sha256 内核驱动签名
signtool.exe sign /v /a /i "DigiCert EV Code Signing CA (SHA2)" /as /ac "E:WorksignDigiCert High Assurance EV Root CA.crt" /s My /n "Shanghai xxx technology Co., Ltd." /tr http://timestamp.digicert.com /td sha256 /fd sha256 "E:Worksigndrivertest.sys"
以保驱动签名是正确的,可以使用下面的命令来验证是否正确
signtool verify /v /kp "E:Worksigndrivertest.sys"
内核交叉证书下载地址:
2、 应用模式驱动签名(普通模式签名)
· 普通代码签名进行应用模式驱动签名
signtool sign /v /f "D:SignToolSHA1.pfx" /p password/t http://timestamp.digicert.com "程序的路径"
· EV代码签名证书进行应用模式驱动签名
signtool.exe sign /v /a /s My /n "Shanghai xxxx technology Co., Ltd." /tr http://timestamp.digicert.com /td sha256 /fd sha256 "E:Worksigndrivertest.sys"