Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek popisuje, jak podepsat ovladač pomocí potvrzovacího podepisování.
Poznámka:
Ovladače podepsané ověřením identity, zaměřené na maloobchodní zákazníky, se nepublikují na služba Windows Update. Podpora nadále pokračuje pro ovladače s certifikovaným podpisem při testování scénářů s možnostmi CoDev nebo Test Registry Key / Surface SSRK.
Požadavky
Přečtěte si a seznamte se s požadavky na ovladače podepsané ověřením pro scénáře testování.
Zaregistrujte se do programu Pro vývojáře hardwaru. Pokud nejste zaregistrovaní, postupujte podle pokynů v Register pro program Microsoft Windows Hardware Developer Program.
Musíte mít certifikát pro podepisování kódu rozšířeného ověření (EV). Zkontrolujte, jestli už vaše organizace má podpisový certifikát kódu.
Pokud máte existující certifikát, zpřístupnit ho.
Pokud vaše organizace certifikát nemá, kupte si certifikát EV.
Stáhněte a nainstalujte sadu Windows Assessment and Deployment Kit (Windows ADK) podle postupu popsaného v Záčtu a instalaci sady Windows ADK.
(Volitelné) Stáhněte si ukázku ovladače Echo použitá v tomto článku, která je k dispozici na GitHub.
Vytvoření souboru CAB
Následující postup vytvoří podání souborů CAB pomocí ukázky ovladače Echo k ilustraci jednotlivých kroků.
Typické odeslání souboru CAB musí obsahovat následující součásti:
Samotný ovladač (například Echo.sys).
Soubor INF ovladače (INF) používaný řídicím panelem k usnadnění procesu podepisování.
Soubor symbolů používaný k ladění informací, například Echo.pdb. Soubor .pdb se vyžaduje pro Microsoft automatizovaných nástrojů pro analýzu chyb.
Soubory katalogu (.cat) se vyžadují a používají pouze k ověření společnosti. Microsoft znovu vygeneruje soubory katalogu a nahradí všechny soubory katalogu odeslané dříve.
Poznámka:
Každá složka ovladačů v souboru CAB musí podporovat stejnou sadu architektur. Musí například podporovat x86, x64 nebo musí všechny podporovat x86 i x64.
Nepoužívejte cesty sdílené složky UNC při odkazování na umístění ovladačů (\server\share). Aby byl soubor CAB platný, musíte použít namapované písmeno jednotky.
Chcete-li vytvořit soubor CAB, postupujte takto:
Shromážděte binární soubory určené k podepsání do jednoho adresáře. Tento příklad používá
C:\Echosložku.Otevřete okno příkazového řádku s oprávněními správce.
MakeCab /?Zadáním příkazu zobrazíte možnosti příkazu:C:\Echo> MakeCab /? Cabinet Maker - Lossless Data Compression Tool MAKECAB [/V[n]] [/D var=value ...] [/L dir] source [destination] MAKECAB [/V[n]] [/D var=value ...] /F directive_file [...] source File to compress. destination File name to give compressed file. If omitted, the last character of the source file name is replaced with an underscore (_) and used as the destination. /F directives A file with MakeCAB directives (may be repeated). Refer to Microsoft Cabinet SDK for information on directive_file. /D var=value Defines variable with specified value. /L dir Location to place destination (default is current directory). /V[n] Verbosity level (1..3).Připravte vstupní soubor DDF (Device Description Framework) pro soubor CAB. Pro ovladač Echo v tomto příkladu může být vstup podobný následujícímu kódu:
;*** Echo.ddf example ; .OPTION EXPLICIT ; Generate errors .Set CabinetFileCountThreshold=0 .Set FolderFileCountThreshold=0 .Set FolderSizeThreshold=0 .Set MaxCabinetSize=0 .Set MaxDiskFileCount=0 .Set MaxDiskSize=0 .Set CompressionType=MSZIP .Set Cabinet=on .Set Compress=on ;Specify file name for new cab file .Set CabinetNameTemplate=Echo.cab ; Specify the subdirectory for the files. ; Your cab file should not have files at the root level, ; and each driver package must be in a separate subfolder. .Set DestinationDir=Echo ;Specify files to be included in cab file C:\Echo\Echo.Inf C:\Echo\Echo.SysZadáním následujícího příkazu vytvořte soubor CAB:
C:\Echo> MakeCab /f "C:\Echo\Echo.ddfVýstup příkazu
MakeCabby měl zobrazit počet souborů ve vytvořeném souboru CAB. V tomto případě by měly být dva soubory.C:\Echo> MakeCab /f Echo.ddf Cabinet Maker - Lossless Data Compression Tool 17,682 bytes in 2 files Total files: 2 Bytes before: 17,682 Bytes after: 7,374 After/Before: 41.70% compression Time: 0.20 seconds ( 0 hr 0 min 0.20 sec) Throughput: 86.77 Kb/secondVyhledejte soubor CAB v
Disk1podadresáři. Soubor CAB můžete vybrat v Průzkumníku souborů a ověřit, jestli obsahuje očekávané soubory.
Podepsání souboru CAB pomocí certifikátu EV
Dalším krokem je podepsání souboru CAB certifikátem EV.
Použijte proces doporučený vaším poskytovatelem certifikátů EV. Pokud chcete například podepsat soubor CAB pomocí časového razítka SHA256, zadejte následující příkaz:
C:\Echo> SignTool sign /s MY /n "Company Name" /fd sha256 /tr http://sha256timestamp.ws.symantec.com/sha256/timestamp /td sha256 /v "C:\Echo\Disk1\Echo.cab"
Důležité
Nezapomeňte použít oborové osvědčené postupy ke správě zabezpečení procesu podepisování kódu EV.
Odešlete soubor CAB podepsaný EV v Partnerském centru
Po podepsání souboru CAB můžete soubor odeslat v Partnerském centru:
Přejděte na hardwarový řídicí panel Partnerského centra a přihlaste se pomocí svých přihlašovacích údajů.
Vyberte Odeslat nový hardware.
V části Balíčky a podpisové vlastnosti zadejte název produktu pro odeslání ovladače. Tento název použijte k vyhledání a uspořádání odeslaných ovladačů.
Poznámka:
Název se zobrazí, když sdílíte ovladač s jinou společností.
Nechte obě možnosti testovacího podepisování nezaškrtnuté (nevybrané).
U možnosti Požadované podpisy vyberte podpisy, které chcete zahrnout do balíčku ovladačů:
V dolní části stránky vyberte Odeslat .
Po dokončení procesu podepisování stáhněte podepsaný ovladač z hardwarového řídicího panelu.
Ověřte, že je ovladač správně podepsaný.
Pomocí těchto kroků ověřte, že je ovladač správně podepsaný:
Po stažení souboru s odeslanými daty dekomprimujte soubor ovladače.
Otevřete okno příkazového řádku s oprávněními správce.
Zadáním následujícího příkazu ověřte, že je ovladač podepsaný očekávaným způsobem:
C:\Echo> SignTool verify Echo.SysPokud chcete zobrazit seznam dalších informací a nechat SignTool ověřit všechny podpisy v souboru s více podpisy, zadejte následující příkaz:
C:\Echo> SignTool verify /pa /ph /v /d Echo.SysPokud chcete potvrdit použití rozšířených klíčů (EKU) ovladače, proveďte následující kroky:
Otevřete průzkumníka Windows a vyhledejte binární soubor. Klikněte na soubor pravým tlačítkem a vyberte Vlastnosti.
Na kartě Digitální podpisy vyberte položku v seznamu podpisů.
Vyberte Podrobnosti a pak vyberte Zobrazit certifikát.
Na kartě Podrobnosti vyberte Použití rozšířeného klíče.
Ovladač používá následující proces, když ovladač rezignuje:
Připojte vložený podpis SHA-2 Microsoft.
Pokud zákazník vložil binární soubory ovladačů podepsané vlastními certifikáty, přepište existující podpisy.
Vytvořte a podepište nový soubor katalogu pomocí certifikátu SHA-2 Microsoft. Katalog nahrazuje všechny existující katalogy poskytované zákazníkem.
Otestování ovladače na Windows
Nainstalujte ukázkový ovladač a otestujte ho na Windows:
Otevřete okno příkazového řádku s oprávněními správce.
Přejděte do složky balíčku ovladače a zadejte následující příkaz.
C:\Echo> devcon install echo.inf root\ECHOOvěřte, že proces instalace ovladače nezobrazuje následující chybovou zprávu: "Windows nelze ověřit vydavatele tohoto softwaru ovladače."
Vytvořte odeslání s několika ovladači
Pomocí následujících kroků odešlete více ovladačů najednou:
Vytvořte podadresář pro každý ovladač.
Připravte vstupní soubor CAB DDF, který odkazuje na podadresáře. V tomto příkladu může být vstup podobný následujícímu kódu:
;*** Submission.ddf multiple driver example ; .OPTION EXPLICIT ; Generate errors .Set CabinetFileCountThreshold=0 .Set FolderFileCountThreshold=0 .Set FolderSizeThreshold=0 .Set MaxCabinetSize=0 .Set MaxDiskFileCount=0 .Set MaxDiskSize=0 .Set CompressionType=MSZIP .Set Cabinet=on .Set Compress=on ;Specify file name for new cab file .Set CabinetNameTemplate=Echo.cab ;Specify files to be included in cab file ; First Driver .Set DestinationDir=DriverPackage1 C:\DriverFiles\DriverPackage1\Driver1.sys C:\DriverFiles\DriverPackage1\Driver1.inf ; Second driver .Set DestinationDir=DriverPackage2 C:\DriverFiles\DriverPackage2\Driver2.sys C:\DriverFiles\DriverPackage2\Driver2.inf