Nachweiszeichen Windows 10+ Treiber
In diesem Artikel wird beschrieben, wie Sie einen Treiber mithilfe der Nachweissignatur signieren. Ausführliche Informationen und Anforderungen für die Nachweissignatur finden Sie unter Windows 10 nachweissignierten Treibern.
Wichtig
Ab dem 1. März 2023 werden nachweissignierte Treiber, die auf Einzelhandelsgruppen abzielen, nicht mehr auf Windows Update veröffentlicht. Nachweissignierte Treiber für Testszenarien werden weiterhin unterstützt, wenn Sie die Optionen CoDev oder TestRegistrierungsschlüssel/Surface SSRK auswählen.
Voraussetzungen
Lesen und verstehen Sie die Anforderungen für Windows 10 nachweissignierten Treiber.
Registrieren Sie sich für das Hardwareentwicklerprogramm. Wenn Sie noch nicht registriert sind, führen Sie die Schritte unter Registrieren 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 organization bereits über ein Codesignaturzertifikat verfügt. Sorgen Sie dafür, dass das Zertifikat verfügbar ist, falls dies der Fall ist. Wenn Ihr organization kein Zertifikat hat, müssen Sie ein EV-Zertifikat erwerben.
Befolgen Sie den unter Herunterladen von Kits und Tools für Windows 10 beschriebenen Prozess, um das Windows Driver Kit (WDK) herunterzuladen und zu installieren.
(Optional) Laden Sie das Echotreiberbeispiel herunter, das in diesem Artikel verwendet wird.
Erstellen der CAB-Datei
In diesem Abschnitt erfahren Sie, wie Sie eine CAB-Dateiübermittlung erstellen. Wir verwenden das Echotreiberbeispiel , um den Prozess zu veranschaulichen.
Eine typische CAB-Dateiübermittlung muss Folgendes enthalten:
Der Treiber selbst, z. B. Echo.sys
Die Treiber-INF-Datei, die vom Dashboard verwendet wird, um den Signierungsprozess zu vereinfachen.
Die Symboldatei, die für Debuginformationen verwendet wird. Beispiel: Echo.pdb. Die PDB-Datei ist für die automatisierten Absturzanalysetools von Microsoft erforderlich.
CAT-Katalogdateien sind erforderlich und werden nur für die Unternehmensüberprüfung verwendet. Microsoft generiert Katalogdateien neu und ersetzt alle übermittelten Katalogdateien.
Hinweis
Jeder Treiberordner in Ihrer CAB-Datei muss den gleichen Satz von Architekturen unterstützen. Beispielsweise müssen sie x86, x64 unterstützen, oder alle müssen sowohl x86 als auch 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 gültig ist.
So erstellen Sie die CAB-Datei:
Sammeln Sie die Binärdateien, die bei einem einzelnen Verzeichnis angemeldet werden sollen. In diesem Beispiel verwenden
C:\\Echo
wir .Öffnen Sie ein Eingabeaufforderungsfenster als Administrator.
Geben Sie ein
MakeCab /?
, um die MakeCab-Optionen 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 DDF-Eingabedatei für eine CAB-Datei vor. Für unseren Echo-Treiber sieht dies in etwa wie folgt aus.
;*** 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
Geben Sie Folgendes ein, um die CAB-Datei zu erstellen.
C:\Echo> MakeCab /f "C:\Echo\Echo.ddf
Die Ausgabe von MakeCab sollte die Anzahl der Dateien in der erstellten CAB-Datei anzeigen. In diesem Fall sollten zwei Dateien vorhanden sein.
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
Suchen Sie die CAB-Datei im
Disk1
Unterverzeichnis. Sie können die CAB-Datei in Explorer auswählen, um zu überprüfen, ob sie die erwarteten Dateien enthält.
Signieren der CAB-Datei mit Ihrem EV-Zertifikat
Verwenden Sie den vom EV-Zertifikatanbieter empfohlenen Prozess, um die CAB-Datei mit Ihrem EV-Zertifikat zu signieren. Geben Sie beispielsweise den folgenden Befehl ein, um Ihre CAB-Datei mit einem SHA256 Certificate/Digest Algorithm/Timestamp zu signieren:
C:\Echo> SignTool sign /ac "C:\MyEVCert.cer" /s MY /n "Company Name" /fd sha256 /tr http://sha256timestamp.ws.symantec.com/sha256/timestamp /td sha256 /v "C:\Echo\Disk1\Echo.cab"
Wichtig
Denken Sie daran, bewährte Methoden der Branche zu verwenden, um die Sicherheit des E-Codesignierungsprozesses zu verwalten.
Übermitteln der E-signierten Cab-Datei mithilfe des Partner Center
Wechseln Sie zu Partner Center-Hardware Dashboard, und melden Sie sich mit Ihren Anmeldeinformationen an.
Wählen Sie Neue Hardware übermitteln aus.
Geben Sie im Abschnitt Pakete und Signatureigenschaften einen Produktnamen für Ihre Treiberübermittlung ein. Dieser Name kann verwendet werden, um Ihre Treiberübermittlungen zu suchen und zu organisieren.
Hinweis
Wenn Sie Ihren Treiber mit einem anderen Unternehmen teilen, wird dieser Name angezeigt.
Lassen Sie beide Testsignaturoptionen deaktiviert.
Wählen Sie für Angeforderte Signaturen aus, welche Signaturen Sie in Ihr Treiberpaket aufnehmen möchten.
Navigieren Sie nach unten durch die Seite, und wählen Sie Senden aus.
Wenn der Signierungsprozess abgeschlossen ist, laden Sie Ihren signierten Treiber von der Hardware Dashboard herunter.
Überprüfen, ob der Treiber ordnungsgemäß signiert wurde
Führen Sie die folgenden Schritte aus, um sicherzustellen, dass der Treiber ordnungsgemäß signiert wurde.
Nachdem Sie die Übermittlungsdatei heruntergeladen haben, extrahieren Sie die Treiberdatei.
Öffnen Sie ein Eingabeaufforderungsfenster als Administrator.
Geben Sie den folgenden Befehl ein, um zu überprüfen, ob der Treiber wie erwartet signiert wurde.
C:\Echo> SignTool verify Echo.Sys
Geben Sie den folgenden Befehl ein, um zusätzliche Informationen auflisten und signtool alle Signaturen in einer Datei mit mehreren Signaturen überprüfen zu lassen:
C:\Echo> SignTool verify /pa /ph /v /d Echo.Sys
Führen Sie die folgenden Schritte aus, um die EKUs des Treibers zu bestätigen.
Öffnen Sie Windows Explorer, und suchen Sie die Binärdatei. Halten Sie die Datei gedrückt (oder klicken Sie mit der rechten Maustaste darauf), und wählen Sie Eigenschaften aus.
Wählen Sie auf der Registerkarte Digitale Signaturen das aufgelistete Element in der Liste Signatur aus.
Wählen Sie Details und dann Zertifikat anzeigen aus.
Wählen Sie auf der Registerkarte Detailsdie Option Erweiterte Schlüsselverwendung aus.
Wenn der Treiber vom Dashboard wird der folgende Prozess verwendet.
- Fügt eine eingebettete Microsoft SHA2-Signatur an.
- Wenn die Treiberbinärdateien eingebettet sind, die vom Kunden mit eigenen Zertifikaten signiert sind, werden diese Signaturen nicht überschrieben.
- Erstellt und signiert eine neue Katalogdatei mit einem SHA2-Microsoft-Zertifikat. Dieser Katalog ersetzt alle vorhandenen Kataloge, die vom Kunden bereitgestellt werden.
Testen Des Treibers auf Windows 10
Verwenden Sie die folgenden Anweisungen, um den Beispieltreiber zu installieren.
Öffnen Sie ein Eingabeaufforderungsfenster als Administrator. Wechseln Sie zu Ihrem Treiberpaketordner, und geben Sie den folgenden Befehl ein.
C:\Echo> devcon install echo.inf root\ECHO
Vergewissern Sie sich, dass im Treiberinstallationsprozess nicht die Option "Windows kann den Herausgeber dieser Treibersoftware nicht überprüfen" anzeigt. Dialogfeld "Windows-Sicherheit".
Erstellen einer Übermittlung mit mehreren Treibern
So übermitteln Sie mehrere Treiber gleichzeitig:
Erstellen Sie ein Unterverzeichnis für jeden Treiber, wie unten gezeigt.
Bereiten Sie eine DDF-Eingabedatei für die CAB-Datei vor, die auf die Unterverzeichnisse verweist. Diese Ausgabe sieht ungefähr so aus:
;*** 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
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für