Attestatiehandtekening Windows stuurprogramma's

In dit artikel wordt beschreven hoe u een stuurprogramma ondertekent met attestatie-ondertekening.

Opmerking

Attestation ondertekende stuurprogramma's die bedoeld zijn voor retail doelgroepen worden niet gepubliceerd op Windows Update. Ondersteuning blijft bestaan voor door attestation ondertekende stuurprogramma's wanneer u scenario's test met de opties CoDev of Test Registry Key/Surface SSRK.

Vereiste voorwaarden

Het CAB-bestand maken

Met de volgende procedure maakt u een CAB-bestand aan door het Echo-stuurprogramma-voorbeeld te gebruiken ter illustratie van de stappen.

Een typische CAB-bestandsverzending moet de volgende onderdelen bevatten:

  • Het stuurprogramma zelf (bijvoorbeeld Echo.sys).

  • Het INF-stuurprogrammabestand (.inf) dat door het dashboard wordt gebruikt om het ondertekeningsproces te vergemakkelijken.

  • Het symboolbestand dat wordt gebruikt voor foutopsporingsgegevens, zoals Echo.pdb. Het bestand .pdb is vereist voor Microsoft hulpprogramma's voor automatische crashanalyse.

  • Catalogusbestanden (.cat) zijn vereist en worden uitsluitend gebruikt voor bedrijfsverificatie. Microsoft catalogusbestanden opnieuw genereert en alle eerder ingediende catalogusbestanden vervangt.

Opmerking

Elke stuurprogrammamap in uw CAB-bestand moet dezelfde set architecturen ondersteunen. Ze moeten bijvoorbeeld x86, x64 ondersteunen of ze moeten allemaal zowel x86 als x64 ondersteunen.

Gebruik geen UNC-bestandssharepaden wanneer u naar uw stuurprogrammalocaties (\server\share) verwijst. U moet een gemapte stationsletter gebruiken om de CAB geldig te maken.

Voer de volgende stappen uit om het CAB-bestand te maken:

  1. Verzamel de binaire bestanden die ondertekend moeten worden in één directory. In dit voorbeeld wordt de C:\Echo map gebruikt.

  2. Open een opdrachtpromptvenster met beheerdersbevoegdheden.

  3. Voer de MakeCab /? opdracht in om de opdrachtopties weer te geven:

    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. Bereid een DDF-invoerbestand (CAB File Description Framework) voor. Voor het Echo-stuurprogramma in dit voorbeeld kan de invoer vergelijkbaar zijn met de volgende code:

    ;*** 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. Voer de volgende opdracht in om het CAB-bestand te maken:

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

    In de uitvoer van de MakeCab opdracht moet het aantal bestanden in het gemaakte CAB-bestand worden weergegeven. In dit geval moeten er twee bestanden zijn.

    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. Zoek het CAB-bestand in de Disk1 submap. U kunt het CAB-bestand selecteren in Verkenner om te controleren of het de verwachte bestanden bevat.

Het CAB-bestand ondertekenen met uw EV-certificaat

De volgende stap is het ondertekenen van het CAB-bestand met uw EV-certificaat.

Gebruik het proces dat wordt aanbevolen door uw EV-certificaatprovider. Als u bijvoorbeeld uw CAB-bestand wilt ondertekenen met een SHA256-tijdstempel, voert u de volgende opdracht in:

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"

Belangrijk

Vergeet niet om best practices voor de branche te gebruiken om de beveiliging van het ev-codeondertekeningsproces te beheren.

Verzend het DOOR EV ondertekende CAB-bestand in partnercentrum

Nadat u het CAB-bestand hebt ondertekend, kunt u het bestand indienen in het Partnercentrum:

  1. Ga naar het hardwaredashboard van het Partnercentrum en meld u aan met uw inloggegevens.

  2. Selecteer Nieuwe hardware verzenden.

    Schermopname van de lijst met hardware-inzendingen.

  3. Voer in de sectie Pakketten en ondertekeningseigenschappen een productnaam in voor het indienen van uw stuurprogramma. Gebruik deze naam om uw stuurprogramma-inzendingen te zoeken en te organiseren.

    Opmerking

    De naam is zichtbaar wanneer je jouw bestuurder met een ander bedrijf deelt.

  4. Laat beide opties voor testondertekening uitgeschakeld (niet geselecteerd).

  5. Selecteer voor de optie Aangevraagde handtekeningen de handtekeningen die u wilt opnemen in het stuurprogrammapakket:

    Schermopname die de opties toont om het Echo-stuurprogramma aan te bieden voor ondertekening.

  6. Kies Verzend onder aan de pagina.

  7. Nadat het ondertekeningsproces is voltooid, downloadt u het ondertekende stuurprogramma van het hardwaredashboard.

Controleer of het stuurprogramma juist is ondertekend

Controleer of uw stuurprogramma juist is ondertekend met deze stappen:

  1. Nadat u het indieningsbestand hebt gedownload, extraheert u het stuurprogrammabestand.

  2. Open een opdrachtpromptvenster met beheerdersbevoegdheden.

  3. Voer de volgende opdracht in om te controleren of het stuurprogramma is ondertekend zoals verwacht:

    C:\Echo> SignTool verify Echo.Sys
    
  4. Als u andere informatie wilt weergeven en SignTool alle handtekeningen in een bestand met meerdere handtekeningen wilt laten verifiëren, voert u de volgende opdracht in:

     C:\Echo> SignTool verify /pa /ph /v /d Echo.Sys
    
  5. Voer de volgende stappen uit om het enhanced key usages (EKU's) van het stuurprogramma te bevestigen:

    1. Open Windows Explorer en zoek het binaire bestand. Klik met de rechtermuisknop op het bestand en selecteer Eigenschappen.

    2. Selecteer op het tabblad Digitale handtekeningen het vermelde item in de lijst met handtekeningen.

    3. Selecteer Details en selecteer Vervolgens Certificaat weergeven.

    4. Selecteer Uitgebreid sleutelgebruik op het tabblad Details.

Het stuurprogramma gebruikt het volgende proces wanneer het stuurprogramma wordt verwijderd:

  1. Voeg een Microsoft ingesloten SHA-2-handtekening toe.

  2. Als de binaire stuurprogrammabestanden door de klant zijn ingesloten met hun eigen certificaten, overschrijft u de handtekeningen.

  3. Maak en onderteken een nieuw catalogusbestand met een SHA-2-Microsoft-certificaat. De catalogus vervangt elke bestaande catalogus die door de klant wordt geleverd.

Uw stuurprogramma testen op Windows

Installeer het voorbeeldstuurprogramma en test het op Windows:

  1. Open een opdrachtpromptvenster met beheerdersbevoegdheden.

  2. Ga naar de map stuurprogrammapakket en voer de volgende opdracht in.

    C:\Echo> devcon install echo.inf root\ECHO
    
  3. Controleer of het installatieproces van het stuurprogramma niet het volgende foutbericht weergeeft: 'Windows kan de uitgever van deze stuurprogrammasoftware niet verifiëren.'

Een inzending maken met meerdere stuurprogramma's

Dien meerdere stuurprogramma's tegelijk in door de volgende stappen uit te voeren:

  1. Maak een submap voor elk stuurprogramma.

    Diagram met een voorbeeld van een mapstructuur voor ondertekening van stuurprogramma's.

  2. Bereid een CAB-bestand DDF-invoerbestand voor dat verwijst naar de submappen. In dit voorbeeld kan de invoer vergelijkbaar zijn met de volgende code:

    ;*** 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