J'ai des pilotes qui sont essentiellement libusb-win32 avec un nouveau fichier .inf Décrire les identifiants de produits / fournisseurs et des chaînes décrivant mon matériel. Cela fonctionne bien pour les fenêtres 32 bits, mais les versions 64 bits ont des problèmes; à savoir que Microsoft dans leur sagesse nécessite que tous les conducteurs soient signés numériquement. P>
Alors mes questions sont donc: p>
4 Réponses :
Vous pouvez utiliser Ce tutoriel qui ignore les pilotes non signés. Je ne pense pas que vous voulez payer parce que cela coûte quelque chose comme 400 USD!
Vous pouvez également exécuter CMD en tant qu'administrateur et exécuter ce qui suit: p>
bcdedit.exe -set loadoptions DDISABLE_INTEGRITY_CHECKS bcdedit.exe -set TESTSIGNING ON
J'avais certainement hâte de demander aux clients de démarrer en mode test ou de désactiver la signature. Tout d'abord, cela mettra la balise "Mode test" sur leur bureau qui pourrait être déroutant. Deuxièmement, vous les mettez dans une position où un code de noyau non signé et potentiellement non approuvé pourrait être chargé sur leur système.
Vaut la peine d'indiquer le bcdedit.exe -set loadoptions ddisable_integrity_checks code> ne fonctionne pas après Vista RTM.
Il semble que BCDEDIT.EXE -SET -Set TestSIGNING sur ne fonctionne pas sur Win7 X64 également.
Vous pourriez être capable de vous échapper avec essayer le libusb-winusb version de libusb qui essaie de Implémentez la plupart des fonctionnalités existantes autour du pilote WinUSB (qui est une MS Binary signée, vous n'avez donc pas besoin de le faire vous-même). Cependant, YMMV AS WINUSB n'a pas de carte de 100% pour toutes les fonctionnalités requises dans LIBUSB. P>
Il y a deux problèmes distincts à portée de main: p>
Si vous prenez un pilote existant signé par une autre entité (que ce soit Microsoft Winusb ou Libusb-Win32), cela satisfera KMCS. P>
En ce qui concerne l'installation du pilote, vous auriez besoin de votre propre certificat de signature de code pour signer un fichier .CAT, qui vérifie que votre fichier .inf et les fichiers qu'il fait référence (par exemple, vos fichiers .sys) n'ont pas été modifiés et viennent vraiment de vous. C'est un peu moins problématique, car il est différent du KMCS (qui arrête votre pilote de chargement), il n'empêchera pas votre conducteur d'être installé, mais simplement présenter un avertissement à l'utilisateur. P>
Un certificat de signature de code ( Assurez-vous qu'il prend en charge les KMCS! strong>) vous coûtera des centaines d'USD, dépend de la CA que vous choisissez. Certains pourraient avoir des plans qui vous permettent de payer par l'événement de signature plutôt que dans le monde entier par an. Si vous n'avez pas besoin de libérer de nombreuses versions, cela pourrait être moins cher pour vous. P>
À partir de Windows 8, je pense que les fichiers INF doivent également être signés. Avant Windows 8, vous avez été correct; Il était possible de libérer des pilotes non signés utilisant WinUSB ou USBSER.SYS avec juste un avertissement que l'éditeur n'a pas pu être vérifié.
@DAVIDGRAYSON, le fichier INF doit également être signé sous Windows 7, mais pas nécessairement avec un certificat authentrice à partir d'une autorité de ca. connue. Cette politique a-t-elle changé? Pouvez-vous me signaler à tout document MSDN ou blog?
Désolé, je n'ai pas de document MSDN pour vous indiquer, mais j'ai l'expérience de livrer avec succès des pilotes totalement non signés à des milliers de clients utilisant XP / Vista / 7. L'existence de cette boîte de dialogue dans Windows Vista / 7 devrait également être assez convaincante pour vous:
Droit, à droite. Quel type de signature Windows 8 attend sur le fichier de catalogue alors?
Voir kmSigning.doc. Il doit être enchaîné à un certificat dans les autorités de certification de la racine de confiance.
Selon mes recherches, cela pourrait coûter moins de 266 USD pour avoir signé un pilote de périphérique. Je crois comprendre que seule une entreprise peut avoir un pilote signé. Ils ne le feront pas pour les individus. p>
Réf .: certificats de signature de code de certificat em> p>