Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird erläutert, wie Sie einen Treiber mithilfe der Nachweissignatur signieren.
Hinweis
Attestationssignierte Treiber, die für Endverbraucher bestimmt sind, werden nicht auf Windows Update veröffentlicht. Die Unterstützung für nachweissignierte Treiber wird fortgesetzt, wenn Sie Szenarien mit den Optionen CoDev oder Test Registry Key /Surface SSRK testen.
Voraussetzungen
Lesen und verstehen Sie die Anforderungen für signierte Nachweistreiber für Testszenarien.
Registrieren Sie sich für das Hardware-Entwicklerprogramm. Wenn Sie nicht registriert sind, führen Sie die Schritte in Register für das Microsoft Windows Hardware Developer Program aus.
Sie müssen über ein Extended-Validation(EV)-Codesignaturzertifikat verfügen. Überprüfen Sie, ob Ihr Unternehmen bereits über ein Code-Signatur-Zertifikat verfügt.
Wenn Sie über ein vorhandenes Zertifikat verfügen, stellen Sie das Zertifikat zur Verfügung.
Wenn Ihre Organisation kein Zertifikat besitzt, erwerben Sie ein EV-Zertifikat.
Laden Sie das Windows Assessment and Deployment Kit (Windows ADK) herunter, und installieren Sie es, indem Sie den in Download beschriebenen Prozess ausführen und das Windows ADK installieren.
(Optional) Laden Sie das Echo-Treiberbeispiel herunter, das in diesem Artikel verwendet wird, der auf GitHub verfügbar ist.
Erstellen der CAB-Datei
Im folgenden Verfahren wird eine CAB-Dateiübermittlung mithilfe des Beispiels Echo-Treiber erstellt, um die Schritte zu veranschaulichen.
Eine typische CAB-Dateiübermittlung muss die folgenden Komponenten enthalten:
Der Treiber selbst (z. B. Echo.sys).
Die vom Dashboard verwendete Treiber-INF-Datei (INF), um den Signiervorgang zu vereinfachen.
Die Symboldatei, die zum Debuggen von Informationen verwendet wird, z. B. Echo.pdb. Die Datei .pdb ist für Microsoft automatisierte Absturzanalysetools erforderlich.
Katalogdateien (CAT) sind erforderlich und werden nur für die Überprüfung des Unternehmens verwendet. Microsoft erstellt Katalogdateien neu und ersetzt alle zuvor übermittelten Katalogdateien.
Hinweis
Jeder Treiberordner in Ihrer CAB-Datei muss denselben Satz von Architekturen unterstützen. Sie müssen z. B. x86, x64 oder alle x86 und x64 unterstützen.
Verwenden Sie keine UNC-Dateifreigabepfade, wenn Sie auf Ihre Treiberspeicherorte verweisen (\server\share). Sie müssen einen zugeordneten Laufwerkbuchstaben verwenden, damit die CAB-Datei gültig ist.
Führen Sie die folgenden Schritte aus, um die CAB-Datei zu erstellen:
Sammeln Sie die Binärdateien, die bei einem einzelnen Verzeichnis angemeldet werden sollen. In diesem Beispiel wird der
C:\EchoOrdner verwendet.Öffnen Sie ein Eingabeaufforderungsfenster mit Administratorrechten.
Geben Sie den
MakeCab /?Befehl ein, um die Befehlsoptionen anzuzeigen: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).Bereiten Sie eine CAB-Datei für das Gerätebeschreibungs-Framework (DDF) vor. Für den Echo-Treiber in diesem Beispiel kann die Eingabe dem folgenden Code ähneln:
;*** 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.SysGeben Sie den folgenden Befehl ein, um die CAB-Datei zu erstellen:
C:\Echo> MakeCab /f "C:\Echo\Echo.ddfDie Ausgabe des
MakeCabBefehls sollte die Anzahl der Dateien in der erstellten CAB-Datei anzeigen. In diesem Fall sollte es zwei Dateien geben.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/secondSuchen Sie die CAB-Datei im
Disk1Unterverzeichnis. Sie können die CAB-Datei im Datei-Explorer auswählen, um zu überprüfen, ob sie die erwarteten Dateien enthält.
Signieren der CAB-Datei mit Ihrem EV-Zertifikat
Der nächste Schritt besteht darin, die CAB-Datei mit Ihrem EV-Zertifikat zu signieren.
Verwenden Sie den von Ihrem EV-Zertifikatanbieter empfohlenen Prozess. Wenn Sie ihre CAB-Datei beispielsweise mit einem SHA256-Zeitstempel signieren möchten, geben Sie den folgenden Befehl ein:
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"
Von Bedeutung
Denken Sie daran, die bewährten Methoden der Branche zu verwenden, um die Sicherheit des EV-Codesignaturprozesses zu verwalten.
Reichen Sie die vom EV signierte CAB-Datei im Partner Center ein.
Nachdem Sie die CAB-Datei signiert haben, können Sie die Datei im Partner Center übermitteln:
Wechseln Sie zum Partner Center-Hardwaredashboard, und melden Sie sich mit Ihren Anmeldeinformationen an.
Wählen Sie "Neue Hardware übermitteln" aus.
Geben Sie im Abschnitt "Pakete und Signatureigenschaften" dazu einen Produktnamen für die Treiber-Einreichung ein. Verwenden Sie diesen Namen, um Ihre Treiber-Einreichungen zu finden und zu verwalten.
Hinweis
Der Name ist sichtbar, wenn Sie Ihr Profil mit einem anderen Unternehmen teilen.
Lassen Sie beide Testsignaturoptionen deaktiviert (nicht ausgewählt).
Wählen Sie für die Option "Angeforderte Signaturen" die Signaturen aus, die in Ihr Treiberpaket eingeschlossen werden sollen:
Wählen Sie unten auf der Seite "Absenden" aus.
Nachdem der Signiervorgang abgeschlossen ist, laden Sie Ihren signierten Treiber aus dem Hardwaredashboard herunter.
Überprüfen, ob der Softwaretreiber ordnungsgemäß signiert ist
Vergewissern Sie sich, dass Ihr Treiber mit den folgenden Schritten ordnungsgemäß signiert ist:
Nachdem Sie die Übermittlungsdatei heruntergeladen haben, extrahieren Sie die Treiberdatei.
Öffnen Sie ein Eingabeaufforderungsfenster mit Administratorrechten.
Geben Sie den folgenden Befehl ein, um zu überprüfen, ob der Treiber erwartungsgemäß signiert ist:
C:\Echo> SignTool verify Echo.SysWenn Sie andere Informationen auflisten und SignTool alle Signaturen in einer Datei mit mehreren Signaturen überprüfen möchten, geben Sie den folgenden Befehl ein:
C:\Echo> SignTool verify /pa /ph /v /d Echo.SysFühren Sie die folgenden Schritte aus, um die erweiterten Schlüsselverwendungen (Enhanced Key Usages, EKUs) des Treibers zu bestätigen:
Öffnen Sie Windows Explorer, und suchen Sie die Binärdatei. Klicken Sie mit der rechten Maustaste auf die Datei, und wählen Sie Eigenschaften aus.
Wählen Sie auf der Registerkarte "Digitale Signaturen " das aufgelistete Element in der Signaturliste aus.
Wählen Sie "Details" und dann " Zertifikat anzeigen" aus.
Wählen Sie auf der Registerkarte "Details " die Option "Erweiterte Schlüsselverwendung" aus.
Der Treiber verwendet den folgenden Prozess, wenn er den Treiber deaktiviert:
Fügen Sie eine eingebettete MICROSOFT SHA-2-Signatur an.
Wenn die Treiberbinärdateien vom Kunden mit eigenen Zertifikaten signiert sind, überschreiben Sie die Signaturen.
Erstellen und Signieren einer neuen Katalogdatei mit einem SHA-2-Microsoft-Zertifikat. Der Katalog ersetzt jeden vorhandenen Katalog, der vom Kunden bereitgestellt wird.
Testen Sie Ihren Treiber unter Windows
Installieren Sie den Beispieltreiber, und testen Sie ihn auf Windows:
Öffnen Sie ein Eingabeaufforderungsfenster mit Administratorrechten.
Wechseln Sie zu Ihrem Treiberpaketordner, und geben Sie den folgenden Befehl ein.
C:\Echo> devcon install echo.inf root\ECHOVergewissern Sie sich, dass der Treiberinstallationsprozess die folgende Fehlermeldung nicht anzeigt: "Windows kann den Herausgeber dieser Treibersoftware nicht überprüfen."
Erstellen Sie eine Einreichung mit mehreren Treibern
Mehrere Treiber gleichzeitig übermitteln, indem Sie die folgenden Schritte ausführen:
Erstellen Sie ein Unterverzeichnis für jeden Treiber.
Bereiten Sie eine CAB-Datei-DDF-Eingabedatei vor, die auf die Unterverzeichnisse verweist. In diesem Beispiel ähnelt die Eingabe möglicherweise dem folgenden 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