目前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"