Sdílet prostřednictvím


Podepisování ovladačů systému Windows prostřednictvím ověření identity

Tento článek popisuje, jak podepsat ovladač pomocí potvrzovacího podepisování. Podrobné informace a požadavky pro podepisování ověření identity najdete v ovladačích podepsaných ověřením identity ve Windows 10.

Důležité

Od 1. března 2023 už nejsou ve službě Windows Update publikovány ovladače podepsané ověřením, které cílí na cílové skupiny maloobchodního prodeje. Podpora pokračuje pro ovladače s podpisem ověřovacím atestem při testování scénářů s možnostmi CoDev nebo Test Registry Key / Surface SSRK.

Požadavky

Vytvoření souboru CAB

Následující postup vytvoří odeslání souborů CAB pomocí ukázky ovladače Echo pro ilustraci 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 je vyžadován pro automatizované nástroje pro analýzu chyb od Microsoftu.

  • Soubory .CAT katalogu se vyžadují a používají se pouze k ověření společnosti. Společnost Microsoft znovu vygeneruje soubory katalogu a nahrazuje 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 pro vytvoření CAB souboru. 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í algoritmu SHA256 Certificate/Digest Algorithm/Timestamp, 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.

Odeslání souboru CAB podepsaného 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 lze použít k vyhledání a uspořádání odeslání 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 s možnostmi 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, zda je ovladač správně podepsán

Ověřte, že ovladač byl správně podepsaný pomocí těchto kroků:

  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. Aby bylo potvrzeno EKU driveru, 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 podpisovém seznamu.

    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 Microsoft SHA2.

  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 SHA2 Microsoft. Katalog nahrazuje všechny existující katalogy poskytované zákazníkem.

Otestování ovladače ve Windows

Nainstalujte ukázkový ovladač a otestujte ho ve 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:

    Systém Windows nemůže ověřit vydavatele tohoto softwaru ovladače message._

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í příklad struktury adresáře 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