俞木發(fā)
大家知道,驅(qū)動程序是一類專為識別硬件及配置其功能的特殊程序,在默認(rèn)的情況下,驅(qū)動程序會在系統(tǒng)啟動時加載并在后臺自動運(yùn)行。如果驅(qū)動程序和系統(tǒng)不兼容,那么就極易造成系統(tǒng)不穩(wěn)定甚至藍(lán)屏、死機(jī)。因此,微軟對于驅(qū)動程序的安裝有更為嚴(yán)格的要求,必須通過其簽名的文件才被許可安裝。有認(rèn)證簽名就說明這個驅(qū)動程序通過了微軟的安全認(rèn)證,可以保證驅(qū)動程序的兼容性比較可靠,不容易產(chǎn)生與系統(tǒng)的兼容性故障。對于正常安裝的驅(qū)動程序,打開其屬性窗口,在“數(shù)字簽名者”處都可以看到“Microsof tWindows”的字樣(圖2)。
首先到“https://developer.microsoft.com/zh-cn/windows/downloads/windows-10-sdk”下載并安裝適合自己的系統(tǒng)使用的“Windows SDK”,程序默認(rèn)安裝在“C:\Program Files (x86)\Windows Kits\10\bin\10.0.20348.0\x64”中,下面的命令文件均來自此SDK,并保存在該目錄下,請定位到該目錄后運(yùn)行相應(yīng)的命令。
1生成并配置證書
以管理員身份啟動命令提示符,輸入下列的命令并回車執(zhí)行(每條命令輸入后均需回車確認(rèn),rem為注釋無需輸入,下同),接著在彈出的窗口中設(shè)置密碼(圖3):
rem 進(jìn)入MakeCert.exe所在的目錄C D " C : \ P r o g r a m F i l e s ( x 8 6 ) \
Windows Kits\10\bin\10.0.20348.0\x64"rem 設(shè)置證書發(fā)布者為cfan(可以自行定義)
MakeCert.exe -r -sv C:\myDrivers.pvk -n CN="cfan" C:\myDrivers.cer完成上述的操作后,繼續(xù)在命令提示符窗口中輸入并執(zhí)行下列的命令:
rem 為上面創(chuàng)建的證書創(chuàng)建生成自我簽名證書
c e r t 2 s p c C: \ my D r i v e r s . c e r C: \myDrivers.spc
rem 導(dǎo)出pfx文件,其中“123456”為圖3窗口設(shè)置的密碼
pvk2pfx -pvk C:\myDrivers.pvk -pi123 4 5 6 -spc C:\myDr i ver s.spc -pf xC:\myDrivers.pfx -po 123456
2為驅(qū)動程序簽名
完成上述的操作后,在C盤新建一個名為mydrivers的文件夾,同時將沒有簽名的驅(qū)動文件全部復(fù)制到該文件夾中,其中的dramx 6 4.exe即為未簽名驅(qū)動的安裝程序(圖4)。
同上,再返回命令提示符窗口輸入并執(zhí)行“signtool sign /f C:\myDrivers.pfx /p 123456c:\mydrivers\dramx64.exe”命令。其中“/p”后的數(shù)字為圖3所示窗口中設(shè)置的密碼,后面為需要簽名的安裝程序(圖5)。
這樣,再打開資源管理器并選中“c:\mydrivers\dramx64.exe”,右擊并依次選擇“屬性→ 數(shù)字簽名”,可以看到該文件簽名者已經(jīng)變?yōu)椤癱fan”(這是在圖3這一步的命令行中設(shè)置的簽名)(圖6)。
不過,對于自行簽名的證書默認(rèn)沒有得到系統(tǒng)的信任,我們還需要將證書安裝到“受信任的根證書頒發(fā)機(jī)構(gòu)”。在圖6所示的窗口中依次點(diǎn)擊“詳細(xì)信息→查看證書”,接著在打開的窗口中點(diǎn)擊“安裝證書”(圖7)。
在打開的安裝證書向?qū)е校鎯ξ恢靡来芜x擇“本地計(jì)算機(jī)→下一頁→將所有的證書都放入下列存儲(P)”,點(diǎn)擊“瀏覽”選擇“受信任的根證書頒發(fā)機(jī)構(gòu)”,這樣自行簽名的證書就可以被信任了(圖8)。
完成上述的操作后,這樣我們就可以在電腦上正常運(yùn)行“dramx64 .exe”,完成驅(qū)動程序的安裝了。