Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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
Lees en begrijp de vereisten voor attestatie-ondertekende stuurprogramma's voor testscenario's.
Registreer u voor het Hardware Developer Program. Als u niet bent geregistreerd, volgt u de stappen in Register voor het Microsoft Windows Hardware Developer Program.
u moet beschikken over een EV-code signing certificaat (uitgebreid validatiecodeondertekeningscertificaat). Controleer of uw organisatie al een certificaat voor ondertekening van programmacode heeft.
Als u een bestaand certificaat hebt, maakt u het certificaat beschikbaar.
Als uw organisatie geen certificaat heeft, koopt u een EV-certificaat.
Download en installeer de Windows Assessment and Deployment Kit (Windows ADK) door het proces te volgen dat wordt beschreven in Download en installeer de Windows ADK.
(Optioneel) Download het Echo-stuurprogrammavoorbeeld dat in dit artikel wordt gebruikt. Deze is beschikbaar op GitHub.
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:
Verzamel de binaire bestanden die ondertekend moeten worden in één directory. In dit voorbeeld wordt de
C:\Echomap gebruikt.Open een opdrachtpromptvenster met beheerdersbevoegdheden.
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).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.SysVoer de volgende opdracht in om het CAB-bestand te maken:
C:\Echo> MakeCab /f "C:\Echo\Echo.ddfIn de uitvoer van de
MakeCabopdracht 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/secondZoek het CAB-bestand in de
Disk1submap. 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:
Ga naar het hardwaredashboard van het Partnercentrum en meld u aan met uw inloggegevens.
Selecteer Nieuwe hardware verzenden.
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.
Laat beide opties voor testondertekening uitgeschakeld (niet geselecteerd).
Selecteer voor de optie Aangevraagde handtekeningen de handtekeningen die u wilt opnemen in het stuurprogrammapakket:
Kies Verzend onder aan de pagina.
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:
Nadat u het indieningsbestand hebt gedownload, extraheert u het stuurprogrammabestand.
Open een opdrachtpromptvenster met beheerdersbevoegdheden.
Voer de volgende opdracht in om te controleren of het stuurprogramma is ondertekend zoals verwacht:
C:\Echo> SignTool verify Echo.SysAls 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.SysVoer de volgende stappen uit om het enhanced key usages (EKU's) van het stuurprogramma te bevestigen:
Open Windows Explorer en zoek het binaire bestand. Klik met de rechtermuisknop op het bestand en selecteer Eigenschappen.
Selecteer op het tabblad Digitale handtekeningen het vermelde item in de lijst met handtekeningen.
Selecteer Details en selecteer Vervolgens Certificaat weergeven.
Selecteer Uitgebreid sleutelgebruik op het tabblad Details.
Het stuurprogramma gebruikt het volgende proces wanneer het stuurprogramma wordt verwijderd:
Voeg een Microsoft ingesloten SHA-2-handtekening toe.
Als de binaire stuurprogrammabestanden door de klant zijn ingesloten met hun eigen certificaten, overschrijft u de handtekeningen.
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:
Open een opdrachtpromptvenster met beheerdersbevoegdheden.
Ga naar de map stuurprogrammapakket en voer de volgende opdracht in.
C:\Echo> devcon install echo.inf root\ECHOControleer 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:
Maak een submap voor elk stuurprogramma.
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