如何使用代碼簽名證書進(jìn)行驅(qū)動(dòng)簽名
重要提示:一般情況下在windows 10,server 2016,2019系統(tǒng)中的secure boot服務(wù)都是默認(rèn)處于開啟狀態(tài)的,從而導(dǎo)致只被第三方機(jī)構(gòu)證書簽名的windows驅(qū)動(dòng)無(wú)法正常安裝和加載,必須提交微軟進(jìn)行WHQL認(rèn)證簽名才能正常加載使用。DriverCoding WHQL實(shí)驗(yàn)室以專業(yè)的服務(wù)和技術(shù)來協(xié)助客戶獲取微軟驅(qū)動(dòng)簽名,簽名后的驅(qū)動(dòng)既保證了安裝的系統(tǒng)兼容性,也提升了用戶體驗(yàn)和產(chǎn)品可信度。
以下說明主要針對(duì)Windows 7,8,8.1等較老的操作系統(tǒng):
代碼簽名證書分兩種,一種是普通代碼簽名證書,另外一種是EV代碼簽名證書。
驅(qū)動(dòng)簽名分兩種形式的驅(qū)動(dòng)簽名,一是內(nèi)核模式驅(qū)動(dòng)簽名、二是應(yīng)用模式驅(qū)動(dòng)簽名。
一、 內(nèi)核模式驅(qū)動(dòng)簽名(以某品牌證書為例來,假定證書文件在當(dāng)前目錄)
· 使用普通代碼簽名證書來進(jìn)行內(nèi)核模式驅(qū)動(dòng)簽名。
signtool sign /v /ac "xxx.crt" /f "xxx.pfx" /p password /t timestamp server URL "xxx.sys"
xxx.crt 交叉證書路徑
xxx.pfx 普通代碼證書pfx文件
xxx.sys 待簽驅(qū)動(dòng)路徑
· 使用EV代碼簽名證書來進(jìn)行內(nèi)核驅(qū)動(dòng)簽名
signtool.exe sign /v /a /ac "xxx.crt" /s /n "xxx Co., Ltd." /tr timestamp server URL /td sha256 /fd sha256 "xxx.sys"
xxx.crt 交叉證書路徑
xxx Co., Ltd 證書對(duì)應(yīng)的公司名稱
· 如果你是書key,進(jìn)行內(nèi)核交叉簽名
第一步進(jìn)行sha1的內(nèi)核交叉簽名
signtool.exe sign /v /a /ac "xxx.crt" /s /n "xxx Co., Ltd." /t timestamp server URL "xxx.sys"
第二步進(jìn)行sha256的內(nèi)核交叉簽名
signtool.exe sign /v /a /i "xxx EV Code Signing CA (SHA2)" /as /ac "xxx.crt" /s /n "xxx Co., Ltd." /tr timestamp server URL /td sha256 /fd sha256 "xxx.sys"
以保驅(qū)動(dòng)簽名是正確的,可以使用下面的命令來驗(yàn)證是否正確
signtool verify /v /kp "xxx.sys"
內(nèi)核交叉證書下載地址:https://docs.microsoft.com/zh-cn/windows-hardware/drivers/install/cross-certificates-for-kernel-mode-code-signing
二、 應(yīng)用模式驅(qū)動(dòng)簽名(普通模式簽名)
· 普通代碼簽名進(jìn)行應(yīng)用模式驅(qū)動(dòng)簽名
signtool sign /v /f "xxx.pfx" /p password /t timestamp server URL "xxx.exe"
· EV代碼簽名證書進(jìn)行應(yīng)用模式驅(qū)動(dòng)簽名
signtool.exe sign /v /a /s /n "xxx Co., Ltd." /tr timestamp server URL /td sha256 /fd sha256 "xxx.sys"
如需購(gòu)買代碼簽名相關(guān)證書或者微軟驅(qū)動(dòng)簽名服務(wù)(WHQL認(rèn)證)可聯(lián)系我們