Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article explique comment signer un pilote à l’aide de la signature d’attestation. Pour obtenir des informations détaillées et des conditions requises pour la signature d’attestation, consultez les pilotes signés d’attestation Windows 10.
Important
Depuis le 1er mars 2023, les pilotes signés par attestation qui ciblent les audiences de vente au détail ne sont plus publiés sur Windows Update. La prise en charge continue pour les pilotes signés par attestation lors du test de scénarios avec les options CoDev ou Test Registry Key / Surface SSRK .
Conditions préalables
Lisez et comprenez les conditions requises pour les pilotes signés d’attestation Windows 10 pour les scénarios de test.
Inscrivez-vous au programme Développeur matériel. Si vous n’êtes pas inscrit, suivez les étapes décrites dans Register for the Microsoft Windows Hardware Developer Program.
Vous devez disposer d’un certificat de signature de code de validation étendu (EV). Vérifiez si votre organisation dispose déjà d’un certificat de signature de code.
Si vous disposez d’un certificat existant, rendez le certificat disponible.
Si votre organisation n’a pas de certificat, achetez un certificat EV.
Téléchargez et installez le Kit de déploiement et d’évaluation Windows (Windows ADK) en suivant le processus décrit dans Télécharger et installer Windows ADK.
(Facultatif) Téléchargez l’exemple de pilote Echo utilisé dans cet article, disponible sur GitHub.
Créer le fichier CAB
La procédure suivante crée une soumission de fichiers CAB à l’aide de l’exemple de pilote Echo pour illustrer les étapes.
Une soumission de fichier CAB classique doit contenir les composants suivants :
Le pilote lui-même, par exemple Echo.sys.
Le fichier INF du pilote (.inf) est utilisé par le tableau de bord pour simplifier le processus de signature.
Fichier de symboles utilisé pour contenir des informations de débogage, comme Echo.pdb. Le fichier .pdb est requis pour les outils d’analyse automatique des incidents de Microsoft.
Les fichiers .CAT catalogue sont requis et utilisés uniquement pour la vérification de l’entreprise. Microsoft régénère les fichiers catalogue et remplace tous les fichiers catalogue envoyés précédemment.
Remarque
Chaque dossier de pilote de votre fichier CAB doit prendre en charge le même ensemble d’architectures. Par exemple, ils doivent prendre en charge x86, x64, ou tous doivent prendre en charge x86 et x64.
N’utilisez pas les chemins de partage de fichiers UNC lorsque vous référencez vos emplacements de pilote (\server\share). Vous devez utiliser une lettre de lecteur réseau pour que le CAB soit valide.
Pour créer le fichier CAB, procédez comme suit :
Rassemblez les fichiers binaires à connecter à un seul répertoire. Cet exemple utilise le
C:\Echodossier.Ouvrez une fenêtre d’invite de commandes avec des privilèges d’administrateur.
Entrez la
MakeCab /?commande pour afficher les options de commande :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).Préparez un fichier DDF d’entrée pour fichier cab. Pour le pilote Echo dans cet exemple, l’entrée peut être similaire au code suivant :
;*** 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.SysEntrez la commande suivante pour créer le fichier CAB :
C:\Echo> MakeCab /f "C:\Echo\Echo.ddfLa sortie de la
MakeCabcommande doit afficher le nombre de fichiers dans le fichier CAB créé. Dans ce cas, il doit y avoir deux fichiers.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/secondRecherchez le fichier CAB dans le
Disk1sous-répertoire. Vous pouvez sélectionner le fichier CAB dans l’Explorateur de fichiers pour vérifier qu’il contient les fichiers attendus.
Signer le fichier CAB avec votre certificat EV
L’étape suivante consiste à signer le fichier CAB avec votre certificat EV.
Utilisez le processus recommandé par votre fournisseur de certificats EV. Par exemple, pour signer votre fichier CAB avec un algorithme de certificat/digest SHA256/Timestamp, entrez la commande suivante :
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"
Important
N’oubliez pas d’utiliser les meilleures pratiques du secteur pour gérer la sécurité du processus de signature de code EV.
Envoyer le fichier Cab signé EV dans l’Espace partenaires
Une fois que vous avez signé le fichier CAB, vous êtes prêt à envoyer le fichier dans l’Espace partenaires :
Accédez au tableau de bord matériel de l’Espace partenaires et connectez-vous avec vos informations d’identification.
Sélectionnez Envoyer un nouveau matériel :
Dans la section Packages et propriétés de signature, saisissez un nom de produit pour votre soumission de pilote. Ce nom peut être utilisé pour rechercher et organiser vos soumissions de pilotes.
Remarque
Le nom est visible lorsque vous partagez votre driver logiciel avec une autre entreprise.
Laissez les deux options de signature de test désactivées (non sélectionnées).
Pour l’option Signatures demandées , sélectionnez les signatures à inclure dans votre package de pilotes :
Sélectionnez Soumettre en bas de la page.
Une fois le processus de signature terminé, téléchargez votre pilote signé à partir du tableau de bord matériel.
Valider que le pilote est correctement signé
Vérifiez que votre pilote a été correctement signé avec les étapes suivantes :
Après avoir téléchargé le fichier de soumission, extrayez le fichier de pilote.
Ouvrez une fenêtre d’invite de commandes avec des privilèges d’administrateur.
Entrez la commande suivante pour vérifier que le pilote est signé comme prévu :
C:\Echo> SignTool verify Echo.SysPour répertorier d’autres informations et que SignTool vérifie toutes les signatures d’un fichier avec plusieurs signatures, entrez la commande suivante :
C:\Echo> SignTool verify /pa /ph /v /d Echo.SysPour confirmer les EKU du pilote, effectuez les étapes suivantes :
Ouvrez l’Explorateur Windows et recherchez le fichier binaire. Cliquez avec le bouton de droite sur le fichier et sélectionnez Propriétés.
Sous l’onglet Signatures numériques , sélectionnez l’élément répertorié dans la liste Signature.
Sélectionnez Détails, puis afficher le certificat.
Sous l’onglet Détails , sélectionnez Utilisation améliorée de la clé.
Le pilote utilise le processus suivant lorsqu’il démissionne du pilote :
Ajoutez une signature incorporée Microsoft SHA2.
Si les fichiers binaires du pilote sont incorporés signés par le client avec leurs propres certificats, remplacez les signatures.
Créez et signez un nouveau fichier catalogue avec un certificat Microsoft SHA2. Le catalogue remplace tout catalogue existant fourni par le client.
Tester votre pilote sur Windows
Installez l’exemple de pilote et testez-le sur Windows :
Ouvrez une fenêtre d’invite de commandes avec des privilèges d’administrateur.
Accédez à votre dossier de package de pilotes, puis entrez la commande suivante.
C:\Echo> devcon install echo.inf root\ECHOVérifiez que le processus d’installation du pilote n’affiche pas le message d’erreur suivant :
Windows ne peut pas vérifier l’éditeur de ce logiciel de pilote message._
Créer une soumission avec plusieurs pilotes
Envoyez plusieurs pilotes en même temps en suivant les étapes suivantes :
Créez un sous-répertoire pour chaque pilote :
Préparez un fichier DDF d'entrée pour fichier CAB qui fait référence aux sous-répertoires. Pour cet exemple, l’entrée peut être similaire au code suivant :
;*** 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