A Windows összes 64 bites verziója, kezdve a Windows 7-rel, alapértelmezés szerint tiltja az illesztőprogramok telepítését, amelyeket nem a megfelelő digitális aláírással írtak alá. Az alá nem írt illesztőprogramokat az operációs rendszer blokkolja. A digitális aláírás megléte (bizonyos mértékig) garantálja, hogy az illesztőprogramot egy adott fejlesztő vagy gyártó engedi fel, és az aláírása után a kódját nem módosították.
A Windows 10/7 x64 operációs rendszerben a telepített illesztőprogram digitális aláírás-ellenőrzésének letiltására többféle mód van: a Csoportházirend vagy a tesztrendszer indító módja segítségével (további részletekért lásd: A digitális aláírás-ellenőrzés letiltása az alá nem írt illesztőprogramok telepítéséről a Windows rendszeren)..
Ma megmutatjuk, hogyan tudsz minden aláírással nem rendelkező illesztőprogram saját aláírása a 64 bites verzióhoz A windows 10 vagy Windows 7.
Tegyük fel, hogy van egy illesztőprogramja az x64 Windows 10 vagy a Windows 7 eszközhöz, amely nem rendelkezik digitális aláírással (példánkban ez egy meglehetősen régi videokártya illesztőprogramja). A Windows verziónk illesztőprogram-archívumát (sikerült megtalálni a Windows Vista x64 illesztőprogramját) letöltötték a gyártó webhelyéről, és tartalmát a c: \ tools \ drv1 \ könyvtárba csomagolták. Próbáljuk meg telepíteni az illesztőprogramot úgy, hogy a szokásos segédprogrammal hozzáadja azt a Windows illesztőprogram-tárházához pnputil.
Pnputil - "C: \ tools \ drv1 \ xg20gr.inf"
A telepítés során a Windows 7 figyelmeztetést jelenít meg arról, hogy a rendszer nem tudja ellenőrizni az illesztőprogram digitális aláírását.
A Windows 10 rendszerben egy ilyen figyelmeztetés sem jelenik meg, és a konzolban figyelmeztetés jelenik meg, hogy a harmadik fél INF fájljában nincs digitális aláírással kapcsolatos információ..
Amikor az illesztőprogramot a Windows Intézőből telepíti, ha rákattint az RMB elemre az illesztőprogram inf fájljában, és kiválasztja a lehetőséget felszerel / megállapítása hiba jelenik meg:
A harmadik fél INF nem tartalmaz digitális aláírással kapcsolatos információkat.
A harmadik fél INF nem tartalmaz aláírási információkat.
Próbáljuk meg aláírni ezt az illesztőprogramot egy önaláírt tanúsítvánnyal.
Tartalom:
- A járművezető aláírásához szükséges segédprogramok
- Hozzon létre egy önaláírt tanúsítványt és egy privát kulcsot
- Készítsen CAT illesztőprogram fájlt
- A járművezetőt önaláírt tanúsítvánnyal írjuk alá
- Tanúsítvány telepítése
- Saját aláírású tanúsítvánnyal hitelesített illesztőprogram telepítése
A járművezető aláírásához szükséges segédprogramok
A működéshez le kell töltenünk és telepítenünk kell (az alapértelmezett beállításokkal) a következő alkalmazásfejlesztő eszközöket a Windows rendszerhez.
- Windows SDK (vagy Microsoft Visual Studio 2005 vagy újabb) a Windows verziójára - ezek a csomagok tartalmazzák a Windows SDK aláíró eszközöket az Asztalhoz, amely magában foglalja a szükséges segédprogramot - signtool.exe;
- Windows Driver Kit 7.1.0 - ISO kép GRMWDK_EN_7600_1.ISO a méret 649 Mb
Hozzon létre egy önaláírt tanúsítványt és egy privát kulcsot
Hozza létre a C: \ DriverCert könyvtárat a lemez gyökerében.
Nyissa meg a parancssort, és lépjen a következő könyvtárba:
cd C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v7.1 \ bin
Hozzon létre egy önaláírt tanúsítványt és egy magánkulcsot, például a Winitpro számára:
makecert -r -sv C: \ DriverCert \ myDrivers.pvk -n CN = "Winitpro" C: \ DriverCert \ MyDrivers.cer
A létrehozás során a segédprogram megkérdezi, hogy adja meg a kulcshoz tartozó jelszót, legyen az legyen P@ss0wrd.
A létrehozott tanúsítvány alapján hozzon létre egy nyilvános kulcsot a szoftver-kiadó tanúsítványához (PKCS).
cert2spc C: \ DriverCert \ myDrivers.cer C: \ DriverCert \ myDrivers.spc
Kombinálja a nyilvános kulcsot (.spc) és a privát kulcsot (.pvk) egy személyes információcsere (.pfx) tanúsítványfájlba.
pvk2pfx -pvk C: \ DriverCert \ myDrivers.pvk -pi P @ ss0wrd -spc C: \ DriverCert \ myDrivers.spc -pfx C: \ DriverCert \ myDrivers.pfx -po P @ ss0wrd
$ cert = Új-SelfSignaCertificate -Tárgy "Winitpro" -Type CodeSigningCert -CertStoreLocation cert: \ LocalMachine \ My
Ezután exportálnia kell ezt a tanúsítványt egy pfx fájlba jelszóval:
$ CertPassword = ConvertTo-SecureString -Szíj “P @ ss0wrd” -Force -AsPlainText
Export-PfxCertificate -Cert $ cert -FilePath C: \ DriverCert \ myDrivers.pfx -Password $ CertPassword
tanács. Noha a tanúsítvány korlátozott érvényességi idővel rendelkezik, a CodeSigning tanúsítvány lejárta azt jelenti, hogy nem hozhat létre új aláírásokat. Az ezzel a tanúsítvánnyal már aláírt illesztőprogram érvényessége korlátlan (vagy a régi aláírások érvényesek a megadott időbélyegre).
Készítsen CAT illesztőprogram fájlt
Hozzon létre egy könyvtárat C: \DriverCert\xg és másolja bele az összes fájlt a könyvtárba, amelybe az archívumot az illesztőprogrammal eredetileg kicsomagolták (c: \ tools \ drv1 \). Győződjön meg arról, hogy a fájlok között vannak fájlok kiterjesztéssel .sys és .inf (a mi esetünkben xg20grp.sys és xg20gr).
Menjünk a könyvtárba:
cd C: \ WinDDK \ 7600.16385.1 \ bin \ selfsign
Az inf fájl alapján az inf2cat.exe segédprogrammal (a Windows illesztőprogram-készlet -WDK tartozékaival) létrehozunk egy macska fájlt platformunk számára (információkat tartalmaz az illesztőprogram-csomag összes fájljáról).
inf2cat.exe / driver: "C: \ DriverCert \ xg" / os: 7_X64 / részletes
Annak ellenőrzése érdekében, hogy az eljárás helyes-e, ellenőrizze, hogy az üzenetek vannak-e a naplóban:
Az aláírhatósági teszt teljes
.
ésA katalógus generáció kész
.
Az aláírási teszt sikertelen.
hibák:
22.9.7: A DriverVer hibás dátumra van állítva (a legújabb operációs rendszerhez 2009.4.21-ig kell frissíteni) a \ hdx861a.inf fájlban
A hiba kijavításához keresse meg a [Verzió] szakaszban a DriverVer = sort, és cserélje ki a következőre:
DriverVer = 05/01 / 2009,9.9.9.9.9
A parancs végrehajtása után a g20gr.cat fájlt frissíteni kell az illesztőprogram könyvtárában
A járművezetőt önaláírt tanúsítvánnyal írjuk alá
Ugrás a könyvtárba:
cd "C: \ Program Files (x86) \ Windows Kits \ 10 \ bin \ 10.0.17134.0 \ x64"
Az általunk létrehozott tanúsítvánnyal aláírjuk az illesztőprogram-fájlok halmazát, mint időbélyegző szolgáltatás (időbélyeg) a Globalsign erőforrást fogjuk használni. A következő parancs digitálisan aláírja a CAT fájlt egy jelszóval védett PFX fájlban tárolt tanúsítvánnyal.
signtool sign / f C: \ DriverCert \ myDrivers.pfx / p P @ ss0wrd / t http://timestamp.globalsign.com/scripts/timstamp.dll / v "C: \ DriverCert \ xg \ xg20gr.cat"
Ha a fájl sikeresen aláírásra kerül, a következőnek kell megjelennie:
Sikeresen aláírva: C: \ DriverCert \ xg \ xg20gr.cat
Sikeresen aláírt fájlok száma: 1
SignTool ellenőrizze / v / pa c: \ DriverCert \ xg \ xg20gr.cat
Lido fájltulajdonságokban a Digitális aláírások lapon.
A CAT fájl tartalmazza az illesztőprogram könyvtárában lévő összes fájl (az INF fájlban felsorolt szakaszban szereplő fájlok) digitális aláírásait (hüvelykujját). CopyFiles). Ha ezen fájlok valamelyikét módosították, akkor a fájlok ellenőrző összege nem esik egybe a CAT fájlban szereplő adatokkal, ennek eredményeként az ilyen illesztőprogram telepítése meghiúsul..
Tanúsítvány telepítése
mert az általunk létrehozott tanúsítvány saját aláírással rendelkezik, a rendszer alapértelmezés szerint nem bíz meg benne. Adja hozzá a tanúsítványunkat a helyi igazolástárolóhoz. Ezt a következő parancsokkal lehet megtenni:
certmgr.exe -add C: \ DriverCert \ myDrivers.cer -s -r localMachine ROOT
certmgr.exe -add C: \ DriverCert \ myDrivers.cer -s -r localMachine TRUSTEDPUBLISHER
Vagy a tanúsítványok hozzáadására szolgáló grafikus varázslóból (a tanúsítványt el kell helyezni a tárolóba Megbízható Kiadók és Megbízható gyökér tanúsítvány hatóság helyi gép). Egy tartományban központilag eloszthatja ezt a tanúsítványt munkaállomásokra a csoportházirend segítségével.
megjegyzés. A létrehozott tanúsítvány rendelkezésre állását megbízható tanúsítványokban ellenőrizheti az igazoláskezelő beépülő modul megnyitásával (certmgr.msc), és ellenőrizheti az általunk létrehozott (a Winitpro számára kiadott) tanúsítvány jelenlétét a megfelelő tárolókban..megjegyzés. A tanúsítványtárolónak a Sigcheck segédprogrammal történő ellenőrzésekor ez a tanúsítvány megbízhatatlanként jelenik meg, mert nem szerepel a Microsoft gyökér tanúsítványok listáján (ezt a listát rendszeresen frissíteni kell).
Saját aláírású tanúsítvánnyal hitelesített illesztőprogram telepítése
Próbáljuk meg a következő parancs futtatásával telepíteni az aláírt illesztőprogramot:
Pnputil -i -a C: \ DriverCert \ xg20 \ xg20gr.inf
Most, az illesztőprogram telepítése során, nem jelenik meg figyelmeztető ablak az illesztőprogram hiányzó digitális aláírásáról.
Az illesztőprogram sikeresen telepítve lett a rendszer valamelyik eszközére.
Az illesztőprogram-csomag sikeresen hozzáadva.
Windows 7 esetén ez a figyelmeztetés jelenik meg. arról, hogy biztosan telepíti-e ezt az illesztőprogramot (Windows 10 x64 1803 esetén nem jelenik meg ilyen előugró ablak). A "felszerel", telepíti az illesztőprogramot a rendszerbe.
Ha valamilyen okból nem telepíti az illesztőprogramot, akkor a fájl tartalmazza az illesztőprogram részletes telepítési naplóját C: \ Windows\ inf\ setupapi.dev.log. Ez a napló lehetővé teszi, hogy részletesebb információkat szerezzen a telepítési hibáról. A legtöbb esetben az "Illesztőprogram-csomag sikertelen aláírás-érvényesítés" hiba fordul elő - valószínűleg ez azt jelenti, hogy az illesztőprogram-igazolást nem adják hozzá a megbízható tanúsítványokhoz.
Ha az illesztőprogram telepítése sikeres volt, a következő sorok jelennek meg a setupapi.dev.log fájlban:
>>> [Eszköztelepítés (DiInstallDriver) - C: \ WINDOWS \ System32 \ DriverStore \ FileRepository \ xg20gr.inf_amd64_c5955181485ee80a \ xg20gr.inf] >>> A szakasz kezdete 2018/07/22 23: 32: 57.015 cmd: Pnputil -i - ac: \ DriverCert \ xg \ xg20gr.inf ndv: Zászlók: 0x00000000 ndv: INF elérési út: C: \ WINDOWS \ System32 \ DriverStore \ FileRepository \ xg20gr.inf_amd64_c5955181485ee80a \ xg20gr.inf inf: SetupCopyOEMInf DriverStore \ FileRepository \ xg20gr.inf_amd64_c5955181485ee80a \ xg20gr.inf 23: 32: 57.046 inf: Másolási stílus: 0x00000000 inf: Illesztőprogram tároló elérési útja: C: \ WINDOWS \ System32 \ DriverStore \ FileRepository \ xg20gr.inf_amd64 Inf út: C: \ WINDOWS \ INF \ oem23.inf inf: SetupCopyOEMInf exit (0x00000000) 23: 32: 57.077 <<< Section end 2018/07/22 23:32:57.155 <<< [Exit status: SUCCESS]
Mint láthatja, egy önaláírott illesztőprogram telepítéséhez nem is kellett kikapcsolnunk az illesztőprogramok digitális aláírás-ellenőrzését a bcdedit.exe segítségével, az itt leírtak szerint (parancsok bcdedit.exe / set loadoptions DISABLE_INTEGRITY_CHECKS
és bcdedit.exe / set testsigning BE
).