Ověřovací podpis ovladačů Windows

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:

  1. Shromážděte binární soubory určené k podepsání do jednoho adresáře. Tento příklad používá C:\Echo složku.

  2. Otevřete okno příkazového řádku s oprávněními správce.

  3. 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).
    
  4. 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.Sys
    
  5. Zadáním následujícího příkazu vytvořte soubor CAB:

    C:\Echo> MakeCab /f "C:\Echo\Echo.ddf
    

    Výstup příkazu MakeCab by 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/second
    
  6. Vyhledejte soubor CAB v Disk1 podadresář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:

  1. Přejděte na hardwarový řídicí panel Partnerského centra a přihlaste se pomocí svých přihlašovacích údajů.

  2. Vyberte Odeslat nový hardware.

    Snímek obrazovky se seznamem odeslání hardwaru

  3. 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í.

  4. Nechte obě možnosti testovacího podepisování nezaškrtnuté (nevybrané).

  5. U možnosti Požadované podpisy vyberte podpisy, které chcete zahrnout do balíčku ovladačů:

    Snímek obrazovky znázorňující možnosti odeslání ovladače Echo pro podepisování

  6. V dolní části stránky vyberte Odeslat .

  7. 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ý:

  1. Po stažení souboru s odeslanými daty dekomprimujte soubor ovladače.

  2. Otevřete okno příkazového řádku s oprávněními správce.

  3. 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.Sys
    
  4. Pokud 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.Sys
    
  5. Pokud chcete potvrdit použití rozšířených klíčů (EKU) ovladače, proveďte následující kroky:

    1. Otevřete průzkumníka Windows a vyhledejte binární soubor. Klikněte na soubor pravým tlačítkem a vyberte Vlastnosti.

    2. Na kartě Digitální podpisy vyberte položku v seznamu podpisů.

    3. Vyberte Podrobnosti a pak vyberte Zobrazit certifikát.

    4. Na kartě Podrobnosti vyberte Použití rozšířeného klíče.

Ovladač používá následující proces, když ovladač rezignuje:

  1. Připojte vložený podpis SHA-2 Microsoft.

  2. Pokud zákazník vložil binární soubory ovladačů podepsané vlastními certifikáty, přepište existující podpisy.

  3. 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:

  1. Otevřete okno příkazového řádku s oprávněními správce.

  2. Přejděte do složky balíčku ovladače a zadejte následující příkaz.

    C:\Echo> devcon install echo.inf root\ECHO
    
  3. Ověř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:

  1. Vytvořte podadresář pro každý ovladač.

    Diagram znázorňující ukázkovou strukturu adresářovou pro podepisování ovladačů.

  2. 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