目前windows 10 1607版本以以后,驅(qū)動(dòng)內(nèi)核模式簽名也不能正常運(yùn)行,必須提交微軟硬件儀表盤的驅(qū)動(dòng)才可以使用。我推薦大家驅(qū)動(dòng)進(jìn)去微軟徽標(biāo)認(rèn)證,獲取微軟驅(qū)動(dòng)簽名,這樣可以保證驅(qū)動(dòng)運(yùn)行的穩(wěn)定性,給客戶帶來非凡體驗(yàn),提高客戶認(rèn)可度。
代碼簽名證書分兩種,一種是普通代碼簽名證書,SHA1算法的證書,任外一種是EV代碼簽名證書。
驅(qū)動(dòng)簽名分兩種形式的驅(qū)動(dòng)簽名,一是內(nèi)核模式驅(qū)動(dòng)簽名、二是應(yīng)用模式驅(qū)動(dòng)簽名。
1、 內(nèi)核模式驅(qū)動(dòng)簽名
· 使用普通代碼簽名證書來進(jìn)行內(nèi)核模式驅(qū)動(dòng)簽名。(我現(xiàn)在以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" --待簽驅(qū)動(dòng)路徑
· 使用EV代碼簽名證書來進(jìn)行內(nèi)核驅(qū)動(dòng)簽名
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,進(jìn)行內(nèi)核交叉簽
第一步sha1內(nèi)核驅(qū)動(dòng)簽名
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 內(nèi)核驅(qū)動(dòng)簽名
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"
以保驅(qū)動(dòng)簽名是正確的,可以使用下面的命令來驗(yàn)證是否正確
signtool verify /v /kp "E:Worksigndrivertest.sys"
內(nèi)核交叉證書下載地址:
2、 應(yīng)用模式驅(qū)動(dòng)簽名(普通模式簽名)
· 普通代碼簽名進(jìn)行應(yīng)用模式驅(qū)動(dòng)簽名
signtool sign /v /f "D:SignToolSHA1.pfx" /p password/t http://timestamp.digicert.com "程序的路徑"
· EV代碼簽名證書進(jìn)行應(yīng)用模式驅(qū)動(dòng)簽名
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"