Partager via


Signe d’attestation des pilotes Windows 10+

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 d’attestation ciblant les audiences de vente au détail ne sont plus publiés sur Windows Update. Les pilotes signés d’attestation pour les scénarios de test sont toujours pris en charge lors de la sélection des options CoDev ou Test Registry Key / Surface SSRK .

Prérequis

  • Lisez et comprenez les conditions requises pour les pilotes signés d’attestation Windows 10.

  • Inscrivez-vous au programme Développeur matériel. Si vous n’êtes pas encore inscrit, suivez les étapes décrites dans How to register for the Microsoft Windows Hardware Developer Program.

  • Vous devez disposer d’un certificat de signature de code de validation étendue (EV). Vérifiez si votre organisation dispose déjà d’un certificat de signature de code. Si votre entreprise dispose déjà d’un certificat, disposez du certificat disponible. Si votre organisation n’a pas de certificat, vous devez acheter un certificat EV.

  • Suivez le processus décrit dans Les kits de téléchargement et les outils pour Windows 10 pour télécharger et installer le Kit de pilotes Windows (WDK).

  • (Facultatif) Téléchargez l’exemple de pilote d’écho utilisé dans cet article.

Créer le fichier CAB

Dans cette section, nous allons parcourir le processus de création d’une soumission de fichiers CAB. Nous allons utiliser l’exemple de pilote d’écho pour illustrer le processus.

Une soumission de fichier CAB classique doit contenir les éléments suivants :

  • Le pilote lui-même, par exemple Echo.sys

  • Fichier INF du pilote utilisé par le tableau de bord pour faciliter le processus de signature.

  • Fichier de symboles utilisé pour le débogage des informations. Par exemple, 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 soumis.

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 lors du référencement de vos emplacements de pilote (\\\server\share). Vous devez utiliser une lettre de lecteur mappée pour que le cab soit valide.

Pour créer le fichier CAB :

  1. Rassemblez les fichiers binaires à connecter à un seul répertoire. Dans cet exemple, nous allons utiliser C:\\Echo.

  2. Ouvrez une fenêtre d’invite de commande en tant qu’Administrateur.

  3. Entrez MakeCab /? pour afficher les options MakeCab :

    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. Préparez un fichier d’entrée DDF de fichier cab. Pour notre pilote Echo, il pourrait ressembler à ceci.

    ;*** 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. Entrez ce qui suit pour créer le fichier CAB.

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

    La sortie de MakeCab 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/second
    
  6. Recherchez le fichier CAB dans le Disk1 sous-répertoire. Vous pouvez sélectionner le fichier CAB dans Explorateur de fichiers pour vérifier qu’il contient les fichiers attendus.

Signer le fichier CAB avec votre certificat EV

  1. Utilisez le processus recommandé par le fournisseur de certificats EV pour signer le fichier CAB avec votre certificat 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 à l’aide de l’Espace partenaires

  1. Accédez au tableau de bord matériel de l’Espace partenaires et connectez-vous à l’aide de vos informations d’identification.

  2. Sélectionnez Envoyer un nouveau matériel.

    Capture d’écran de la liste du matériel envoyé.

  3. Dans la section Packages et propriétés de signature, entrez un nom de produit pour votre soumission de pilote. Ce nom peut être utilisé pour rechercher et organiser vos soumissions de pilotes.

    Remarque

    Si vous partagez votre pilote avec une autre société, ils verront ce nom.

  4. Laissez les deux options de signature de test non case activée ed.

  5. Pour les signatures demandées, sélectionnez les signatures que vous souhaitez inclure dans votre package de pilotes.

    Capture d’écran montrant les options permettant d’envoyer le pilote echo pour la signature.

  6. Descendez dans la page, puis sélectionnez Envoyer.

  7. Une fois le processus de signature terminé, téléchargez votre pilote signé à partir du tableau de bord matériel.

Vérifiez que le pilote a été correctement signé

Effectuez les étapes suivantes pour vous assurer que le pilote a été correctement signé.

  1. Une fois que vous avez téléchargé le fichier de soumission, extrayez le fichier de pilote.

  2. Ouvrez une fenêtre d’invite de commande en tant qu’Administrateur.

  3. Entrez la commande suivante pour vérifier que le pilote a été signé comme prévu.

    C:\Echo> SignTool verify Echo.Sys
    
  4. Pour répertorier des informations supplémentaires et vérifier toutes les signatures d’un fichier avec plusieurs signatures, entrez la commande suivante :

     C:\Echo> SignTool verify /pa /ph /v /d Echo.Sys
    
  5. Pour confirmer que les unités DKU du pilote effectuent les étapes suivantes.

    1. Ouvrez l’Explorateur Windows et recherchez le fichier binaire. Sélectionnez et maintenez la touche enfoncée (ou cliquez avec le bouton droit) sur le fichier, puis sélectionnez Propriétés.

    2. Sous l’onglet Signatures numériques, sélectionnez l’élément répertorié dans la liste Signature.

    3. Sélectionnez Détails, puis afficher le certificat.

    4. Sous l’onglet Détails , sélectionnez Utilisation améliorée de la clé.

Lorsque le pilote est démissionnaire par le tableau de bord, le processus suivant est utilisé.

  • Ajoute une signature incorporée Microsoft SHA2.
  • Si les fichiers binaires du pilote sont incorporés signés par le client avec leurs propres certificats, ces signatures ne seront pas remplacées.
  • Crée et signe un nouveau fichier catalogue avec un certificat MICROSOFT SHA2. Ce catalogue remplace tout catalogue existant fourni par le client.

Tester votre pilote sur Windows 10

Utilisez les instructions suivantes pour installer l’exemple de pilote.

  1. Ouvrez une fenêtre d’invite de commande en tant qu’Administrateur. Accédez à votre dossier de package de pilotes, puis entrez la commande suivante.

    C:\Echo> devcon install echo.inf root\ECHO
    
  2. Vérifiez que le processus d’installation du pilote n’affiche pas « Windows ne peut pas vérifier l’éditeur de ce logiciel de pilote ». Boîte de dialogue Sécurité Windows.

Créer une soumission avec plusieurs pilotes

Pour envoyer plusieurs pilotes en même temps :

  1. Créez un sous-répertoire pour chaque pilote, comme indiqué ci-dessous.

    Diagramme montrant un exemple de structure de répertoire de signature de pilote.

  2. Préparez un fichier d’entrée DDF de fichier CAB qui fait référence aux sous-répertoires. Voici à quoi cela doit ressembler :

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